Check-in [efb03acc0d]
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:initial import of basic port collections 20120416
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: efb03acc0d9ded7d8da422abad912189d7c1169e
User & Date: honza 2012-04-16 21:32:15
Context
2012-04-18
12:16
dcraw depends on jasper check-in: 4fac808dcb user: honza tags: trunk
2012-04-16
21:32
initial import of basic port collections 20120416 check-in: efb03acc0d user: honza tags: trunk
19:50
initial empty check-in check-in: 6d76d1eb1f user: honza tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Added README.rst.







>
>
>
1
2
3
sync::

	for D in core core-x86_64 opt opt-x86_64 contrib contrib-x86_64 xorg; do httpup sync http://crux.nu/ports/crux-2.7/${D}/ ${D}; done

Added contrib-x86_64/README.



>
1
This is the contrib ports repository for the x86_64 architecture.

Added contrib-x86_64/libreoffice/Pkgfile.











































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# Description: full featured cross platform office suite (binary)
# URL: http://www.libreoffice.org
# Maintainer: Bartlomiej Palmowski, rotwang at crux dot org dot pl
# Depends on: mesa3d xorg-libxaw xorg-libxcursor xorg-libxft xorg-libxinerama xorg-libxi xorg-libxrandr

name=libreoffice
version=3.4.5
release=1
source=(http://ftp.tu-chemnitz.de/pub/tdf/$name/stable/$version/rpm/x86_64/LibO_${version}_Linux_x86-64_install-rpm_en-US.tar.gz)

build() {
    local workd="$SRC/tmp_work"
    mkdir $workd

    cd LibO*/RPMS
    for rpm in *.rpm; do
        bsdtar -p -o -C $workd -xf $rpm
    done
    cd desktop-integration
    bsdtar -p -o -C $workd -xf \
        $name${version%.*}-freedesktop-menus-${version%.*}-*.noarch.rpm

    cd $workd
    mkdir -p $PKG/usr/lib/$name
    mv opt/$name*/* $PKG/usr/lib/$name

    cd $PKG/usr/lib/$name
    ln -sf basis${version%.*} basis-link

    mkdir -p $PKG/usr/bin
    local programs=(sbase scalc sdraw simpress smath soffice spadmin swriter)
    for program in ${programs[@]}; do
        ln -sf /usr/lib/$name/program/$program $PKG/usr/bin/$program
    done

    mkdir -p $PKG/usr/share/applications
    cd $PKG/usr/lib/$name/share/xdg/
    sed -i '/^Exec=/s/libreoffice-printeradmin/spadmin/' printeradmin.desktop
    for desktop in *.desktop; do
       sed -i '/^Exec=/s/libreoffice[^ ]*/soffice/' $desktop
       ln -sf /usr/lib/$name/share/xdg/$desktop $PKG/usr/share/applications/$desktop 
    done
    mv $workd/usr/share/{mime,icons} $PKG/usr/share

    find $PKG \(\
        -iname '*readme*' -o \
        -iname '*changelog*' -o \
        -name '*TODO*' -o \
        -iname '*news*' -o \
        -iname '*license*' -o \
        -iname '*credits*' \
     \) -exec rm -rf '{}' \; || true
}

Added contrib-x86_64/libreoffice/post-install.













>
>
>
>
>
>
1
2
3
4
5
6
#!/bin/bash

set -x
update-mime-database /usr/share/mime
update-desktop-database
gtk-update-icon-cache /usr/share/icons/hicolor/

Added contrib-x86_64/opera/Pkgfile.















































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# Description: Lightweight web browser with news, e-mail and IRC.
# URL: http://www.opera.com/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Olle Gustafsson, ogg at linux dot se
# Arch Maintainer: Predrag Ivanovic, predivan at open dot telekom dot rs
# Depends on: qt4

name=opera
version=11.62
release=1
source=(http://ftp.heanet.ie/pub/opera/linux/${version//./}/$name-$version-1347.x86_64.linux.tar.xz)

build() {
	cd $name-$version-*

	mv share/doc/opera/LICENSE $SRC/
	rm -rf share/doc/opera
	rm -rf share/opera/package

	# Replace PREFIX and SUFFIX in various files
	sed -i \
		-e "s:@@{PREFIX}:/usr:g" \
		-e "s:@@{SUFFIX}::g" \
		-e "s:@@{_SUFFIX}::g" \
		-e "s:@@{USUFFIX}::g" \
		share/mime/packages/opera-widget.xml \
		share/man/man1/* \
		share/applications/opera-browser.desktop \
		share/applications/opera-widget-manager.desktop

	# Recreate wrappers
	rm opera
	echo '#!/bin/bash' > opera
	echo 'export OPERA_DIR=/usr/share/opera' >> opera
	echo 'export OPERA_PERSONALDIR="${HOME}/.opera"' >> opera
	echo 'exec /usr/lib/opera/opera "$@"' >> opera

	install -m 0755 -D opera $PKG/usr/bin/opera

	rm opera-widget-manager
	echo '#!/bin/bash' > opera-widget-manager
	echo 'exec /usr/bin/opera --widgetmanager "$@"' >> opera-widget-manager

	install -m 0755 -D opera-widget-manager $PKG/usr/bin/opera-widget-manager

	# Install data
	install -d $PKG/usr/{lib,share}
	cp -r lib/opera $PKG/usr/lib/
	cp -r share/applications $PKG/usr/share/
	cp -r share/icons $PKG/usr/share/
	cp -r share/man $PKG/usr/man/
	cp -r share/mime $PKG/usr/share/
	cp -r share/opera $PKG/usr/share/

	# remove license.txt symlinks to doc directory
	# which we remove
	rm \
		$PKG/usr/lib/opera/plugins/README \
		$PKG/usr/share/opera/locale/en/license.txt \
		$PKG/usr/share/opera/defaults/license.txt

	cp $SRC/LICENSE \
                $PKG/usr/share/opera/defaults/license.txt

	ln $PKG/usr/share/opera/defaults/license.txt \
		$PKG/usr/share/opera/locale/en/license.txt

	find  "$PKG/usr/share/opera/locale/" \
		-mindepth 1 -maxdepth 1 -type d \
		-not -name en -exec rm -r {} +
}

Added contrib-x86_64/virtualbox-bin/Pkgfile.















































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# Description: Virtualisation software for x86 hardware (binary version, non-GPL)
# URL:         http://www.virtualbox.org
# Packager:    Nathan Pardoe, nathan at poolofrandomness dot com
# Maintainer:  Pedja, predivan at open dot telekom dot rs
# Depends on:  libidl,libxslt,libsdl,xorg-libxinerama,xorg-libxcursor

name=virtualbox-bin
version=4.1.12-77245
release=1
source=(http://download.virtualbox.org/virtualbox/4.1.12/VirtualBox-$version-Linux_amd64.run \
        vbox_build_module)

build () {
   sh VirtualBox-${version}-Linux_amd64.run --keep --noexec --target $SRC/
   mkdir -p $PKG/opt/VirtualBox $PKG/etc/vbox $PKG/usr/bin $PKG/etc/udev/rules.d/ $PKG/usr/share/applications/ $PKG/usr/share/pixmaps/

   cd $PKG/opt/VirtualBox
   tar xfj $SRC/VirtualBox.tar.bz2
   install -m 755 $SRC/vbox_build_module $PKG/usr/bin/

   rm -Rf $PKG/opt/VirtualBox/sdk

   ln -s /opt/VirtualBox/VBox.sh $PKG/usr/bin/VirtualBox
   ln -s /opt/VirtualBox/VBox.sh $PKG/usr/bin/VBoxManage
   ln -s /opt/VirtualBox/VBox.sh $PKG/usr/bin/VBoxSDL
   ln -s /opt/VirtualBox/VBox.sh $PKG/usr/bin/VBoxVRDP
   ln -s /opt/VirtualBox/VBox.png $PKG/usr/share/pixmaps/VBox.png
   ln -s /opt/VirtualBox/virtualbox.desktop $PKG/usr/share/applications/VirtualBox.desktop
   sed -i -e 's/sudo \/etc\/init.d\/vboxdrv setup/\/usr\/bin\/vbox_build_module/g' $PKG/opt/VirtualBox/VBox.sh
   sed -i -e 's/sudo \/etc\/init.d\/virtualbox restart/modprobe vboxdrv/g' $PKG/opt/VirtualBox/VBox.sh

   # use system QT
   rm libQtCoreVBox.so.4 libQtGuiVBox.so.4 libQtNetworkVBox.so.4 libQtOpenGLVBox.so.4
   rm accessible/libqtaccessiblewidgets.so
   ln -s /usr/share/qt4/lib/libQtCore.so.4 libQtCoreVBox.so.4
   ln -s /usr/share/qt4/lib/libQtGui.so.4 libQtGuiVBox.so.4
   ln -s /usr/share/qt4/lib/libQtNetwork.so.4 libQtNetworkVBox.so.4
   ln -s /usr/share/qt4/lib/libQtOpenGL.so.4 libQtOpenGLVBox.so.4
   ln -s /usr/share/qt4/plugins/accessible/libqtaccessiblewidgets.so accessible/libqtaccessiblewidgets.so 
      
   for n in VBoxVMM.so VBoxREM.so VBoxRT.so VBoxDDU.so VBoxXPCOM.so; do
         ln -sf /opt/VirtualBox/${n} components
   done
   chmod go-w .

   # remove junk
   rm VBoxPython2_{3,4,5,6}.so
   find nls -type f ! -name '*en*' -exec rm -f {} \; 
 
   echo "KERNEL==\"vboxdrv\", NAME=\"vboxdrv\", OWNER=\"root\", GROUP=\"vboxusers\", MODE=\"0660\"" > $PKG/etc/udev/rules.d/60-vboxdrv.rules

   echo "# VirtualBox installation directory" > $PKG/etc/vbox/vbox.cfg
   echo "INSTALL_DIR="\"/opt/VirtualBox\" >> $PKG/etc/vbox/vbox.cfg
   chmod 4511 $PKG/opt/VirtualBox/{VirtualBox,VBoxSDL,VBoxHeadless}
}

Added contrib-x86_64/virtualbox-bin/README.





>
>
1
2
Virtualbox seems to need libcap.so.1. On newer CRUX systems libcap.so.2 is provided. 
Symlinking libcap.so.1 to .2 seems to stop the complaining.

Added contrib-x86_64/virtualbox-bin/post-install.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/bin/sh
# post-install script for virtualbox-bin

# check for vboxusers group or add one if not exists
/usr/bin/getent group vboxusers || /usr/sbin/groupadd vboxusers

chmod +x vbox_build_module
sh vbox_build_module
udevcontrol reload_rules
depmod -a
modprobe vboxdrv

echo "To rebuild the kernel module after kernel updates, run /usr/bin/vbox_build_module"
echo "Add any users you wish to be able to use VirtualBox to the vboxusers group"
echo "Add a modprobe line for \"vboxdrv\" to /etc/rc.modules to ensure the VirtualBox module is loaded at boot"
echo "Reboot after installing virtualbox-bin for the first time to ensure that /dev/vboxdrv permissions are correct"

# End of File

Added contrib-x86_64/virtualbox-bin/vbox_build_module.









>
>
>
>
1
2
3
4
#!/bin/bash
echo "Building Virtualbox kernel modules for kernel $(uname -rv)"
cd /opt/VirtualBox/src/vboxhost
make clean && make && make install

Added contrib/README.



>
1
Add information about the contrib repository

Added contrib/abe/Pkgfile.































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# Description: A fun platform game exploring a pyramid.
# URL: http://abe.sourceforge.net/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: James Mills, prologic at shortcircuit dot net dot au
# Depends on: sdl_mixer xorg-libxi xorg-libxmu

name=abe
version=1.1
release=2
source=(http://downloads.sourceforge.net/project/$name/$name/$name-$version/$name-$version.tar.gz)

build() {
   cd $name-$version

   ./configure \
      --prefix=$PKG/usr \
      --with-data-dir=/usr/share/abe

   install -d \
		$PKG/usr/bin \
		$PKG/usr/share/abe/images \
		$PKG/usr/share/abe/sounds \
		$PKG/usr/share/abe/maps

   make
	make prefix=$PKG/usr install

	install -m 0644 -t $PKG/usr/share/abe/images/ images/*
   install -m 0644 -t $PKG/usr/share/abe/sounds/ sounds/*
   install -m 0644 -t $PKG/usr/share/abe/maps/ maps/*
}

Added contrib/abook/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: Text-based addressbook program designed to use with mutt.
# URL:         http://abook.sourceforge.net/
# Maintainer:  Juergen Daubert, juergen dot daubert at t-online dot de
# Packager:    James Mills, prologic at shortcircuit dot net dot au

name=abook
version=0.6.0pre2
release=1
source=(http://$name.sourceforge.net/devel/$name-$version.tar.gz)

build() {
   cd $name-$version
   ./configure --prefix=/usr
   make
   make DESTDIR=$PKG install
   rm -r $PKG/usr/share/
}

Added contrib/ack/Pkgfile.





























>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# Description:  tool like grep, aimed at programmers with large trees of heterogeneous source code
# URL:          http://betterthangrep.com/
# Maintainer:   Bartlomiej Palmowski, rotwang at crux dot org dot pl

name=ack
version=1.96
release=1
source=(http://betterthangrep.com/$name-standalone)

build() {
    install -D -m 0755 $name-standalone $PKG/usr/bin/$name
    mkdir -p $PKG/usr/man/man1
    pod2man $PKG/usr/bin/$name > $PKG/usr/man/man1/$name.1
}

Added contrib/acpid/Pkgfile.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Description: Advanced Configuration and Power Interface event management daemon with netlink suppport
# URL: http://tedfelix.com/linux/acpid-netlink.html
# Maintainer: Mikhail Kolesnik, mike at openbunker dot org

name=acpid
version=2.0.13
release=1
source=(http://www.tedfelix.com/linux/$name-$version.tar.gz \
		acpid.rc default default.sh)

build() {
	cd $name-$version
	make
	make DESTDIR=$PKG MANDIR=/usr/man install
	install -D -m 755 $SRC/acpid.rc   $PKG/etc/rc.d/acpid
	install -D -m 755 $SRC/default.sh $PKG/etc/acpi/default.sh
	install -D -m 644 $SRC/default    $PKG/etc/acpi/events/default
	rm -rf $PKG/usr/share
	cd kacpimon
	make -f makefile
	make SBIN=$PKG/usr/sbin install
	install -D -m 644 kacpimon.8 $PKG/usr/man/man8/kacpimon.8
}

Added contrib/acpid/acpid.rc.





































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#!/bin/sh
######################################################################
# acpid: starts/stops ACPI daemon
######################################################################

daemon="/usr/sbin/acpid"
options="-c /etc/acpi/events"

######################################################################
# Start/Stop/Reload/Status Functions
######################################################################
start() {
	if [ -e /proc/acpi ]; then
		# call acpid with default config/logfiles
		$daemon $options
		return $?
	fi
}
stop() {
        pkill -o -x ${daemon##*/}
        return $?
}
reload() {
        pkill -HUP -o -x ${daemon##*/}
        return $?
}
status() {
        base=${daemon##*/}
        dpid=`pidof -o $$ -o $PPID -o %PPID -x ${base}`
        if [ "$dpid" != "" ]; then
           echo "${base} (pid $dpid) is running..."
        elif [ -s /var/run/${base}.pid ]; then
           echo "${base} is dead but pid file exists..."
        else
           echo "${base} is stopped."
        fi
        return
}
######################################################################
# See how we were called
######################################################################
case "$1" in
       start) start      ;;
        stop) stop       ;;
      reload) reload     ;;
     restart) stop;start ;;
      status) status     ;;
           *) echo "Usage: $0 {start|stop|reload|restart|status}" ; exit 1
esac
exit $?

Added contrib/acpid/default.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# This is the ACPID default configuration, it takes all
# events and passes them to /etc/acpi/default.sh for further
# processing.

# event keeps a regular expression matching the event. To get
# power events only, just use something like "event=button power.*"
# to catch it.
# action keeps the command to be executed after an event occurs
# In case of the power event above, your entry may look this way:
#event=button power.*
#action=/sbin/init 0

# Optionally you can specify the placeholder %e. It will pass
# through the whole kernel event message to the program you've
# specified.

event=.*
action=/etc/acpi/default.sh %e

Added contrib/acpid/default.sh.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/bin/sh
# Default acpi script that takes an entry for all actions

set $*

case "$1" in
	button/power)
		case "$2" in
			PWRF)	/sbin/init 0
				;;
			*)	logger "ACPI action $2 is not defined"
				;;
		esac
		;;

	*)
		logger "ACPI group $1 / action $2 is not defined"
		;;
esac

Added contrib/aircrack-ng/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: Aircrack next generation
# URL: http://www.aircrack-ng.org/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Mattias Hedenskog, mattias at hedenskog dot se
# Depends on: openssl
# Nice to have: iw

name=aircrack-ng
version=1.1
release=1
source=(http://download.aircrack-ng.org/$name-$version.tar.gz)

build() {
  cd $name-$version
  make \
      prefix=/usr \
      SQLITE=false \
      REVISION=0 \
      DESTDIR=$PKG install
}

Added contrib/aircrack-ng/README.





























>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14

README for aircrack-ng


POST-INSTALL

1. The airmon-ng tool included in aircrack-ng requires 'iw' to be installed.
   Otherwise they will just abort with an error saying:
     ERROR: Neither the sysfs interface links nor the iw command is available.
     Please download and install iw from http://dl.aircrack-ng.org/iw.tar.bz2

   So, you can safely install 'iw' from contrib ports by doing:
   # ports -u contrib; prt-get install iw

Added contrib/airmix/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description:	Alsa mixer with OSD and LIRC control
# URL:		http://www.mizrahi.com.ve/projects/airmix/
# Maintainer:	Alan Mizrahi, alan at mizrahi dot com dot ve
# Depends:	alsa-lib
# Optional:	lirc

name=airmix
version=1.0
release=1
source=(http://www.mizrahi.com.ve/projects/$name/$name-$version.tar.gz)

build() {
	cd $name-$version
	make
	make DESTDIR=$PKG install
}

Added contrib/airoscript-ng/Pkgfile.





























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# Description: Sript to interact with aicrack-ng which allows WEP/WPA attacks
# URL: http://airoscript.aircrack-ng.org/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Jose V Beneyto, sepen at crux dot nu
# Depends on: aircrack-ng

name=airoscript-ng
version=1.1
release=1
source=(http://airoscript.googlecode.com/files/${name}_$version.tgz)

build() {
  cd $name

  sed -i Makefile-Linux \
      -e 's|bindir=.*|bindir=$(prefix)/bin|' \
      -e 's|mandir=.*|mandir=$(prefix)/man|' \
      -e 's|install-docs: .*|install-docs: install-manpages|' \
      -e '/install-locale \\/d'

  make -f Makefile-Linux install \
       prefix=$PKG/usr \
       bindir=$PKG/usr/bin \
       mandir=$PKG/usr/man \
       aircrack_prefix="\/usr"

  rm -rf $PKG/usr/share/{doc,locale,$name/airosperl}
  sed -e 's|usr/local|usr|g' \
      -i $PKG/usr/bin/$name $PKG/usr/etc/$name.conf
}

Added contrib/allegro/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: A multi-platform game programming library for C/C++.
# URL: http://alleg.sourceforge.net/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: sten, nick dot steeves at shaw dot ca
# Depends on: flac gtk libidn libvorbis mesa3d openal physfs xorg-libxpm xorg-libxxf86dga

name=allegro
version=5.0.6
release=1
source=(http://download.sourceforge.net/alleg/$name/$version/$name-$version.tar.gz)

build() {
	cd $name-$version

	cmake \
		-DCMAKE_INSTALL_PREFIX=/usr \
		-DCMAKE_BUILD_TYPE=Release .

	make
	make DESTDIR=$PKG install
}

Added contrib/allegro4/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description: A multi-platform game programming library for C/C++.
# URL: http://alleg.sourceforge.net/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: sten, nick dot steeves at shaw dot ca
# Depends on: alsa-lib cmake libidn libpng libvorbis xorg-libxcursor xorg-libxpm xorg-libxxf86dga xorg-libxxf86vm

name=allegro4
version=4.4.2
release=1
source=(http://download.sourceforge.net/alleg/allegro/$version/allegro-$version.tar.gz)

build() {
	cd allegro-$version

	cmake \
		-DCMAKE_INSTALL_PREFIX=/usr \
		-DCMAKE_BUILD_TYPE=Release .

	make
	make DESTDIR=$PKG install
	rm -r $PKG/usr/doc
}

Added contrib/amrnb/Pkgfile.





















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# Description: Wrapper library for 3GPP Adaptive Multi-Rate Narrowband Floating-point Speech Codec.
# URL: http://www.penguin.cz/~utx/amr
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com
# Depends on:

name=amrnb
version=7.0.0.2
release=1
source=(http://ftp.penguin.cz/pub/users/utx/amr/$name-$version.tar.bz2
	http://www.3gpp.org/ftp/Specs/archive/26_series/26.104/26104-700.zip)

build() {
	cd $name-$version
	cp $SRC/26104-700_ANSI_C_source_code.zip .
	sed -i -e 's|	$(MAKE) $(top_srcdir)/26104-700_ANSI_C_source_code.zip||' Makefile.in

	./configure \
		--prefix=/usr \
		--mandir=/usr/man \
		--disable-static

	make
	make DESTDIR=$PKG install
}

Added contrib/amrwb/Pkgfile.



















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# Description: Wrapper library for 3GPP Adaptive Multi-Rate Wideband Floating-point Speech Codec.
# URL: http://www.penguin.cz/~utx/amr
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com

name=amrwb
version=7.0.0.4
release=1
source=(http://ftp.penguin.cz/pub/users/utx/amr/$name-$version.tar.bz2
	http://www.3gpp.org/ftp/Specs/archive/26_series/26.204/26204-700.zip)

build() {
	cd $name-$version
	cp $SRC/26204-700_ANSI-C_source_code.zip .
	sed -i -e 's|	$(MAKE) $(top_srcdir)/26204-700_ANSI-C_source_code.zip||' Makefile.in

	./configure \
		--prefix=/usr \
		--mandir=/usr/man \
		--disable-static

	make
	make DESTDIR=$PKG install
}

Added contrib/amsn/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: MSN Messenger Client for Linux.
# URL: http://amsn.sourceforge.net
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: James Mills, prologic at shortcircuit dot net dot au
# Depends on: tk libjpeg libpng

name=amsn
version=0.98.4
release=1
source=(http://download.sourceforge.net/$name/$name/$version/$name-$version-src.tar.bz2)

build() {
  cd $name-$version
  ./configure --prefix=/usr \
              --with-x
  make
  make DESTDIR=$PKG install
  rm -rf $PKG/usr/share/amsn/{AGREEMENT,CREDITS,FAQ,GNUGPL,HELP,INSTALL} \
         $PKG/usr/share/amsn/{TODO,docs,README,plugins/*/READM{E,E.txt}} \
         $PKG/usr/share/amsn/utils/*/{LICENSE.txt,license.terms}
}

Added contrib/amsn/README.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

README for amsn


In order to make an Audio Call in aMSN, you will need to have the following
dependencies installed on your system :

 - glib (>= 2.16)
 - gstreamer (>= 0.10.23)
 - gst-plugins-base (>= 0.10.23)
 - gst-plugins-good (>= 0.10.15)
 - gst-plugins-bad (>= 0.10.13)
 - libnice (>= 0.0.9)
 - farsight2 (>= 0.0.13)


Libnice and farsight2 can be obtained from:

  http://nice.freedesktop.org/releases/
  http://farsight.freedesktop.org/releases/farsight2/


To get more information, just read http://www.amsn-project.net/wiki/Farsight

Added contrib/amule/Pkgfile.





















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# Description: An all-platform Edonkey client.
# URL: http://www.amule.org/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Antti Nykanen, aon at iki dot fi
# Depends on: crypto++ util-linux-ng wxgtk

name=amule
version=2.3.1
release=1
source=(http://downloads.sourceforge.net/project/amule/aMule/$version/aMule-$version.tar.xz)

build() {
	cd aMule-$version

	export CFLAGS="${CFLAGS//-fstack-protector/}"
	export CXXFLAGS="${CXXFLAGS//-fstack-protector/}"

	./configure \
		--prefix=/usr \
		--mandir=/usr/man \
		--disable-nls

	make
	make install DESTDIR=$PKG
	rm -r $PKG/usr/share/doc
}

Added contrib/analog/Pkgfile.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Description: Very fast analyser for web server logfiles
# Maintainer:  Juergen Daubert, juergen dot daubert at t-online dot de
# URL:         http://www.analog.cx/

name=analog
version=6.0
release=2
source=(http://www.analog.cx/$name-$version.tar.gz \
        $name-$version.patch)

build(){
   cd $name-$version
   patch -p1 < ../$name-$version.patch
   make
   install -D -m 755 analog $PKG/usr/bin/analog
   install -D -m 644 analog.man $PKG/usr/man/man1/analog.1
   install -D -m 755 anlgform.pl $PKG/var/www/cgi-bin/anlgform.pl
   install -D -m 644 anlgform.html $PKG/var/www/htdocs/anlgform.html
   install -D -m 644 analog.cfg $PKG/usr/etc/analog/analog.cfg
   mkdir -p $PKG/usr/share/analog/{images,lang}
   cp lang/uk*.* $PKG/usr/share/analog/lang
   cp images/*.png $PKG/usr/share/analog/images
   chown -R root.root $PKG
}

Added contrib/analog/README.



















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
README for analog 6.xx

REQUIREMENTS

PRE-INSTALL
   
POST-INSTALL

To use /var/www/htdocs/anlgform.html or the cgi-wrapper 
/var/www/cgi-bin/anlgform.pl for producing realtime statistics, 
you must create an alias pointing from a virtuell directory 
analog below your document root to the image directory of analog 
at /usr/share/analog/images.

If you are using apache add something like the following to your
/etc/apache/httpd.conf:

  alias /analog/ "/usr/share/analog/images/"
  <Directory "/usr/share/analog/images/">
    Order deny,allow
    Deny from all
    Allow from 192.168.0.
  </Directory>
	    
PRECAUTION

Added contrib/analog/analog-6.0.patch.

















































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
diff -Nru analog-6.0.orig/analog.cfg analog-6.0/analog.cfg
--- analog-6.0.orig/analog.cfg	2004-12-21 09:41:49.000000000 +0100
+++ analog-6.0/analog.cfg	2004-12-21 10:36:54.000000000 +0100
@@ -10,7 +10,7 @@
 #
 # If you need a LOGFORMAT command (most people don't -- try it without first!),
 # it must go here, above the LOGFILE commands.
-LOGFILE logfile.log
+LOGFILE /var/log/apache/access_log
 # LOGFILE /old/logs/access_log.*
 # OUTFILE Report.html
 # HOSTNAME "[my organisation]"
diff -Nru analog-6.0.orig/anlgform.html analog-6.0/anlgform.html
--- analog-6.0.orig/anlgform.html	2004-12-21 09:41:49.000000000 +0100
+++ analog-6.0/anlgform.html	2004-12-21 10:41:27.000000000 +0100
@@ -5,7 +5,7 @@
 </head>
 
 <body>
-<h1><!-- img src="/images/analogo.gif" alt="" --> Analog form interface</h1>
+<h1><img src="/analog/analogo.png" alt=""> Analog form interface</h1>
 
 <!-- This version is in British English. Forms in other languages can be -->
 <!-- found in the "lang" folder or directory. -->
@@ -16,11 +16,11 @@
 
 <!-- Next, uncomment the following line, edited to reflect the correct -->
 <!-- location of anlgform.pl in you server's filespace. -->
-<!-- form action="/cgi-bin/anlgform.pl" method="POST" -->
+<form action="/cgi-bin/anlgform.pl" method="POST">
 
 <!-- Many systems will want the IMAGEDIR to be different on the form -->
 <!-- than from the command line, because it should not be within /cgi-bin/ -->
-<!-- input type=hidden name="IMAGEDIR" value="/images/" -->
+<input type=hidden name="IMAGEDIR" value="/analog/">
 
 <!-- Some users will want to set their logfile like this. -->
 <!-- input type=hidden name="LOGFILE" value="/usr/local/etc/httpd/logs/access_log" -->
@@ -30,11 +30,6 @@
 <hr>
 <h2>1. Report choices</h2>
 
-<strong><font color=red>N.B. This form will not work - e.g. the buttons may
-not even appear - until you've configured it according to the instructions.
-When you've configured it, you should remove this paragraph.<br>
-</font></strong>
-
 <i>See <a href="http://www.analog.cx/">the analog
 home page</a> for the meanings of the various reports.</i>
 
diff -Nru analog-6.0.orig/anlgform.pl analog-6.0/anlgform.pl
--- analog-6.0.orig/anlgform.pl	2004-12-21 09:41:49.000000000 +0100
+++ analog-6.0/anlgform.pl	2004-12-21 09:57:38.000000000 +0100
@@ -18,7 +18,9 @@
 
 # 1) uncomment (remove everything before $analog) and edit one of the next two
 #    lines to give the location (full pathname) of the analog executable.
-#       Unix: $analog = '/usr/local/etc/httpd/analog-6.0/analog';
+
+$analog = '/usr/bin/analog';
+
 #       Windows: $analog = 'C:\program files\analog 6.0\analog.exe';
 # 2) If you're on Unix, edit the first line in this file to give the location
 #    of Perl (don't remove the #! though).
diff -Nru analog-6.0.orig/src/Makefile analog-6.0/src/Makefile
--- analog-6.0.orig/src/Makefile	2004-12-21 09:41:49.000000000 +0100
+++ analog-6.0/src/Makefile	2004-12-21 10:49:21.543558589 +0100
@@ -5,7 +5,7 @@
 CC = gcc           # which compiler to use: eg cc, acc, gcc. NB Different
 #                    compilers need different CFLAGS, e.g., -O instead of -O2.
 MAKE = make        # which "make" to use
-CFLAGS = -O2    # options, e.g. for optimisation or ANSI compilation.
+#CFLAGS = -O2    # options, e.g. for optimisation or ANSI compilation.
 #                 Some OS's need -D_FILE_OFFSET_BITS=64 to support files > 2MB.
 #                 HP/UX cc needs CFLAGS = -Aa (HP/UX 9) or -Ae (HP/UX 10)
 #                 BeOS needs CFLAGS = -O2 -Wl,-L/boot/home/config/lib
diff -Nru analog-6.0.orig/src/anlghead.h analog-6.0/src/anlghead.h
--- analog-6.0.orig/src/anlghead.h	2004-12-21 09:41:49.000000000 +0100
+++ analog-6.0/src/anlghead.h	2004-12-21 10:32:15.000000000 +0100
@@ -47,7 +47,7 @@
 #endif
 
 #ifndef IMAGEDIR
-#define IMAGEDIR "images/"
+#define IMAGEDIR "/analog/"
 /* URL of the directory where the images for the graphical reports live.
    The URL can be absolute, or relative to the output page: e.g., just the
    empty string "" for the same directory as the output page. */
@@ -93,13 +93,13 @@
    directory. This may or may not work, so it's better to specify a location
    explicitly here if you know where the files will be kept. */
 #ifndef LANGDIR
-#define LANGDIR NULL
+#define LANGDIR "/usr/share/analog/lang/"
 #endif
 /* Directory where the language files live. Actually, if this one is defined
    to be NULL, they will be looked for inside the "lang" subdirectory of the
    directory containing the analog binary. */
 #ifndef CONFIGDIR
-#define CONFIGDIR NULL
+#define CONFIGDIR "/usr/etc/analog/"
 #endif
 /* Directory containing configuration files. */
 #ifndef LOGSDIR

Added contrib/ant/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: Ant is a Java-based build tool.
# URL: http://ant.apache.org/
# Packager: Rune Stokka, rune at stokka dot no
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Depends on: jdk

name=ant
version=1.8.3
release=1
source=(http://www.apache.org/dist/ant/binaries/apache-$name-$version-bin.tar.bz2)

build() {
	cd apache-$name-$version
	install -d $PKG/usr/{bin,lib/ant}
	cp -rf * $PKG/usr/lib/ant
	ln -sf /usr/lib/ant/bin/ant $PKG/usr/bin/ant
	rm -r $PKG/usr/lib/ant/bin/*.bat
	rm -r $PKG/usr/lib/ant/{KEYS,LICENS*,README,NOTICE,WHATSNEW,INSTALL}
	rm $PKG/usr/lib/ant/lib/README
	rm -r $PKG/usr/lib/ant/manual
}

Added contrib/ant/README.











>
>
>
>
>
1
2
3
4
5
PRE-INSTALL

POST-INSTALL
add the following variable to your environment:
JAVA_HOME=/usr/lib/java

Added contrib/aqsis/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: Open Source implementation of the Renderman(R) standard
# URL: http://www.aqsis.org/
# Maintainer: Jose V Beneyto, sepen at users dot sourceforge dot net
# Packager: Jose V Beneyto, sepen at users dot sourceforge dot net
# Depends on: libtiff,fltk,bison,flex,boost,openexr,scons

name=aqsis
version=1.2.0
release=2
source=(http://download.sourceforge.net/${name}/${name}-${version}.tar.gz)

build() {
	cd ${name}-${version}
  scons destdir=${PKG} \
        install_prefix=/usr \
        sysconfdir=/usr/etc \
		    fltk_include_path=/usr/include/FL \
        build
  scons install
}

Added contrib/arora/Pkgfile.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Description: Cross platform web browser
# URL: http://arora.googlecode.com
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Jose V Beneyto, sepen at crux dot nu
# Depends on: qt4

name=arora
version=0.11.0
release=1
source=(http://arora.googlecode.com/files/$name-$version.tar.gz)

build() {
  cd $name-$version
  find . -type f -name '*.pro' -exec \
    sed -e '/include(locale/d' \
        -e '/man.*/ s/$$DATADIR/$$PREFIX/' \
        -i {} \;

  qmake PREFIX=/usr QMAKE_CXXFLAGS="$CXXFLAGS"
  make

  make INSTALL_ROOT=$PKG install
  sed -r '/\[.+\]=/d' -i $PKG/usr/share/applications/$name.desktop
}

Added contrib/arpon/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: daemon and tools to handle all ARP aspects
# URL:         http://arpon.sf.net
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Depends on:  libdnet

name=arpon
version=2.7
release=1
source=(http://download.sourceforge.net/$name/ArpON-$version.tar.gz \
        arpon)

build() {
    install arpon -D $PKG/etc/rc.d/arpon
    cd  ArpON-$version
    gcc -g -Wall -Werror  -lpthread -lpcap -ldnet -lnet -L/usr/lib\
        -I/usr/include -DLINUX -o arpon src/arpon.c /usr/lib/libpcap.a\
        /usr/lib/libnet.a /usr/lib/libdnet.a
    install -D arpon $PKG/usr/sbin/arpon
    install -D man8/arpon.8 $PKG/usr/man/man8/arpon.8
}

Added contrib/arpon/arpon.





















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#! /bin/sh
#
# /etc/rc.d/arpon: start/stop/restart/reload the arpon daemon
#


case $1 in
start)
  /usr/sbin/arpon -ysdg -f /var/log/arpon.log 1>>/var/log/arpon.log
  ;;
stop)
  TEST=`pidof /usr/sbin/arpon`
  if [ "$TEST" != "" ] ; then
    kill -TERM $TEST
  fi
  ;;
restart)
  $0 stop
  $0 start
  ;;
*)
  echo "Usage: $0 [start|stop|restart]"
  exit 1
  ;;
esac

Added contrib/arpwatch/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: Monitors MAC Adresses on your network.
# URL:         http://freequaos.host.sk/arpwatch/
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    James Mills, prologic at shortcircuit dot net dot au
#
# Depends on:  libpcap

name=arpwatch
version=1.7
release=1
source=(http://64.251.30.248/mirror_t2/8.0/a/$name-NG$version.tar.bz2)

build() {
   cd $name-NG$version
   ./configure --prefix=/usr
   install -d -m 0755 $PKG/usr/{man/man8,sbin}
   make && make DESTDIR=$PKG install
   install -d -m 0755 $PKG/usr/sbin
}

Added contrib/asciidoc/Pkgfile.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Description: Text based document generation.
# URL: http://www.methods.co.nz/asciidoc/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Vincenzo Colosimo, vico at bicisport dot de
# Depends on: python docbook-xml docbook-xsl

name=asciidoc
version=8.6.7
release=1
source=(http://downloads.sourceforge.net/project/$name/$name/$version/$name-$version.tar.gz)

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--mandir=/usr/man \
		--sysconfdir=/usr/etc

	make
	make DESTDIR=$PKG install
	rm $PKG/usr/etc/asciidoc/images/icons/README
}

Added contrib/aspell-es/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description:	Spanish dictionary for aspell
# URL:		http://aspell.net
# Maintainer:	Alan Mizrahi, alan at mizrahi dot com dot ve
# Depends on:	aspell

name=aspell-es
version=1.11-2
release=1
source=(ftp://ftp.gnu.org/gnu/aspell/dict/es/aspell6-es-$version.tar.bz2)

build () {
	cd aspell6-es-$version
	./configure
	make
	make DESTDIR=$PKG install
}

Added contrib/aspell-ru/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: Russian dictionary for aspell
# URL: http://aspell.net
# Maintainer: Mikhail Kolesnik, mike at openbunker dot org
# Packager: Evgeny Kozhemyakin, evg at net21 dot ru
# Depends on: aspell

name=aspell-ru
version=0.99f7-1
release=1
source=(http://mirrors.sunsite.dk/gnu/aspell/dict/ru/aspell6-ru-$version.tar.bz2)

build () {
	cd aspell6-ru-$version
	./configure
	make
	make DESTDIR=$PKG install
}

Added contrib/aspell-uk/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: Ukrainian dictionary for aspell
# URL: http://aspell.net
# Maintainer: Mikhail Kolesnik, mike at openbunker dot org
# Packager: Oleksiy V. Khilkevich, centericq at ukr dot net
# Depends on: aspell

name=aspell-uk
version=1.4.0-0
release=1
source=(ftp://ftp.gnu.org/gnu/aspell/dict/uk/aspell6-uk-$version.tar.bz2)

build() {
	cd aspell6-uk-$version
	./configure 
	make
	make DESTDIR=$PKG install
}

Added contrib/asterisk-core-sounds-en-alaw/Pkgfile.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Description:	Asterisk core sounds
# URL:		http://www.asterisk.org
# Maintainer:   Alan Mizrahi, alan at mizrahi dot com dot ve
# Depends on:	asterisk

name=asterisk-core-sounds-en-alaw
version=1.4.22
release=1
source=(http://downloads.digium.com/pub/telephony/sounds/releases/$name-$version.tar.gz)

build () {
	mkdir -p $PKG/var/lib/asterisk/sounds
	rm {CHANGES,CREDITS,LICENSE}-asterisk-core-en-$version core-sounds-en.txt
	mv $SRC/* $PKG/var/lib/asterisk/sounds
}

Added contrib/asterisk-core-sounds-en-ulaw/Pkgfile.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Description:	Asterisk core sounds
# URL:		http://www.asterisk.org
# Maintainer:   Alan Mizrahi, alan at mizrahi dot com dot ve
# Depends on:	asterisk

name=asterisk-core-sounds-en-ulaw
version=1.4.22
release=1
source=(http://downloads.digium.com/pub/telephony/sounds/releases/$name-$version.tar.gz)

build () {
	mkdir -p $PKG/var/lib/asterisk/sounds
	rm {CHANGES,CREDITS,LICENSE}-asterisk-core-en-$version core-sounds-en.txt
	mv $SRC/* $PKG/var/lib/asterisk/sounds
}

Added contrib/asterisk-moh-opsound-alaw/Pkgfile.





























>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# Description:	Opensource music on hold samples for asterisk
# URL:		http://www.asterisk.org
# Maintainer:   Alan Mizrahi, alan at mizrahi dot com dot ve
# Depends on:	asterisk

name=asterisk-moh-opsound-alaw
version=2.03
release=1
source=(http://downloads.asterisk.org/pub/telephony/sounds/releases/$name-$version.tar.gz)

build () {
	mkdir -p $PKG/var/lib/asterisk/moh
	mv $SRC/*.${name##*-} $PKG/var/lib/asterisk/moh
}

Added contrib/asterisk-moh-opsound-ulaw/Pkgfile.





























>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# Description:	Opensource music on hold samples for asterisk
# URL:		http://www.asterisk.org
# Maintainer:   Alan Mizrahi, alan at mizrahi dot com dot ve
# Depends on:	asterisk

name=asterisk-moh-opsound-ulaw
version=2.03
release=1
source=(http://downloads.asterisk.org/pub/telephony/sounds/releases/$name-$version.tar.gz)

build () {
	mkdir -p $PKG/var/lib/asterisk/moh
	mv $SRC/*.${name##*-} $PKG/var/lib/asterisk/moh
}

Added contrib/asterisk/Pkgfile.

































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# Description:	PBX Software implementation
# URL:		http://www.asterisk.org
# Maintainer:   Alan Mizrahi, alan at mizrahi dot com dot ve
# Depends on:	openssl ncurses ilbc

name=asterisk
version=1.8.5.0
release=2
source=(
http://downloads.digium.com/pub/asterisk/releases/asterisk-$version.tar.gz
asterisk.rc
menuselect-tree
system-ilbc.patch
build-enable-ilbc.patch
build-enable-cdr-mysql.patch
build-disable-sounds-en-gsm.patch
build-disable-sounds-moh.patch
)

build () {
	cd asterisk-$version

	./configure --prefix=/usr --with-ncurses --with-ssl --disable-xmldoc --with-sounds-cache=/tmp

	# Normally this file is created by running the interactive menuselect program
	cp $SRC/menuselect-tree .

	# Use system's ilbc library
	patch -p1 -i $SRC/system-ilbc.patch

	# Add support for ILBC
	patch -p1 -i $SRC/build-enable-ilbc.patch

	# Add support for MySQL CDRs
	patch -p1 -i $SRC/build-enable-cdr-mysql.patch

	# Remove english gsm core sounds (sounds are in separate ports)
	patch -p1 -i $SRC/build-disable-sounds-en-gsm.patch

	# Remove music on hold files
	patch -p1 -i $SRC/build-disable-sounds-moh.patch

	make
	make DESTDIR=$PKG install
	make DESTDIR=$PKG samples

	mv $PKG/usr/share/man $PKG/usr
	install -m 755 -D $SRC/asterisk.rc $PKG/etc/rc.d/asterisk
	rmdir  $PKG/usr/share
	rm -rf $PKG/var/spool/asterisk/voicemail/default/1234

	# Remove empty directory holders
	rm -rf $PKG/var/lib/asterisk/sounds/*

	# change runtime dir
	sed -i -e 's|^astrundir => .*|astrundir => /var/run/asterisk|' $PKG/etc/asterisk/asterisk.conf
	mkdir -p $PKG/var/run/asterisk

	# fix permissions
	chown -R root:root $PKG
	chown -R asterisk:asterisk $PKG/var/{lib,log,run,spool}/asterisk
	chown -R root:asterisk $PKG/etc/asterisk
	chmod -R 640 $PKG/etc/asterisk
}

Added contrib/asterisk/asterisk.rc.

















































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#!/bin/sh
#
# /etc/rc.d/asterisk: start/stop/restart asterisk
#

USER=asterisk
GROUP=asterisk

case $1 in
start)
	cd /; /usr/sbin/asterisk -G $GROUP -U $USER
	;;
startdebug)
	/usr/sbin/asterisk -G $GROUP -U $USER -vvv
	;;
stop)
	[ -f /var/run/asterisk/asterisk.pid ] && kill `cat /var/run/asterisk/asterisk.pid`
	;;
stopnice)
	/usr/sbin/asterisk -r -x 'core stop gracefully'
	if [ -f /var/run/asterisk/asterisk.pid ]; then
		echo "not stopped"
		exit 1
	else
		echo "stopped"
		exit 0
	fi
	;;
restart)
	$0 stop
	sleep 2
	$0 start
	;;
restartnice)
	$0 stopnice && sleep 2 && $0 start
	;;
*)
	echo "usage: $0 [start|stop|restart]"
	;;
esac

Added contrib/asterisk/build-disable-sounds-en-gsm.patch.





















>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
--- asterisk-1.8.5.0/menuselect-tree.orig	2011-07-20 14:50:02.591561383 +0900
+++ asterisk-1.8.5.0/menuselect-tree	2011-07-20 14:54:47.151532938 +0900
@@ -943,7 +943,6 @@
 		<member name="CORE-SOUNDS-EN-ALAW" displayname="English, a-Law format">
 		</member>
 		<member name="CORE-SOUNDS-EN-GSM" displayname="English, GSM format" >
-			<defaultenabled>yes</defaultenabled>
 		</member>
 		<member name="CORE-SOUNDS-EN-G729" displayname="English, G.729 format">
 		</member>

Added contrib/asterisk/build-disable-sounds-moh.patch.





















>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
--- asterisk-1.8.5.0/menuselect-tree.orig	2011-07-20 14:50:02.591561383 +0900
+++ asterisk-1.8.5.0/menuselect-tree	2011-07-20 14:55:16.151530005 +0900
@@ -1030,7 +1030,6 @@
 	</category>
 	<category name="MENUSELECT_MOH" displayname="Music On Hold File Packages" positive_output="yes">
 		<member name="MOH-OPSOUND-WAV" displayname="opsound.org Music On Hold Files, WAV format" >
-			<defaultenabled>yes</defaultenabled>
 		</member>
 		<member name="MOH-OPSOUND-ULAW" displayname="opsound.org Music On Hold Files, mu-Law format" >
 		</member>

Added contrib/asterisk/build-enable-cdr-mysql.patch.























>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
--- asterisk-1.8.5.0/menuselect-tree.orig	2011-07-20 15:24:27.031354954 +0900
+++ asterisk-1.8.5.0/menuselect-tree	2011-07-20 15:25:45.208013934 +0900
@@ -11,7 +11,7 @@
 </member>
 <member name="cdr_mysql" displayname="MySQL CDR Backend" remove_on_change="addons/cdr_mysql.o addons/cdr_mysql.so">
 	<depend>mysqlclient</depend>
-	<defaultenabled>no</defaultenabled>
+	<defaultenabled>yes</defaultenabled>
 </member>
 <member name="chan_mobile" displayname="Bluetooth Mobile Device Channel Driver" remove_on_change="addons/chan_mobile.o addons/chan_mobile.so">
 	<depend>bluetooth</depend>

Added contrib/asterisk/build-enable-ilbc.patch.























>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
--- asterisk-1.8.5.0/menuselect-tree.orig	2011-07-20 14:50:02.591561383 +0900
+++ asterisk-1.8.5.0/menuselect-tree	2011-07-20 14:51:18.321553873 +0900
@@ -370,7 +370,7 @@
 	<depend>dahdi</depend>
 </member>
 <member name="codec_ilbc" displayname="iLBC Coder/Decoder" remove_on_change="codecs/codec_ilbc.o codecs/codec_ilbc.so">
-	<defaultenabled>no</defaultenabled>
+	<defaultenabled>yes</defaultenabled>
 </member>
 <member name="codec_ulaw" displayname="mu-Law Coder/Decoder" remove_on_change="codecs/codec_ulaw.o codecs/codec_ulaw.so">
 </member>

Added contrib/asterisk/menuselect-tree.





































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
<?xml version="1.0"?>

<menu name="Asterisk Module and Build Option Selection">
<category name="MENUSELECT_ADDONS" displayname="Add-ons (See README-addons.txt)" remove_on_change="addons/modules.link">
<member name="app_mysql" displayname="Simple Mysql Interface" remove_on_change="addons/app_mysql.o addons/app_mysql.so">
	<depend>mysqlclient</depend>
	<defaultenabled>no</defaultenabled>
</member>
<member name="app_saycountpl" displayname="Say polish counting words" remove_on_change="addons/app_saycountpl.o addons/app_saycountpl.so">
	<defaultenabled>no</defaultenabled>
</member>
<member name="cdr_mysql" displayname="MySQL CDR Backend" remove_on_change="addons/cdr_mysql.o addons/cdr_mysql.so">
	<depend>mysqlclient</depend>
	<defaultenabled>no</defaultenabled>
</member>
<member name="chan_mobile" displayname="Bluetooth Mobile Device Channel Driver" remove_on_change="addons/chan_mobile.o addons/chan_mobile.so">
	<depend>bluetooth</depend>
	<defaultenabled>no</defaultenabled>
</member>
<member name="chan_ooh323" displayname="Objective Systems H323 Channel" remove_on_change="addons/chan_ooh323.o addons/chan_ooh323.so">
	<defaultenabled>no</defaultenabled>
</member>
<member name="format_mp3" displayname="MP3 format [Any rate but 8000hz mono is optimal]" remove_on_change="addons/format_mp3.o addons/format_mp3.so">
	<defaultenabled>no</defaultenabled>
</member>
<member name="res_config_mysql" displayname="MySQL RealTime Configuration Driver" remove_on_change="addons/res_config_mysql.o addons/res_config_mysql.so">
	<depend>mysqlclient</depend>
	<defaultenabled>no</defaultenabled>
</member>
</category>
<category name="MENUSELECT_APPS" displayname="Applications" remove_on_change="apps/modules.link">
<member name="app_speech_utils" displayname="Dialplan Speech Applications" remove_on_change="apps/app_speech_utils.o apps/app_speech_utils.so">
</member>
<member name="app_dial" displayname="Dialing Application" remove_on_change="apps/app_dial.o apps/app_dial.so">
	<depend>chan_local</depend>
</member>
<member name="app_osplookup" displayname="Open Settlement Protocol Applications" remove_on_change="apps/app_osplookup.o apps/app_osplookup.so">
	<depend>osptk</depend>
	<depend>openssl</depend>
</member>
<member name="app_queue" displayname="True Call Queueing" remove_on_change="apps/app_queue.o apps/app_queue.so">
	<use>res_monitor</use>
</member>
<member name="app_softhangup" displayname="Hangs up the requested channel" remove_on_change="apps/app_softhangup.o apps/app_softhangup.so">
</member>
<member name="app_image" displayname="Image Transmission Application" remove_on_change="apps/app_image.o apps/app_image.so">
</member>
<member name="app_ivrdemo" displayname="IVR Demo Application" remove_on_change="apps/app_ivrdemo.o apps/app_ivrdemo.so">
	<defaultenabled>no</defaultenabled>
</member>
<member name="app_saycounted" displayname="Decline words according to channel language" remove_on_change="apps/app_saycounted.o apps/app_saycounted.so">
	<defaultenabled>no</defaultenabled>
</member>
<member name="app_followme" displayname="Find-Me/Follow-Me Application" remove_on_change="apps/app_followme.o apps/app_followme.so">
	<depend>chan_local</depend>
</member>
<member name="app_verbose" displayname="Send verbose output" remove_on_change="apps/app_verbose.o apps/app_verbose.so">
</member>
<member name="app_setcallerid" displayname="Set CallerID Presentation Application" remove_on_change="apps/app_setcallerid.o apps/app_setcallerid.so">
</member>
<member name="app_meetme" displayname="MeetMe conference bridge" remove_on_change="apps/app_meetme.o apps/app_meetme.so">
	<depend>dahdi</depend>
</member>
<member name="app_fax" displayname="Simple FAX Application" remove_on_change="apps/app_fax.o apps/app_fax.so">
	<defaultenabled>no</defaultenabled>
	<depend>spandsp</depend>
	<conflict>res_fax</conflict>
</member>
<member name="app_dumpchan" displayname="Dump Info About The Calling Channel" remove_on_change="apps/app_dumpchan.o apps/app_dumpchan.so">
</member>
<member name="app_authenticate" displayname="Authentication Application" remove_on_change="apps/app_authenticate.o apps/app_authenticate.so">
</member>
<member name="app_chanspy" displayname="Listen to the audio of an active channel" remove_on_change="apps/app_chanspy.o apps/app_chanspy.so">
</member>
<member name="app_alarmreceiver" displayname="Alarm Receiver for Asterisk" remove_on_change="apps/app_alarmreceiver.o apps/app_alarmreceiver.so">
</member>
<member name="app_transfer" displayname="Transfers a caller to another extension" remove_on_change="apps/app_transfer.o apps/app_transfer.so">
</member>
<member name="app_originate" displayname="Originate call" remove_on_change="apps/app_originate.o apps/app_originate.so">
</member>
<member name="app_url" displayname="Send URL Applications" remove_on_change="apps/app_url.o apps/app_url.so">
</member>
<member name="app_db" displayname="Database Access Functions" remove_on_change="apps/app_db.o apps/app_db.so">
</member>
<member name="app_chanisavail" displayname="Check channel availability" remove_on_change="apps/app_chanisavail.o apps/app_chanisavail.so">
</member>
<member name="app_macro" displayname="Extension Macros" remove_on_change="apps/app_macro.o apps/app_macro.so">
</member>
<member name="app_flash" displayname="Flash channel application" remove_on_change="apps/app_flash.o apps/app_flash.so">
	<depend>dahdi</depend>
</member>
<member name="app_page" displayname="Page Multiple Phones" remove_on_change="apps/app_page.o apps/app_page.so">
	<depend>dahdi</depend>
	<depend>app_meetme</depend>
</member>
<member name="app_disa" displayname="DISA (Direct Inward System Access) Application" remove_on_change="apps/app_disa.o apps/app_disa.so">
</member>
<member name="app_exec" displayname="Executes dialplan applications" remove_on_change="apps/app_exec.o apps/app_exec.so">
</member>
<member name="app_userevent" displayname="Custom User Event Application" remove_on_change="apps/app_userevent.o apps/app_userevent.so">
</member>
<member name="app_readfile" displayname="Stores output of file into a variable" remove_on_change="apps/app_readfile.o apps/app_readfile.so">
</member>
<member name="app_waitforsilence" displayname="Wait For Silence" remove_on_change="apps/app_waitforsilence.o apps/app_waitforsilence.so">
</member>
<member name="app_confbridge" displayname="Conference Bridge Application" remove_on_change="apps/app_confbridge.o apps/app_confbridge.so">
</member>
<member name="app_stack" displayname="Dialplan subroutines (Gosub, Return, etc)" remove_on_change="apps/app_stack.o apps/app_stack.so">
	<use>res_agi</use>
</member>
<member name="app_adsiprog" displayname="Asterisk ADSI Programming Application" remove_on_change="apps/app_adsiprog.o apps/app_adsiprog.so">
	<depend>res_adsi</depend>
</member>
<member name="app_readexten" displayname="Read and evaluate extension validity" remove_on_change="apps/app_readexten.o apps/app_readexten.so">
</member>
<member name="app_cdr" displayname="Tell Asterisk to not maintain a CDR for the current call" remove_on_change="apps/app_cdr.o apps/app_cdr.so">
</member>
<member name="app_forkcdr" displayname="Fork The CDR into 2 separate entities" remove_on_change="apps/app_forkcdr.o apps/app_forkcdr.so">
</member>
<member name="app_test" displayname="Interface Test Application" remove_on_change="apps/app_test.o apps/app_test.so">
</member>
<member name="app_amd" displayname="Answering Machine Detection Application" remove_on_change="apps/app_amd.o apps/app_amd.so">
</member>
<member name="app_playback" displayname="Sound File Playback Application" remove_on_change="apps/app_playback.o apps/app_playback.so">
</member>
<member name="app_echo" displayname="Simple Echo Application" remove_on_change="apps/app_echo.o apps/app_echo.so">
</member>
<member name="app_celgenuserevent" displayname="Generate an User-Defined CEL event" remove_on_change="apps/app_celgenuserevent.o apps/app_celgenuserevent.so">
</member>
<member name="app_sms" displayname="SMS/PSTN handler" remove_on_change="apps/app_sms.o apps/app_sms.so">
</member>
<member name="app_dahdibarge" displayname="Barge in on DAHDI channel application" remove_on_change="apps/app_dahdibarge.o apps/app_dahdibarge.so">
	<depend>dahdi</depend>
</member>
<member name="app_milliwatt" displayname="Digital Milliwatt (mu-law) Test Application" remove_on_change="apps/app_milliwatt.o apps/app_milliwatt.so">
</member>
<member name="app_waitforring" displayname="Waits until first ring after time" remove_on_change="apps/app_waitforring.o apps/app_waitforring.so">
</member>
<member name="app_while" displayname="While Loops and Conditional Execution" remove_on_change="apps/app_while.o apps/app_while.so">
</member>
<member name="app_voicemail" displayname="Comedian Mail (Voicemail System)" remove_on_change="apps/app_voicemail.o apps/app_voicemail.so">
	<use>res_adsi</use>
	<use>res_smdi</use>
</member>
<member name="app_sendtext" displayname="Send Text Applications" remove_on_change="apps/app_sendtext.o apps/app_sendtext.so">
</member>
<member name="app_talkdetect" displayname="Playback with Talk Detection" remove_on_change="apps/app_talkdetect.o apps/app_talkdetect.so">
</member>
<member name="app_getcpeid" displayname="Get ADSI CPE ID" remove_on_change="apps/app_getcpeid.o apps/app_getcpeid.so">
</member>
<member name="app_parkandannounce" displayname="Call Parking and Announce Application" remove_on_change="apps/app_parkandannounce.o apps/app_parkandannounce.so">
</member>
<member name="app_system" displayname="Generic System() application" remove_on_change="apps/app_system.o apps/app_system.so">
</member>
<member name="app_sayunixtime" displayname="Say time" remove_on_change="apps/app_sayunixtime.o apps/app_sayunixtime.so">
</member>
<member name="app_rpt" displayname="Radio Repeater/Remote Base Application" remove_on_change="apps/app_rpt.o apps/app_rpt.so">
	<depend>dahdi</depend>
	<depend>tonezone</depend>
	<defaultenabled>no</defaultenabled>
</member>
<member name="app_mp3" displayname="Silly MP3 Application" remove_on_change="apps/app_mp3.o apps/app_mp3.so">
</member>
<member name="app_nbscat" displayname="Silly NBS Stream Application" remove_on_change="apps/app_nbscat.o apps/app_nbscat.so">
</member>
<member name="app_controlplayback" displayname="Control Playback Application" remove_on_change="apps/app_controlplayback.o apps/app_controlplayback.so">
</member>
<member name="app_externalivr" displayname="External IVR Interface Application" remove_on_change="apps/app_externalivr.o apps/app_externalivr.so">
</member>
<member name="app_channelredirect" displayname="Redirects a given channel to a dialplan target" remove_on_change="apps/app_channelredirect.o apps/app_channelredirect.so">
</member>
<member name="app_directory" displayname="Extension Directory" remove_on_change="apps/app_directory.o apps/app_directory.so">
	<depend>app_voicemail</depend>
</member>
<member name="app_dictate" displayname="Virtual Dictation Machine" remove_on_change="apps/app_dictate.o apps/app_dictate.so">
</member>
<member name="app_waituntil" displayname="Wait until specified time" remove_on_change="apps/app_waituntil.o apps/app_waituntil.so">
</member>
<member name="app_minivm" displayname="Mini VoiceMail (A minimal Voicemail e-mail System)" remove_on_change="apps/app_minivm.o apps/app_minivm.so">
</member>
<member name="app_jack" displayname="JACK Interface" remove_on_change="apps/app_jack.o apps/app_jack.so">
	<depend>jack</depend>
	<depend>resample</depend>
</member>
<member name="app_zapateller" displayname="Block Telemarketers with Special Information Tone" remove_on_change="apps/app_zapateller.o apps/app_zapateller.so">
</member>
<member name="app_skel" displayname="Skeleton (sample) Application" remove_on_change="apps/app_skel.o apps/app_skel.so">
	<defaultenabled>no</defaultenabled>
</member>
<member name="app_playtones" displayname="Playtones Application" remove_on_change="apps/app_playtones.o apps/app_playtones.so">
</member>
<member name="app_directed_pickup" displayname="Directed Call Pickup Application" remove_on_change="apps/app_directed_pickup.o apps/app_directed_pickup.so">
</member>
<member name="app_record" displayname="Trivial Record Application" remove_on_change="apps/app_record.o apps/app_record.so">
</member>
<member name="app_privacy" displayname="Require phone number to be entered, if no CallerID sent" remove_on_change="apps/app_privacy.o apps/app_privacy.so">
</member>
<member name="app_read" displayname="Read Variable Application" remove_on_change="apps/app_read.o apps/app_read.so">
</member>
<member name="app_ices" displayname="Encode and Stream via icecast and ices" remove_on_change="apps/app_ices.o apps/app_ices.so">
</member>
<member name="app_mixmonitor" displayname="Mixed Audio Monitoring Application" remove_on_change="apps/app_mixmonitor.o apps/app_mixmonitor.so">
</member>
<member name="app_senddtmf" displayname="Send DTMF digits Application" remove_on_change="apps/app_senddtmf.o apps/app_senddtmf.so">
</member>
<member name="app_dahdiras" displayname="DAHDI ISDN Remote Access Server" remove_on_change="apps/app_dahdiras.o apps/app_dahdiras.so">
	<depend>dahdi</depend>
</member>
<member name="app_festival" displayname="Simple Festival Interface" remove_on_change="apps/app_festival.o apps/app_festival.so">
</member>
<member name="app_morsecode" displayname="Morse code" remove_on_change="apps/app_morsecode.o apps/app_morsecode.so">
</member>
</category>
<category name="MENUSELECT_BRIDGES" displayname="Bridging Modules" remove_on_change="bridges/modules.link">
<member name="bridge_multiplexed" displayname="Multiplexed two channel bridging module" remove_on_change="bridges/bridge_multiplexed.o bridges/bridge_multiplexed.so">
</member>
<member name="bridge_softmix" displayname="Multi-party software based channel mixing" remove_on_change="bridges/bridge_softmix.o bridges/bridge_softmix.so">
</member>
<member name="bridge_simple" displayname="Simple two channel bridging module" remove_on_change="bridges/bridge_simple.o bridges/bridge_simple.so">
</member>
<member name="bridge_builtin_features" displayname="Built in bridging features" remove_on_change="bridges/bridge_builtin_features.o bridges/bridge_builtin_features.so">
</member>
</category>
<category name="MENUSELECT_CDR" displayname="Call Detail Recording" remove_on_change="cdr/modules.link">
<member name="cdr_tds" displayname="FreeTDS CDR Backend" remove_on_change="cdr/cdr_tds.o cdr/cdr_tds.so">
	<depend>freetds</depend>
</member>
<member name="cdr_sqlite3_custom" displayname="SQLite3 Custom CDR Module" remove_on_change="cdr/cdr_sqlite3_custom.o cdr/cdr_sqlite3_custom.so">
	<depend>sqlite3</depend>
</member>
<member name="cdr_syslog" displayname="Customizable syslog CDR Backend" remove_on_change="cdr/cdr_syslog.o cdr/cdr_syslog.so">
	 <depend>syslog</depend>
</member>
<member name="cdr_radius" displayname="RADIUS CDR Backend" remove_on_change="cdr/cdr_radius.o cdr/cdr_radius.so">
	<depend>radius</depend>
</member>
<member name="cdr_csv" displayname="Comma Separated Values CDR Backend" remove_on_change="cdr/cdr_csv.o cdr/cdr_csv.so">
</member>
<member name="cdr_custom" displayname="Customizable Comma Separated Values CDR Backend" remove_on_change="cdr/cdr_custom.o cdr/cdr_custom.so">
</member>
<member name="cdr_manager" displayname="Asterisk Manager Interface CDR Backend" remove_on_change="cdr/cdr_manager.o cdr/cdr_manager.so">
</member>
<member name="cdr_odbc" displayname="ODBC CDR Backend" remove_on_change="cdr/cdr_odbc.o cdr/cdr_odbc.so">
	<depend>res_odbc</depend>
</member>
<member name="cdr_adaptive_odbc" displayname="Adaptive ODBC CDR backend" remove_on_change="cdr/cdr_adaptive_odbc.o cdr/cdr_adaptive_odbc.so">
	<depend>res_odbc</depend>
</member>
<member name="cdr_pgsql" displayname="PostgreSQL CDR Backend" remove_on_change="cdr/cdr_pgsql.o cdr/cdr_pgsql.so">
	<depend>pgsql</depend>
</member>
<member name="cdr_sqlite" displayname="SQLite CDR Backend" remove_on_change="cdr/cdr_sqlite.o cdr/cdr_sqlite.so">
	<depend>sqlite</depend>
</member>
</category>
<category name="MENUSELECT_CEL" displayname="Channel Event Logging" remove_on_change="cel/modules.link">
<member name="cel_sqlite3_custom" displayname="SQLite3 Custom CEL Module" remove_on_change="cel/cel_sqlite3_custom.o cel/cel_sqlite3_custom.so">
	<depend>sqlite3</depend>
</member>
<member name="cel_radius" displayname="RADIUS CEL Backend" remove_on_change="cel/cel_radius.o cel/cel_radius.so">
	<depend>radius</depend>
</member>
<member name="cel_custom" displayname="Customizable Comma Separated Values CEL Backend" remove_on_change="cel/cel_custom.o cel/cel_custom.so">
</member>
<member name="cel_odbc" displayname="ODBC CEL backend" remove_on_change="cel/cel_odbc.o cel/cel_odbc.so">
	<depend>res_odbc</depend>
</member>
<member name="cel_pgsql" displayname="PostgreSQL CEL Backend" remove_on_change="cel/cel_pgsql.o cel/cel_pgsql.so">
	<depend>pgsql</depend>
</member>
<member name="cel_manager" displayname="Asterisk Manager Interface CEL Backend" remove_on_change="cel/cel_manager.o cel/cel_manager.so">
</member>
<member name="cel_tds" displayname="FreeTDS CEL Backend" remove_on_change="cel/cel_tds.o cel/cel_tds.so">
	<depend>freetds</depend>
</member>
</category>
<category name="MENUSELECT_CHANNELS" displayname="Channel Drivers" remove_on_change="channels/modules.link">
<member name="chan_unistim" displayname="UNISTIM Protocol (USTM)" remove_on_change="channels/chan_unistim.o channels/chan_unistim.so">
</member>
<member name="chan_usbradio" displayname="usb Console Channel Driver" remove_on_change="channels/chan_usbradio.o channels/chan_usbradio.so">
	<depend>oss</depend>
	<depend>alsa</depend>
	<depend>usb</depend>
	<defaultenabled>no</defaultenabled>
</member>
<member name="chan_multicast_rtp" displayname="Multicast RTP Paging Channel" remove_on_change="channels/chan_multicast_rtp.o channels/chan_multicast_rtp.so">
</member>
<member name="chan_nbs" displayname="Network Broadcast Sound Support" remove_on_change="channels/chan_nbs.o channels/chan_nbs.so">
	<depend>nbs</depend>
</member>
<member name="chan_local" displayname="Local Proxy Channel (Note: used internally by other modules)" remove_on_change="channels/chan_local.o channels/chan_local.so">
</member>
<member name="chan_dahdi" displayname="DAHDI Telephony" remove_on_change="channels/chan_dahdi.o channels/chan_dahdi.so">
	<use>res_smdi</use>
	<depend>dahdi</depend>
	<depend>tonezone</depend>
	<use>pri</use>
	<use>ss7</use>
	<use>openr2</use>
</member>
<member name="chan_iax2" displayname="Inter Asterisk eXchange (Ver 2)" remove_on_change="channels/chan_iax2.o channels/chan_iax2.so">
	<use>crypto</use>
</member>
<member name="chan_gtalk" displayname="Gtalk Channel Driver" remove_on_change="channels/chan_gtalk.o channels/chan_gtalk.so">
	<depend>iksemel</depend>
	<depend>res_jabber</depend>
	<use>openssl</use>
</member>
<member name="chan_phone" displayname="Linux Telephony API Support" remove_on_change="channels/chan_phone.o channels/chan_phone.so">
	<depend>ixjuser</depend>
</member>
<member name="chan_h323" displayname="The NuFone Network's OpenH323 Channel Driver" remove_on_change="channels/chan_h323.o channels/chan_h323.so">
	<depend>openh323</depend>
	<defaultenabled>yes</defaultenabled>
</member>
<member name="chan_mgcp" displayname="Media Gateway Control Protocol (MGCP)" remove_on_change="channels/chan_mgcp.o channels/chan_mgcp.so">
        <use>res_pktccops</use>
</member>
<member name="chan_oss" displayname="OSS Console Channel Driver" remove_on_change="channels/chan_oss.o channels/chan_oss.so">
	<depend>oss</depend>
</member>
<member name="chan_alsa" displayname="ALSA Console Channel Driver" remove_on_change="channels/chan_alsa.o channels/chan_alsa.so">
	<depend>alsa</depend>
</member>
<member name="chan_jingle" displayname="Jingle Channel Driver" remove_on_change="channels/chan_jingle.o channels/chan_jingle.so">
	<depend>iksemel</depend>
	<depend>res_jabber</depend>
	<use>openssl</use>
</member>
<member name="chan_agent" displayname="Agent Proxy Channel" remove_on_change="channels/chan_agent.o channels/chan_agent.so">
        <depend>chan_local</depend>
        <depend>res_monitor</depend>
</member>
<member name="chan_skinny" displayname="Skinny Client Control Protocol (Skinny)" remove_on_change="channels/chan_skinny.o channels/chan_skinny.so">
</member>
<member name="chan_bridge" displayname="Bridge Interaction Channel" remove_on_change="channels/chan_bridge.o channels/chan_bridge.so">
</member>
<member name="chan_misdn" displayname="Channel driver for mISDN Support (BRI/PRI)" remove_on_change="channels/chan_misdn.o channels/chan_misdn.so">
	<depend>isdnnet</depend>
	<depend>misdn</depend>
	<depend>suppserv</depend>
</member>
<member name="chan_console" displayname="Console Channel Driver" remove_on_change="channels/chan_console.o channels/chan_console.so">
	<depend>portaudio</depend>
</member>
<member name="chan_sip" displayname="Session Initiation Protocol (SIP)" remove_on_change="channels/chan_sip.o channels/chan_sip.so">
	<use>res_crypto</use>
	<depend>chan_local</depend>
</member>
<member name="chan_vpb" displayname="Voicetronix API driver" remove_on_change="channels/chan_vpb.oo channels/chan_vpb.so">
	<depend>vpb</depend>
</member>
</category>
<category name="MENUSELECT_CODECS" displayname="Codec Translators" remove_on_change="codecs/modules.link">
<member name="codec_speex" displayname="Speex Coder/Decoder" remove_on_change="codecs/codec_speex.o codecs/codec_speex.so">
	<depend>speex</depend>
	<depend>speex_preprocess</depend>
	<use>speexdsp</use>
</member>
<member name="codec_gsm" displayname="GSM Coder/Decoder" remove_on_change="codecs/codec_gsm.o codecs/codec_gsm.so">
	<depend>gsm</depend>
</member>
<member name="codec_lpc10" displayname="LPC10 2.4kbps Coder/Decoder" remove_on_change="codecs/codec_lpc10.o codecs/codec_lpc10.so">
</member>
<member name="codec_a_mu" displayname="A-law and Mulaw direct Coder/Decoder" remove_on_change="codecs/codec_a_mu.o codecs/codec_a_mu.so">
</member>
<member name="codec_g726" displayname="ITU G.726-32kbps G726 Transcoder" remove_on_change="codecs/codec_g726.o codecs/codec_g726.so">
</member>
<member name="codec_dahdi" displayname="Generic DAHDI Transcoder Codec Translator" remove_on_change="codecs/codec_dahdi.o codecs/codec_dahdi.so">
	<depend>dahdi</depend>
</member>
<member name="codec_ilbc" displayname="iLBC Coder/Decoder" remove_on_change="codecs/codec_ilbc.o codecs/codec_ilbc.so">
	<defaultenabled>no</defaultenabled>
</member>
<member name="codec_ulaw" displayname="mu-Law Coder/Decoder" remove_on_change="codecs/codec_ulaw.o codecs/codec_ulaw.so">
</member>
<member name="codec_resample" displayname="SLIN Resampling Codec" remove_on_change="codecs/codec_resample.o codecs/codec_resample.so">
	<depend>resample</depend>
</member>
<member name="codec_adpcm" displayname="Adaptive Differential PCM Coder/Decoder" remove_on_change="codecs/codec_adpcm.o codecs/codec_adpcm.so">
</member>
<member name="codec_g722" displayname="ITU G.722-64kbps G722 Transcoder" remove_on_change="codecs/codec_g722.o codecs/codec_g722.so">
</member>
<member name="codec_alaw" displayname="A-law Coder/Decoder" remove_on_change="codecs/codec_alaw.o codecs/codec_alaw.so">
</member>
</category>
<category name="MENUSELECT_FORMATS" displayname="Format Interpreters" remove_on_change="formats/modules.link">
<member name="format_h264" displayname="Raw H.264 data" remove_on_change="formats/format_h264.o formats/format_h264.so">
</member>
<member name="format_sln" displayname="Raw Signed Linear Audio support (SLN)" remove_on_change="formats/format_sln.o formats/format_sln.so">
</member>
<member name="format_g719" displayname="ITU G.719" remove_on_change="formats/format_g719.o formats/format_g719.so">
</member>
<member name="format_g723" displayname="G.723.1 Simple Timestamp File Format" remove_on_change="formats/format_g723.o formats/format_g723.so">
</member>
<member name="format_jpeg" displayname="jpeg (joint picture experts group) image format" remove_on_change="formats/format_jpeg.o formats/format_jpeg.so">
</member>
<member name="format_wav_gsm" displayname="Microsoft WAV format (Proprietary GSM)" remove_on_change="formats/format_wav_gsm.o formats/format_wav_gsm.so">
</member>
<member name="format_pcm" displayname="Raw/Sun uLaw/ALaw 8KHz (PCM,PCMA,AU), G.722 16Khz" remove_on_change="formats/format_pcm.o formats/format_pcm.so">
</member>
<member name="format_g726" displayname="Raw G.726 (16/24/32/40kbps) data" remove_on_change="formats/format_g726.o formats/format_g726.so">
</member>
<member name="format_siren7" displayname="ITU G.722.1 (Siren7, licensed from Polycom)" remove_on_change="formats/format_siren7.o formats/format_siren7.so">
</member>
<member name="format_h263" displayname="Raw H.263 data" remove_on_change="formats/format_h263.o formats/format_h263.so">
</member>
<member name="format_siren14" displayname="ITU G.722.1 Annex C (Siren14, licensed from Polycom)" remove_on_change="formats/format_siren14.o formats/format_siren14.so">
</member>
<member name="format_ilbc" displayname="Raw iLBC data" remove_on_change="formats/format_ilbc.o formats/format_ilbc.so">
</member>
<member name="format_gsm" displayname="Raw GSM data" remove_on_change="formats/format_gsm.o formats/format_gsm.so">
</member>
<member name="format_wav" displayname="Microsoft WAV/WAV16 format (8kHz/16kHz Signed Linear)" remove_on_change="formats/format_wav.o formats/format_wav.so">
</member>
<member name="format_vox" displayname="Dialogic VOX (ADPCM) File Format" remove_on_change="formats/format_vox.o formats/format_vox.so">
</member>
<member name="format_g729" displayname="Raw G.729 data" remove_on_change="formats/format_g729.o formats/format_g729.so">
</member>
<member name="format_sln16" displayname="Raw Signed Linear 16KHz Audio support (SLN16)" remove_on_change="formats/format_sln16.o formats/format_sln16.so">
</member>
<member name="format_ogg_vorbis" displayname="OGG/Vorbis audio" remove_on_change="formats/format_ogg_vorbis.o formats/format_ogg_vorbis.so">
	<depend>vorbis</depend>
	<depend>ogg</depend>
</member>
</category>
<category name="MENUSELECT_FUNCS" displayname="Dialplan Functions" remove_on_change="funcs/modules.link">
<member name="func_lock" displayname="Dialplan mutexes" remove_on_change="funcs/func_lock.o funcs/func_lock.so">
</member>
<member name="func_speex" displayname="Noise reduction and Automatic Gain Control (AGC)" remove_on_change="funcs/func_speex.o funcs/func_speex.so">
	<depend>speex</depend>
	<depend>speex_preprocess</depend>
	<use>speexdsp</use>
</member>
<member name="func_module" displayname="Checks if Asterisk module is loaded in memory" remove_on_change="funcs/func_module.o funcs/func_module.so">
</member>
<member name="func_pitchshift" displayname="Audio Effects Dialplan Functions" remove_on_change="funcs/func_pitchshift.o funcs/func_pitchshift.so">
</member>
<member name="func_math" displayname="Mathematical dialplan function" remove_on_change="funcs/func_math.o funcs/func_math.so">
</member>
<member name="func_frame_trace" displayname="Frame Trace for internal ast_frame debugging." remove_on_change="funcs/func_frame_trace.o funcs/func_frame_trace.so">
</member>
<member name="func_realtime" displayname="Read/Write/Store/Destroy values from a RealTime repository" remove_on_change="funcs/func_realtime.o funcs/func_realtime.so">
</member>
<member name="func_logic" displayname="Logical dialplan functions" remove_on_change="funcs/func_logic.o funcs/func_logic.so">
</member>
<member name="func_callerid" displayname="Party ID related dialplan functions (Caller-ID, Connected-line, Redirecting)" remove_on_change="funcs/func_callerid.o funcs/func_callerid.so">
</member>
<member name="func_volume" displayname="Technology independent volume control" remove_on_change="funcs/func_volume.o funcs/func_volume.so">
</member>
<member name="func_callcompletion" displayname="Call Control Configuration Function" remove_on_change="funcs/func_callcompletion.o funcs/func_callcompletion.so">
</member>
<member name="func_blacklist" displayname="Look up Caller*ID name/number from blacklist database" remove_on_change="funcs/func_blacklist.o funcs/func_blacklist.so">
</member>
<member name="func_audiohookinherit" displayname="Audiohook inheritance function" remove_on_change="funcs/func_audiohookinherit.o funcs/func_audiohookinherit.so">
</member>
<member name="func_iconv" displayname="Charset conversions" remove_on_change="funcs/func_iconv.o funcs/func_iconv.so">
    <depend>iconv</depend>
</member>
<member name="func_md5" displayname="MD5 digest dialplan functions" remove_on_change="funcs/func_md5.o funcs/func_md5.so">
</member>
<member name="func_timeout" displayname="Channel timeout dialplan functions" remove_on_change="funcs/func_timeout.o funcs/func_timeout.so">
</member>
<member name="func_base64" displayname="base64 encode/decode dialplan functions" remove_on_change="funcs/func_base64.o funcs/func_base64.so">
</member>
<member name="func_srv" displayname="SRV related dialplan functions" remove_on_change="funcs/func_srv.o funcs/func_srv.so">
</member>
<member name="func_global" displayname="Variable dialplan functions" remove_on_change="funcs/func_global.o funcs/func_global.so">
</member>
<member name="func_sysinfo" displayname="System information related functions" remove_on_change="funcs/func_sysinfo.o funcs/func_sysinfo.so">
</member>
<member name="func_vmcount" displayname="Indicator for whether a voice mailbox has messages in a given folder." remove_on_change="funcs/func_vmcount.o funcs/func_vmcount.so">
</member>
<member name="func_cdr" displayname="Call Detail Record (CDR) dialplan function" remove_on_change="funcs/func_cdr.o funcs/func_cdr.so">
</member>
<member name="func_shell" displayname="Returns the output of a shell command" remove_on_change="funcs/func_shell.o funcs/func_shell.so">
</member>
<member name="func_uri" displayname="URI encode/decode dialplan functions" remove_on_change="funcs/func_uri.o funcs/func_uri.so">
</member>
<member name="func_dialgroup" displayname="Dialgroup dialplan function" remove_on_change="funcs/func_dialgroup.o funcs/func_dialgroup.so">
</member>
<member name="func_groupcount" displayname="Channel group dialplan functions" remove_on_change="funcs/func_groupcount.o funcs/func_groupcount.so">
</member>
<member name="func_strings" displayname="String handling dialplan functions" remove_on_change="funcs/func_strings.o funcs/func_strings.so">
</member>
<member name="func_curl" displayname="Load external URL" remove_on_change="funcs/func_curl.o funcs/func_curl.so">
	<depend>curl</depend>
</member>
<member name="func_extstate" displayname="Gets an extension's state in the dialplan" remove_on_change="funcs/func_extstate.o funcs/func_extstate.so">
</member>
<member name="func_env" displayname="Environment/filesystem dialplan functions" remove_on_change="funcs/func_env.o funcs/func_env.so">
</member>
<member name="func_version" displayname="Get Asterisk Version/Build Info" remove_on_change="funcs/func_version.o funcs/func_version.so">
</member>
<member name="func_enum" displayname="ENUM related dialplan functions" remove_on_change="funcs/func_enum.o funcs/func_enum.so">
</member>
<member name="func_devstate" displayname="Gets or sets a device state in the dialplan" remove_on_change="funcs/func_devstate.o funcs/func_devstate.so">
</member>
<member name="func_cut" displayname="Cut out information from a string" remove_on_change="funcs/func_cut.o funcs/func_cut.so">
</member>
<member name="func_odbc" displayname="ODBC lookups" remove_on_change="funcs/func_odbc.o funcs/func_odbc.so">
	<depend>res_odbc</depend>
</member>
<member name="func_aes" displayname="AES dialplan functions" remove_on_change="funcs/func_aes.o funcs/func_aes.so">
	<use>crypto</use>
</member>
<member name="func_sprintf" displayname="SPRINTF dialplan function" remove_on_change="funcs/func_sprintf.o funcs/func_sprintf.so">
</member>
<member name="func_sha1" displayname="SHA-1 computation dialplan function" remove_on_change="funcs/func_sha1.o funcs/func_sha1.so">
</member>
<member name="func_channel" displayname="Channel information dialplan functions" remove_on_change="funcs/func_channel.o funcs/func_channel.so">
</member>
<member name="func_dialplan" displayname="Dialplan Context/Extension/Priority Checking Functions" remove_on_change="funcs/func_dialplan.o funcs/func_dialplan.so">
</member>
<member name="func_rand" displayname="Random number dialplan function" remove_on_change="funcs/func_rand.o funcs/func_rand.so">
</member>
<member name="func_db" displayname="Database (astdb) related dialplan functions" remove_on_change="funcs/func_db.o funcs/func_db.so">
</member>
<member name="func_config" displayname="Asterisk configuration file variable access" remove_on_change="funcs/func_config.o funcs/func_config.so">
</member>
</category>
<category name="MENUSELECT_PBX" displayname="PBX Modules" remove_on_change="pbx/modules.link">
<member name="pbx_spool" displayname="Outgoing Spool Support" remove_on_change="pbx/pbx_spool.o pbx/pbx_spool.so">
</member>
<member name="pbx_lua" displayname="Lua PBX Switch" remove_on_change="pbx/pbx_lua.o pbx/pbx_lua.so">
	<depend>lua</depend>
</member>
<member name="pbx_realtime" displayname="Realtime Switch" remove_on_change="pbx/pbx_realtime.o pbx/pbx_realtime.so">
</member>
<member name="pbx_ael" displayname="Asterisk Extension Language Compiler" remove_on_change="pbx/pbx_ael.o pbx/pbx_ael.so">
	<depend>res_ael_share</depend>
</member>
<member name="pbx_dundi" displayname="Distributed Universal Number Discovery (DUNDi)" remove_on_change="pbx/pbx_dundi.o pbx/pbx_dundi.so">
	<depend>zlib</depend>
	<use>crypto</use>
</member>
<member name="pbx_loopback" displayname="Loopback Switch" remove_on_change="pbx/pbx_loopback.o pbx/pbx_loopback.so">
</member>
<member name="pbx_config" displayname="Text Extension Configuration" remove_on_change="pbx/pbx_config.o pbx/pbx_config.so">
</member>
</category>
<category name="MENUSELECT_RES" displayname="Resource Modules" remove_on_change="res/modules.link">
<member name="res_security_log" displayname="Security Event Logging" remove_on_change="res/res_security_log.o res/res_security_log.so">
</member>
<member name="res_clialiases" displayname="CLI Aliases" remove_on_change="res/res_clialiases.o res/res_clialiases.so">
</member>
<member name="res_rtp_multicast" displayname="Multicast RTP Engine" remove_on_change="res/res_rtp_multicast.o res/res_rtp_multicast.so">
</member>
<member name="res_agi" displayname="Asterisk Gateway Interface (AGI)" remove_on_change="res/res_agi.o res/res_agi.so">
</member>
<member name="res_config_sqlite" displayname="Realtime SQLite configuration" remove_on_change="res/res_config_sqlite.o res/res_config_sqlite.so">
	<depend>sqlite</depend>
</member>
<member name="res_calendar_exchange" displayname="Asterisk MS Exchange Calendar Integration" remove_on_change="res/res_calendar_exchange.o res/res_calendar_exchange.so">
	<depend>neon</depend>
	<depend>ical</depend>
	<depend>iksemel</depend>
</member>
<member name="res_pktccops" displayname="PktcCOPS manager for MGCP" remove_on_change="res/res_pktccops.o res/res_pktccops.so">
        <defaultenabled>no</defaultenabled>
</member>
<member name="res_jabber" displayname="AJI - Asterisk Jabber Interface" remove_on_change="res/res_jabber.o res/res_jabber.so">
	<depend>iksemel</depend>
	<use>openssl</use>
</member>
<member name="res_speech" displayname="Generic Speech Recognition API" remove_on_change="res/res_speech.o res/res_speech.so">
</member>
<member name="res_curl" displayname="cURL Resource Module" remove_on_change="res/res_curl.o res/res_curl.so">
	<depend>curl</depend>
</member>
<member name="res_timing_dahdi" displayname="DAHDI Timing Interface" remove_on_change="res/res_timing_dahdi.o res/res_timing_dahdi.so">
	<depend>dahdi</depend>
</member>
<member name="res_odbc" displayname="ODBC resource" remove_on_change="res/res_odbc.o res/res_odbc.so">
	<depend>generic_odbc</depend>
	<depend>ltdl</depend>
</member>
<member name="res_config_curl" displayname="Realtime Curl configuration" remove_on_change="res/res_config_curl.o res/res_config_curl.so">
	<depend>curl</depend>
</member>
<member name="res_clioriginate" displayname="Call origination and redirection from the CLI" remove_on_change="res/res_clioriginate.o res/res_clioriginate.so">
</member>
<member name="res_calendar_icalendar" displayname="Asterisk iCalendar .ics file integration" remove_on_change="res/res_calendar_icalendar.o res/res_calendar_icalendar.so">
	<depend>neon</depend>
	<depend>ical</depend>
</member>
<member name="res_ael_share" displayname="share-able code for AEL" remove_on_change="res/res_ael_share.o res/res_ael_share.so">
</member>
<member name="res_limit" displayname="Resource limits" remove_on_change="res/res_limit.o res/res_limit.so">
</member>
<member name="res_http_post" displayname="HTTP POST support" remove_on_change="res/res_http_post.o res/res_http_post.so">
	<depend>gmime</depend>
</member>
<member name="res_fax" displayname="Generic FAX Applications" remove_on_change="res/res_fax.o res/res_fax.so">
	<conflict>app_fax</conflict>
</member>
<member name="res_timing_pthread" displayname="pthread Timing Interface" remove_on_change="res/res_timing_pthread.o res/res_timing_pthread.so">
</member>
<member name="res_config_odbc" displayname="Realtime ODBC configuration" remove_on_change="res/res_config_odbc.o res/res_config_odbc.so">
	<depend>res_odbc</depend>
</member>
<member name="res_ais" displayname="SAForum AIS" remove_on_change="res/res_ais.o res/res_ais.so">
	<depend>ais</depend>
</member>
<member name="res_phoneprov" displayname="HTTP Phone Provisioning" remove_on_change="res/res_phoneprov.o res/res_phoneprov.so">
</member>
<member name="res_crypto" displayname="Cryptographic Digital Signatures" remove_on_change="res/res_crypto.o res/res_crypto.so">
	<depend>openssl</depend>
</member>
<member name="res_config_pgsql" displayname="PostgreSQL RealTime Configuration Driver" remove_on_change="res/res_config_pgsql.o res/res_config_pgsql.so">
	<depend>pgsql</depend>
</member>
<member name="res_stun_monitor" displayname="STUN Network Monitor" remove_on_change="res/res_stun_monitor.o res/res_stun_monitor.so">
</member>
<member name="res_calendar_caldav" displayname="Asterisk CalDAV Calendar Integration" remove_on_change="res/res_calendar_caldav.o res/res_calendar_caldav.so">
	<depend>neon</depend>
	<depend>ical</depend>
	<depend>libxml2</depend>
</member>
<member name="res_adsi" displayname="ADSI Resource" remove_on_change="res/res_adsi.o res/res_adsi.so">
</member>
<member name="res_convert" displayname="File format conversion CLI command" remove_on_change="res/res_convert.o res/res_convert.so">
</member>
<member name="res_calendar" displayname="Asterisk Calendar integration" remove_on_change="res/res_calendar.o res/res_calendar.so">
</member>
<member name="res_realtime" displayname="Realtime Data Lookup/Rewrite" remove_on_change="res/res_realtime.o res/res_realtime.so">
</member>
<member name="res_snmp" displayname="SNMP [Sub]Agent for Asterisk" remove_on_change="res/res_snmp.o res/res_snmp.so">
	<depend>netsnmp</depend>
</member>
<member name="res_rtp_asterisk" displayname="Asterisk RTP Stack" remove_on_change="res/res_rtp_asterisk.o res/res_rtp_asterisk.so">
</member>
<member name="res_config_ldap" displayname="LDAP realtime interface" remove_on_change="res/res_config_ldap.o res/res_config_ldap.so">
	<depend>ldap</depend>
</member>
<member name="res_mutestream" displayname="Mute audio stream resources" remove_on_change="res/res_mutestream.o res/res_mutestream.so">
</member>
<member name="res_srtp" displayname="Secure RTP (SRTP)" remove_on_change="res/res_srtp.o res/res_srtp.so">
         <depend>srtp</depend>
</member>
<member name="res_monitor" displayname="Call Monitoring Resource" remove_on_change="res/res_monitor.o res/res_monitor.so">
</member>
<member name="res_musiconhold" displayname="Music On Hold Resource" remove_on_change="res/res_musiconhold.o res/res_musiconhold.so">
	<conflict>win32</conflict>
</member>
<member name="res_calendar_ews" displayname="Asterisk MS Exchange Web Service Calendar Integration" remove_on_change="res/res_calendar_ews.o res/res_calendar_ews.so">
	<depend>neon29</depend>
</member>
<member name="res_timing_timerfd" displayname="Timerfd Timing Interface" remove_on_change="res/res_timing_timerfd.o res/res_timing_timerfd.so">
	<depend>timerfd</depend>
</member>
<member name="res_fax_spandsp" displayname="Spandsp G.711 and T.38 FAX Technologies" remove_on_change="res/res_fax_spandsp.o res/res_fax_spandsp.so">
	<depend>spandsp</depend>
	<depend>res_fax</depend>
</member>
<member name="res_smdi" displayname="Simplified Message Desk Interface (SMDI) Resource" remove_on_change="res/res_smdi.o res/res_smdi.so">
</member>
<member name="res_timing_kqueue" displayname="KQueue Timing Interface" remove_on_change="res/res_timing_kqueue.o res/res_timing_kqueue.so">
	<depend>kqueue</depend>
	<conflict>launchd</conflict>
</member>
</category>
<category name="MENUSELECT_TESTS" displayname="Test Modules" remove_on_change="tests/modules.link">
<member name="test_netsock2" displayname="Netsock2 test module" remove_on_change="tests/test_netsock2.o tests/test_netsock2.so">
	<depend>TEST_FRAMEWORK</depend>
</member>
<member name="test_substitution" displayname="Substitution tests" remove_on_change="tests/test_substitution.o tests/test_substitution.so">
	<depend>TEST_FRAMEWORK</depend>
	<depend>func_curl</depend>
</member>
<member name="test_acl" displayname="ACL test module" remove_on_change="tests/test_acl.o tests/test_acl.so">
	<depend>TEST_FRAMEWORK</depend>
</member>
<member name="test_event" displayname="ast_event API Tests" remove_on_change="tests/test_event.o tests/test_event.so">
	<depend>TEST_FRAMEWORK</depend>
</member>
<member name="test_locale" displayname="Locale tests" remove_on_change="tests/test_locale.o tests/test_locale.so">
	<defaultenabled>no</defaultenabled>
</member>
<member name="test_stringfields" displayname="String Fields Test" remove_on_change="tests/test_stringfields.o tests/test_stringfields.so">
	<depend>TEST_FRAMEWORK</depend>
</member>
<member name="test_aoc" displayname="AOC unit tests" remove_on_change="tests/test_aoc.o tests/test_aoc.so">
	<depend>TEST_FRAMEWORK</depend>
</member>
<member name="test_strings" displayname="Dynamic string test module" remove_on_change="tests/test_strings.o tests/test_strings.so">
	<depend>TEST_FRAMEWORK</depend>
</member>
<member name="test_gosub" displayname="Gosub Tests" remove_on_change="tests/test_gosub.o tests/test_gosub.so">
	<depend>TEST_FRAMEWORK</depend>
</member>
<member name="test_heap" displayname="Heap test module" remove_on_change="tests/test_heap.o tests/test_heap.so">
	<depend>TEST_FRAMEWORK</depend>
</member>
<member name="test_devicestate" displayname="Device State Test" remove_on_change="tests/test_devicestate.o tests/test_devicestate.so">
	<depend>TEST_FRAMEWORK</depend>
</member>
<member name="test_security_events" displayname="Test Security Event Generation" remove_on_change="tests/test_security_events.o tests/test_security_events.so">
	<defaultenabled>no</defaultenabled>
</member>
<member name="test_pbx" displayname="PBX test module" remove_on_change="tests/test_pbx.o tests/test_pbx.so">
	<depend>TEST_FRAMEWORK</depend>
</member>
<member name="test_func_file" displayname="FILE() Tests" remove_on_change="tests/test_func_file.o tests/test_func_file.so">
	<depend>TEST_FRAMEWORK</depend>
</member>
<member name="test_expr" displayname="Expression evaluation tests" remove_on_change="tests/test_expr.o tests/test_expr.so">
	<depend>TEST_FRAMEWORK</depend>
</member>
<member name="test_amihooks" displayname="AMI Hook Test Module" remove_on_change="tests/test_amihooks.o tests/test_amihooks.so">
	<defaultenabled>no</defaultenabled>
</member>
<member name="test_time" displayname="Time Tests" remove_on_change="tests/test_time.o tests/test_time.so">
	<depend>TEST_FRAMEWORK</depend>
</member>
<member name="test_app" displayname="App unit tests" remove_on_change="tests/test_app.o tests/test_app.so">
	<depend>TEST_FRAMEWORK</depend>
</member>
<member name="test_dlinklists" displayname="Test Doubly-Linked Lists" remove_on_change="tests/test_dlinklists.o tests/test_dlinklists.so">
	<defaultenabled>no</defaultenabled>
</member>
<member name="test_db" displayname="AstDB test module" remove_on_change="tests/test_db.o tests/test_db.so">
	<depend>TEST_FRAMEWORK</depend>
</member>
<member name="test_utils" displayname="Utils test module" remove_on_change="tests/test_utils.o tests/test_utils.so">
	<depend>TEST_FRAMEWORK</depend>
</member>
<member name="test_logger" displayname="Logger Test Module" remove_on_change="tests/test_logger.o tests/test_logger.so">
	<defaultenabled>no</defaultenabled>
</member>
<member name="test_ast_format_str_reduce" displayname="ast_format_str_reduce() test module" remove_on_change="tests/test_ast_format_str_reduce.o tests/test_ast_format_str_reduce.so">
	<depend>TEST_FRAMEWORK</depend>
	<depend>format_g723</depend>
	<depend>format_g726</depend>
	<depend>format_g729</depend>
	<depend>format_gsm</depend>
	<depend>format_ogg_vorbis</depend>
	<depend>format_pcm</depend>
	<depend>format_siren14</depend>
	<depend>format_siren7</depend>
	<depend>format_sln</depend>
	<depend>format_wav</depend>
	<depend>format_wav_gsm</depend>
</member>
<member name="test_sched" displayname="ast_sched performance test module" remove_on_change="tests/test_sched.o tests/test_sched.so">
	<depend>TEST_FRAMEWORK</depend>
</member>
<member name="test_poll" displayname="Poll test" remove_on_change="tests/test_poll.o tests/test_poll.so">
	<depend>TEST_FRAMEWORK</depend>
</member>
<member name="test_astobj2" displayname="ASTOBJ2 Unit Tests" remove_on_change="tests/test_astobj2.o tests/test_astobj2.so">
	<depend>TEST_FRAMEWORK</depend>
</member>
<member name="test_skel" displayname="Skeleton (sample) Test" remove_on_change="tests/test_skel.o tests/test_skel.so">
	<depend>TEST_FRAMEWORK</depend>
</member>
</category>
	<category name="MENUSELECT_CFLAGS" displayname="Compiler Flags" positive_output="yes" remove_on_change=".lastclean">
		<member name="DONT_OPTIMIZE" displayname="Disable Optimizations by the Compiler">
		</member>
		<member name="DEBUG_THREADS" displayname="Enable Thread Debugging">
		</member>
		<member name="STATIC_BUILD" displayname="Build static binaries">
		</member>
		<member name="LOADABLE_MODULES" displayname="Runtime module loading">
			<defaultenabled>yes</defaultenabled>
		</member>
		<member name="DEBUG_FD_LEAKS" displayname="Enable File Descriptor Leak Detection">
		</member>
		<member name="REBUILD_PARSERS" displayname="Rebuild AEL and expression parsers from bison/flex source files">
			<depend>bison</depend>
			<depend>flex</depend>
			<defaultenabled>no</defaultenabled>
		</member>
		<member name="LOW_MEMORY" displayname="Optimize for Low Memory Usage">
		</member>
		<member name="USE_HOARD_ALLOCATOR" displayname="Use the Hoard Memory Allocator instead of the default system one">
			<defaultenabled>no</defaultenabled>
			<depend>hoard</depend>
		</member>
		<member name="LOTS_OF_SPANS" displayname="More than 32 DAHDI spans">
		</member>
		<member name="RADIO_RELAX" displayname="Relax DTMF for Radio Applications">
		</member>
		<member name="G711_NEW_ALGORITHM" displayname="Use the NEW ulaw/alaw codecs (slower, but cleaner)">
			<defaultenabled>no</defaultenabled>
		</member>
		<member name="G711_REDUCED_BRANCHING" displayname="New ulaw/alaw codec, reduced branching (might help it run faster in some architectures)">
			<depend>G711_NEW_ALGORITHM</depend>
		</member>
		<member name="TEST_CODING_TABLES" displayname="New ulaw/alaw codec, turn on table tests on init">
			<depend>G711_NEW_ALGORITHM</depend>
		</member>
		<member name="TEST_TANDEM_TRANSCODING" displayname="New ulaw/alaw codec, turn on transcoding tests on init">
			<depend>G711_NEW_ALGORITHM</depend>
		</member>
		<member name="MALLOC_DEBUG" displayname="Keep Track of Memory Allocations">
		</member>
		<member name="BUSYDETECT_TONEONLY" displayname="Enable additional comparision of only the tone duration not the silence part">
			<conflict>BUSYDETECT_COMPARE_TONE_AND_SILENCE</conflict>
			<defaultenabled>no</defaultenabled>
		</member>
		<member name="BUSYDETECT_COMPARE_TONE_AND_SILENCE" displayname="Assume that tone and silence have the same duration">
			<conflict>BUSYDETECT_TONEONLY</conflict>
			<defaultenabled>no</defaultenabled>
		</member>
		<member name="BUSYDETECT_DEBUG" displayname="Enable additional busy detection debugging">
			<defaultenabled>no</defaultenabled>
		</member>
		<member name="IAX_OLD_FIND" displayname="Use the old, slow method of searching for IAX callnos">
		</member>
		<member name="INTEGER_CALLERID" displayname="Use the (less accurate) integer-based method for decoding FSK tones (for embedded systems)">
		</member>
	</category>
<category name="MENUSELECT_OPTS_app_voicemail" displayname="Voicemail Build Options" positive_output="yes" touch_on_change="apps/app_voicemail.c apps/app_directory.c">
	<member name="FILE_STORAGE" displayname="Storage of Voicemail using filesystem">
		<conflict>ODBC_STORAGE</conflict>
		<conflict>IMAP_STORAGE</conflict>
		<defaultenabled>yes</defaultenabled>
	</member>
	<member name="ODBC_STORAGE" displayname="Storage of Voicemail using ODBC">
		<depend>generic_odbc</depend>
		<depend>ltdl</depend>
		<conflict>IMAP_STORAGE</conflict>
		<conflict>FILE_STORAGE</conflict>
		<defaultenabled>no</defaultenabled>
	</member>
	<member name="IMAP_STORAGE" displayname="Storage of Voicemail using IMAP4">
		<depend>imap_tk</depend>
		<conflict>ODBC_STORAGE</conflict>
		<conflict>FILE_STORAGE</conflict>
		<use>openssl</use>
		<defaultenabled>no</defaultenabled>
	</member>
</category>
<category name="MENUSELECT_CFLAGS" displayname="Compiler Flags" positive_output="yes">
	<member name="RADIO_RTX" displayname="Build RTX/DTX Radio Programming" touch_on_change="channels/chan_usbradio.c channels/xpmr/xpmr.h">
		<defaultenabled>no</defaultenabled>
		<depend>chan_usbradio</depend>
	</member>
	<member name="RADIO_XPMRX" displayname="Build Experimental Radio Protocols" touch_on_change="channels/chan_usbradio.c">
		<defaultenabled>no</defaultenabled>
		<depend>chan_usbradio</depend>
	</member>
</category>
<category name="MENUSELECT_UTILS" displayname="Utilities" positive_output="yes">
  <member name="aelparse">
	<defaultenabled>no</defaultenabled>
  </member>
  <member name="astcanary">
	<defaultenabled>yes</defaultenabled>
  </member>
  <member name="astman">
	<defaultenabled>no</defaultenabled>
	<depend>newt</depend>
  </member>
  <member name="check_expr">
	<defaultenabled>no</defaultenabled>
  </member>
  <member name="check_expr2">
	<defaultenabled>no</defaultenabled>
  </member>
  <member name="conf2ael">
	<defaultenabled>no</defaultenabled>
  </member>
  <member name="hashtest">
	<defaultenabled>no</defaultenabled>
  </member>
  <member name="hashtest2">
	<defaultenabled>no</defaultenabled>
  </member>
  <member name="muted">
	<defaultenabled>no</defaultenabled>
  </member>
  <member name="refcounter">
	<defaultenabled>no</defaultenabled>
  </member>
  <member name="smsq">
	<defaultenabled>no</defaultenabled>
	<depend>popt</depend>
  </member>
  <member name="stereorize">
	<defaultenabled>no</defaultenabled>
  </member>
  <member name="streamplayer">
	<defaultenabled>no</defaultenabled>
  </member>
</category>
<category name="MENUSELECT_AGIS" displayname="AGI Samples" positive_output="yes">
  <member name="agi-test.agi">
	<defaultenabled>no</defaultenabled>
  </member>
  <member name="eagi-test">
	<defaultenabled>no</defaultenabled>
  </member>
  <member name="eagi-sphinx-test">
	<defaultenabled>no</defaultenabled>
  </member>
  <member name="jukebox.agi">
	<defaultenabled>no</defaultenabled>
  </member>
</category>
	<category name="MENUSELECT_EMBED" displayname="Module Embedding" positive_output="yes" remove_on_change="main/asterisk">
		<member name="ADDONS" displayname="Add-ons" remove_on_change="addons/*.o addons/*.oo">
			<depend>gnu_ld</depend>
		</member>
		<member name="APPS" displayname="Applications" remove_on_change="apps/*.o apps/*.oo">
			<depend>gnu_ld</depend>
		</member>
		<member name="BRIDGES" displayname="Bridging Technologies" remove_on_change="bridges/*.o bridges/*.oo">
			<depend>gnu_ld</depend>
		</member>
		<member name="CDR" displayname="Call Detail Recording" remove_on_change="cdr/*.o cdr/*.oo">
			<depend>gnu_ld</depend>
		</member>
		<member name="CHANNELS" displayname="Channels" remove_on_change="channels/*.o channels/*/*.o channels/*.oo channels/*/*.oo">
			<depend>gnu_ld</depend>
		</member>
		<member name="CODECS" displayname="Coders/Decoders" remove_on_change="codecs/*.o codecs/*/*.o codecs/*/*/*.o codecs/*/*.a codecs/*/*/*.a codecs/*.oo codecs/*/*.oo">
			<depend>gnu_ld</depend>
		</member>
		<member name="FORMATS" displayname="File Formats" remove_on_change="formats/*.o formats/*.oo">
			<depend>gnu_ld</depend>
		</member>
		<member name="FUNCS" displayname="Dialplan Functions" remove_on_change="funcs/*.o funcs/*.oo">
			<depend>gnu_ld</depend>
		</member>
		<member name="PBX" displayname="PBX Functionality" remove_on_change="pbx/*.o pbx/*/*.o pbx/*.oo pbx/*/*.oo">
			<depend>gnu_ld</depend>
		</member>
		<member name="RES" displayname="Resource Modules" remove_on_change="res/*.o res/*/*.o res/*.oo res/*/*.oo">
			<depend>gnu_ld</depend>
		</member>
		<member name="TEST" displayname="Test Modules" remove_on_change="tests/*.o tests/*.oo">
			<depend>gnu_ld</depend>
		</member>
	</category>
	<category name="MENUSELECT_CORE_SOUNDS" displayname="Core Sound Packages" positive_output="yes">
		<member name="CORE-SOUNDS-EN-WAV" displayname="English, WAV format">
		</member>
		<member name="CORE-SOUNDS-EN-ULAW" displayname="English, mu-Law format">
		</member>
		<member name="CORE-SOUNDS-EN-ALAW" displayname="English, a-Law format">
		</member>
		<member name="CORE-SOUNDS-EN-GSM" displayname="English, GSM format" >
			<defaultenabled>yes</defaultenabled>
		</member>
		<member name="CORE-SOUNDS-EN-G729" displayname="English, G.729 format">
		</member>
		<member name="CORE-SOUNDS-EN-G722" displayname="English, G.722 format">
		</member>
		<member name="CORE-SOUNDS-EN-SLN16" displayname="English, Signed-linear 16kHz format">
		</member>
		<member name="CORE-SOUNDS-EN-SIREN7" displayname="English, G.722.1 (Siren7) format">
		</member>
		<member name="CORE-SOUNDS-EN-SIREN14" displayname="English, G.722.1C (Siren14) format">
		</member>
		<member name="CORE-SOUNDS-ES-WAV" displayname="Spanish, WAV format">
		</member>
		<member name="CORE-SOUNDS-ES-ULAW" displayname="Spanish, mu-Law format">
		</member>
		<member name="CORE-SOUNDS-ES-ALAW" displayname="Spanish, a-Law format">
		</member>
		<member name="CORE-SOUNDS-ES-GSM" displayname="Spanish, GSM format">
		</member>
		<member name="CORE-SOUNDS-ES-G729" displayname="Spanish, G.729 format">
		</member>
		<member name="CORE-SOUNDS-ES-G722" displayname="Spanish, G.722 format">
		</member>
		<member name="CORE-SOUNDS-ES-SLN16" displayname="Spanish, Signed-linear 16kHz format">
		</member>
		<member name="CORE-SOUNDS-ES-SIREN7" displayname="Spanish, G.722.1 (Siren7) format">
		</member>
		<member name="CORE-SOUNDS-ES-SIREN14" displayname="Spanish, G.722.1C (Siren14) format">
		</member>
		<member name="CORE-SOUNDS-FR-WAV" displayname="French, WAV format">
		</member>
		<member name="CORE-SOUNDS-FR-ULAW" displayname="French, mu-Law format">
		</member>
		<member name="CORE-SOUNDS-FR-ALAW" displayname="French, a-Law format">
		</member>
		<member name="CORE-SOUNDS-FR-GSM" displayname="French, GSM format">
		</member>
		<member name="CORE-SOUNDS-FR-G729" displayname="French, G.729 format">
		</member>
		<member name="CORE-SOUNDS-FR-G722" displayname="French, G.722 format">
		</member>
		<member name="CORE-SOUNDS-FR-SLN16" displayname="French, Signed-linear 16kHz format">
		</member>
		<member name="CORE-SOUNDS-FR-SIREN7" displayname="French, G.722.1 (Siren7) format">
		</member>
		<member name="CORE-SOUNDS-FR-SIREN14" displayname="French, G.722.1C (Siren14) format">
		</member>
		<member name="CORE-SOUNDS-EN_AU-WAV" displayname="English (Australian Accent), WAV format">
		</member>
		<member name="CORE-SOUNDS-EN_AU-ULAW" displayname="English (Australian Accent), mu-Law format">
		</member>
		<member name="CORE-SOUNDS-EN_AU-ALAW" displayname="English (Australian Accent), a-Law format">
		</member>
		<member name="CORE-SOUNDS-EN_AU-GSM" displayname="English (Australian Accent), GSM format">
		</member>
		<member name="CORE-SOUNDS-EN_AU-G729" displayname="English (Australian Accent), G.729 format">
		</member>
		<member name="CORE-SOUNDS-EN_AU-G722" displayname="English (Australian Accent), G.722 format">
		</member>
		<member name="CORE-SOUNDS-EN_AU-SLN16" displayname="English (Australian Accent), Signed-linear 16kHz format">
		</member>
		<member name="CORE-SOUNDS-EN_AU-SIREN7" displayname="English (Australian Accent), G.722.1 (Siren7) format">
		</member>
		<member name="CORE-SOUNDS-EN_AU-SIREN14" displayname="English (Australian Accent), G.722.1C (Siren14) format">
		</member>
		<member name="CORE-SOUNDS-RU-WAV" displayname="Russian, WAV format">
		</member>
		<member name="CORE-SOUNDS-RU-ULAW" displayname="Russian, mu-Law format">
		</member>
		<member name="CORE-SOUNDS-RU-ALAW" displayname="Russian, a-Law format">
		</member>
		<member name="CORE-SOUNDS-RU-GSM" displayname="Russian, GSM format" >
		</member>
		<member name="CORE-SOUNDS-RU-G729" displayname="Russian, G.729 format">
		</member>
		<member name="CORE-SOUNDS-RU-G722" displayname="Russian, G.722 format">
		</member>
		<member name="CORE-SOUNDS-RU-SLN16" displayname="Russian, Signed-linear 16kHz format">
		</member>
		<member name="CORE-SOUNDS-RU-SIREN7" displayname="Russian, G.722.1 (Siren7) format">
		</member>
		<member name="CORE-SOUNDS-RU-SIREN14" displayname="Russian, G.722.1C (Siren14) format">
		</member>
	</category>
	<category name="MENUSELECT_MOH" displayname="Music On Hold File Packages" positive_output="yes">
		<member name="MOH-OPSOUND-WAV" displayname="opsound.org Music On Hold Files, WAV format" >
			<defaultenabled>yes</defaultenabled>
		</member>
		<member name="MOH-OPSOUND-ULAW" displayname="opsound.org Music On Hold Files, mu-Law format" >
		</member>
		<member name="MOH-OPSOUND-ALAW" displayname="opsound.org Music On Hold Files, a-Law format" >
		</member>
		<member name="MOH-OPSOUND-GSM" displayname="opsound.org Music On Hold Files, GSM format" >
		</member>
		<member name="MOH-OPSOUND-G729" displayname="opsound.org Music On Hold Files, G.729 format" >
		</member>
		<member name="MOH-OPSOUND-G722" displayname="opsound.org Music On Hold Files, G.722 format" >
		</member>
		<member name="MOH-OPSOUND-SLN16" displayname="opsound.org Music On Hold Files, Signed-linear 16kHz format" >
		</member>
		<member name="MOH-OPSOUND-SIREN7" displayname="opsound.org Music On Hold Files, G.722.1 (Siren7) format" >
		</member>
		<member name="MOH-OPSOUND-SIREN14" displayname="opsound.org Music On Hold Files, G.722.1C (Siren14) format" >
		</member>
	</category>
	<category name="MENUSELECT_EXTRA_SOUNDS" displayname="Extras Sound Packages" positive_output="yes">
		<member name="EXTRA-SOUNDS-EN-WAV" displayname="English, WAV format">
		</member>
		<member name="EXTRA-SOUNDS-EN-ULAW" displayname="English, mu-Law format">
		</member>
		<member name="EXTRA-SOUNDS-EN-ALAW" displayname="English, a-Law format">
		</member>
		<member name="EXTRA-SOUNDS-EN-GSM" displayname="English, GSM format" >
		</member>
		<member name="EXTRA-SOUNDS-EN-G729" displayname="English, G.729 format">
		</member>
		<member name="EXTRA-SOUNDS-EN-G722" displayname="English, G.722 format">
		</member>
		<member name="EXTRA-SOUNDS-EN-SLN16" displayname="English, Signed-linear 16kHz format">
		</member>
		<member name="EXTRA-SOUNDS-EN-SIREN7" displayname="English, G.722.1 (Siren7) format">
		</member>
		<member name="EXTRA-SOUNDS-EN-SIREN14" displayname="English, G.722.1C (Siren14) format">
		</member>
		<member name="EXTRA-SOUNDS-FR-WAV" displayname="French, WAV format">
		</member>
		<member name="EXTRA-SOUNDS-FR-ULAW" displayname="French, mu-Law format">
		</member>
		<member name="EXTRA-SOUNDS-FR-ALAW" displayname="French, a-Law format">
		</member>
		<member name="EXTRA-SOUNDS-FR-GSM" displayname="French, GSM format" >
		</member>
		<member name="EXTRA-SOUNDS-FR-G729" displayname="French, G.729 format">
		</member>
		<member name="EXTRA-SOUNDS-FR-G722" displayname="French, G.722 format">
		</member>
		<member name="EXTRA-SOUNDS-FR-SLN16" displayname="French, Signed-linear 16kHz format">
		</member>
		<member name="EXTRA-SOUNDS-FR-SIREN7" displayname="French, G.722.1 (Siren7) format">
		</member>
		<member name="EXTRA-SOUNDS-FR-SIREN14" displayname="French, G.722.1C (Siren14) format">
		</member>
	</category>
</menu>

Added contrib/asterisk/pre-install.





















>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
#!/bin/sh

# check for asterisk group or add one
getent group asterisk || /usr/sbin/groupadd -g 79 asterisk

# check for asterisk user or add one
getent passwd asterisk || /usr/sbin/useradd -g asterisk -u 79 -d /var/empty -s /bin/false -c "Asterisk User" asterisk

# lock the account
/usr/bin/passwd -l asterisk

Added contrib/asterisk/system-ilbc.patch.























>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
--- asterisk-1.8.4-rc2/codecs/Makefile.orig	2011-03-10 11:24:13.230106368 +0900
+++ asterisk-1.8.4-rc2/codecs/Makefile	2011-03-10 11:25:02.246768144 +0900
@@ -17,7 +17,7 @@
 MENUSELECT_CATEGORY=CODECS
 MENUSELECT_DESCRIPTION=Codec Translators
 
-LIBILBC:=ilbc/libilbc.a
+LIBILBC:=/usr/lib/libilbc.a
 LIBLPC10:=lpc10/liblpc10.a
 
 all: _all

Added contrib/asterisk14-addons/Pkgfile.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Description:	Asterisk addons
# URL:		http://www.asterisk.org
# Maintainer:   Alan Mizrahi, alan at mizrahi dot com dot ve
# Depends on:	asterisk

name=asterisk14-addons
version=1.4.12
release=1
source=(http://downloads.digium.com/pub/asterisk/releases/$name-$version.tar.gz)

build () {
	cd $name-$version
	./configure --prefix=/usr
	make DESTDIR=$PKG install
}

Added contrib/asterisk14/Pkgfile.

































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# Description:	PBX Software implementation
# URL:		http://www.asterisk.org
# Maintainer:   Alan Mizrahi, alan at mizrahi dot com dot ve
# Depends on:	openssl, ncurses, ilbc

name=asterisk14
version=1.4.38
release=1
source=(
http://downloads.digium.com/pub/$name/releases/$name-$version.tar.gz
asterisk.rc
asterisk-config.patch
asterisk-ilbc.patch
)

build () {
	cd $name-$version

	# Menuselect configuration patch to remove default sounds and moh
	patch -p1 -i $SRC/asterisk-config.patch

	# Add ilbc codec
	patch -p1 -i $SRC/asterisk-ilbc.patch

	./configure --prefix=/usr --with-ncurses --with-ssl
	make
	make DESTDIR=$PKG install
	make DESTDIR=$PKG samples

	mv $PKG/usr/share/man $PKG/usr
	install -m 755 -D $SRC/asterisk.rc $PKG/etc/rc.d/asterisk
	rmdir  $PKG/usr/{share,bin}
	rm -rf $PKG/var/spool/asterisk/voicemail/default/1234

	# Remove empty directory holders
	rmdir $PKG/var/lib/asterisk/sounds/*

	# change runtime dir
	sed -i -e 's|^astrundir => .*|astrundir => /var/run/asterisk|' $PKG/etc/asterisk/asterisk.conf
	mkdir -p $PKG/var/run/asterisk

	# create empty astdb database
	touch $PKG/var/lib/asterisk/astdb

	# fix permissions
	chown -R root:root $PKG
	chown -R asterisk:asterisk $PKG/var/{lib,log,run,spool}/asterisk
}

Added contrib/asterisk14/asterisk-config.patch.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
--- asterisk-1.4.29.1/menuselect-tree.orig	2010-05-21 10:16:30.103446446 +0900
+++ asterisk-1.4.29.1/menuselect-tree	2010-05-21 10:16:32.054247536 +0900
@@ -516,7 +516,6 @@
 		<member name="CORE-SOUNDS-EN-ALAW" displayname="English, a-Law format">
 		</member>
 		<member name="CORE-SOUNDS-EN-GSM" displayname="English, GSM format" >
-			<defaultenabled>yes</defaultenabled>
 		</member>
 		<member name="CORE-SOUNDS-EN-G729" displayname="English, G.729 format">
 		</member>
@@ -549,7 +548,6 @@
 	</category>
 	<category name="MENUSELECT_MOH" displayname="Music On Hold File Packages" positive_output="yes">
 		<member name="MOH-OPSOUND-WAV" displayname="opsound.org Music On Hold Files, WAV format" >
-			<defaultenabled>yes</defaultenabled>
 		</member>
 		<member name="MOH-OPSOUND-ULAW" displayname="opsound.org Music On Hold Files, mu-Law format" >
 		</member>

Added contrib/asterisk14/asterisk-ilbc.patch.





























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
--- asterisk-1.4.35/codecs/Makefile.orig	2010-11-24 01:40:53.142139098 +0900
+++ asterisk-1.4.35/codecs/Makefile	2010-11-24 01:43:10.535459241 +0900
@@ -29,7 +29,7 @@
   LOADABLE_MODS:=
 endif
 
-LIBILBC:=ilbc/libilbc.a
+LIBILBC:=/usr/lib/libilbc.a
 LIBLPC10:=lpc10/liblpc10.a
 
 all: _all
@@ -56,6 +56,6 @@
 $(if $(filter codec_lpc10,$(EMBEDDED_MODS)),modules.link,codec_lpc10.so): $(LIBLPC10)
 
 $(LIBILBC):
-	@$(MAKE) -C ilbc all _ASTCFLAGS="$(filter-out -Wmissing-prototypes -Wmissing-declarations,$(_ASTCFLAGS)) $(AST_NO_STRICT_OVERFLOW)"
+#	@$(MAKE) -C ilbc all _ASTCFLAGS="$(filter-out -Wmissing-prototypes -Wmissing-declarations,$(_ASTCFLAGS)) $(AST_NO_STRICT_OVERFLOW)"
 
 $(if $(filter codec_ilbc,$(EMBEDDED_MODS)),modules.link,codec_ilbc.so): $(LIBILBC)
--- asterisk-1.4.35/menuselect-tree.orig	2010-11-05 16:11:43.177741233 +0900
+++ asterisk-1.4.35/menuselect-tree	2010-11-05 16:11:53.904406851 +0900
@@ -279,7 +279,7 @@
 	<depend>gsm</depend>
 </member>
 <member name="codec_ilbc" displayname="iLBC Coder/Decoder" remove_on_change="codecs/codec_ilbc.o codecs/codec_ilbc.so">
-	<defaultenabled>no</defaultenabled>
+	<defaultenabled>yes</defaultenabled>
 </member>
 <member name="codec_lpc10" displayname="LPC10 2.4kbps Coder/Decoder" remove_on_change="codecs/codec_lpc10.o codecs/codec_lpc10.so">
 </member>

Added contrib/asterisk14/asterisk.rc.























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/bin/sh
#
# /etc/rc.d/asterisk: start/stop/restart asterisk
#

USER=asterisk
GROUP=asterisk

case $1 in
start)
	(cd /; /usr/sbin/asterisk -G $GROUP -U $USER)
	;;
startdebug)
	/usr/sbin/asterisk -G $GROUP -U $USER -vvv
	;;
stop)
	[ -f /var/run/asterisk/asterisk.pid ] && kill `cat /var/run/asterisk/asterisk.pid`
	;;
restart)
	$0 stop
	sleep 2
	$0 start
	;;
*)
	echo "usage: $0 [start|stop|restart]"
	;;
esac

Added contrib/asterisk14/pre-install.





















>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
#!/bin/sh

# check for asterisk group or add one
getent group asterisk || /usr/sbin/groupadd -g 79 asterisk

# check for asterisk user or add one
getent passwd asterisk || /usr/sbin/useradd -g asterisk -u 79 -d /var/empty -s /bin/false -c "Asterisk User" asterisk

# lock the account
/usr/bin/passwd -l asterisk

Added contrib/at/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: at, batch - queue, examine or delete jobs for later execution
# URL: http://ftp.debian.org/debian/pool/main/a/at/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Jose V Beneyto, sepen at crux dot nu
# Depends on: exim

name=at
version=3.1.12
release=1
source=(ftp://ftp.debian.org/debian/pool/main/a/$name/${name}_$version.orig.tar.gz \
        atd)

build() {
  cd $name-$version
  export SENDMAIL=/usr/sbin/sendmail
  ./configure --prefix=/usr \
              --mandir=/usr/man
  make IROOT=$PKG install
  rm -rf $PKG/usr/doc
  install -D -m 0755 $SRC/atd $PKG/etc/rc.d/atd
}

Added contrib/at/atd.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/bin/sh
#
# /etc/rc.d/atd: start/stop at daemon
#

case $1 in
  start)
    /usr/sbin/atd
    ;;
  stop)
    killall -q /usr/sbin/atd
    ;;
  restart)
    $0 stop
    sleep 2
    $0 start
    ;;
  *)
    echo "usage: $0 [start|stop|restart]"
    ;;
esac

# End of file

Added contrib/atanks/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Annihilate the other tanks to earn money, then spend it on bigger and better shields and weapons to wipe out the opposition.
# URL: http://atanks.sourceforge.net/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com
# Depends on: allegro4

name=atanks
version=5.4
release=1
source=(http://downloads.sourceforge.net/project/$name/$name/$name-$version/$name-$version.tar.gz
	$name-5.2-install.patch)

build() {
	cd $name-$version
	patch -p 1 -i $SRC/$name-5.2-install.patch
	make
	make DESTDIR=$PKG install
}

Added contrib/atanks/atanks-5.2-install.patch.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
diff -pruN atanks-5.2.orig/Makefile atanks-5.2/Makefile
--- atanks-5.2.orig/Makefile	2012-01-22 00:49:19.738203417 +0000
+++ atanks-5.2/Makefile	2012-01-22 00:49:40.482203427 +0000
@@ -4,16 +4,16 @@ DESTDIR ?=
 BINPREFIX = $(PREFIX)
 
 BINDIR = ${BINPREFIX}bin/
-INSTALLDIR = ${PREFIX}share/games/atanks
+INSTALLDIR = ${PREFIX}share/atanks
 
 export VERSION
 export PREFIX
 export INSTALLDIR
 
 FILENAME=atanks-${VERSION}
-INSTALL=$(PREFIX)bin/install -c
+INSTALL=$(PREFIX)bin/install
 DISTCOMMON=atanks/*.dat atanks/COPYING atanks/README atanks/TODO atanks/Changelog atanks/BUGS atanks/*.txt
-INCOMMON=COPYING README TODO Changelog *.txt unicode.dat
+INCOMMON=*.txt unicode.dat
 
 all:
 	FLAGS=-DLINUX $(MAKE) -C src

Added contrib/atitvout/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Utility to switch to TV-Out on ATI Video Cards.
# URL: http://0pointer.de/lennart/projects/atitvout/
# Maintainer: Jose V Beneyto, sepen at users dot sourceforge dot net
# Packager: James Mills, prologic at shortcircuit dot net dot au
# Depends on:

name=atitvout
version=0.4
release=1
source=(http://0pointer.de/lennart/projects/$name/$name-$version.tar.gz \
        $name-patch)

build() {
   cd $name
   patch -p1 -i $SRC/$name-patch
   make
   make DESTDIR=$PKG install
}

Added contrib/atitvout/atitvout-patch.



















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
diff -pruN atitvout.orig/Makefile atitvout/Makefile
--- atitvout.orig/Makefile	2005-10-04 23:27:58.000000000 +1000
+++ atitvout/Makefile	2005-10-04 23:35:48.000000000 +1000
@@ -4,6 +4,8 @@ OBJS=atitvout.o ati.o vbeinfo.o vbecall.
 TAR=atitvout-$(VERSION).tar.gz
 BINARY=atitvout
 PACKAGE=atitvout
+PREFIX=/usr
+DESTDIR=
 
 all: $(BINARY)
 
@@ -21,10 +23,10 @@ clean:
 	make -C lrmi-0.6 clean
 
 install: strip
-	install -g root -o root -m 555 $(BINARY) /usr/local/sbin
+	install -D -m 0555 $(BINARY) ${DESTDIR}${PREFIX}/sbin/$(BINARY)
 
 deinstall:
-	rm -f /usr/local/sbin/$(BINARY)
+	rm -f ${DESTDIR}${PREFIX}/sbin
 
 README: README.in
 	sed s/VERSION/$(VERSION)/ < README.in > README

Added contrib/atkmm/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description: C++ interface for atk
# URL: http://gtkmm.sourceforge.net/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com
# Depends on: glibmm

name=atkmm
version=2.22.6
release=1
source=(http://ftp.gnome.org/pub/GNOME/sources/$name/${version%.*}/$name-$version.tar.bz2)

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--disable-dependency-tracking \
		--disable-documentation

	make
	make DESTDIR=$PKG install
}

Added contrib/avidemux/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: Video editor designed for simple cutting, filtering and encoding tasks.
# URL: http://www.avidemux.org/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Brett Goulder, predatorfreak at dcaf-security dot org
# Depends on: cmake yasm libxml2

name=avidemux
version=2.5.5
release=1
source=(http://downloads.sourceforge.net/project/$name/$name/$version/${name}_$version.tar.gz)

build() {
	cd ${name}_$version
	install -d build
	cd build
	cmake .. -DCMAKE_INSTALL_PREFIX=$PKG/usr -DMANSUBDIR=man
	make install
	rm -rf $PKG/usr/share/locale
}

Added contrib/baras/Pkgfile.



























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# Description: backup script utilizing DAR (Disk ARchive)
# URL: http://sourceforge.net/projects/baras
# Maintainer: Simon Glossner, viper at hometux dot de
# Packager: Simon Glossner, viper at hometux dot de
# Depends on: dar
# Nice to have: par2cmdline

name=baras
version=099c
release=1
source=(http://download.sourceforge.net/baras/$name-$version.tar.bz2 baras.patch)

build() {
    cd $name

    patch -p1 < $SRC/baras.patch
    
    mkdir -p $PKG/etc/baras
    mkdir -p $PKG/usr/bin
    mkdir -p $PKG/usr/lib/baras

    install -m 0755 ADMConfProcess.pm $PKG/usr/lib/baras/
    install -m 0644 ADMMailHandler.pm $PKG/usr/lib/baras/
    install -m 0755 baras.pl $PKG/usr/lib/baras/

    install -m 0644 etc/baras/* $PKG/etc/baras/

    ln -s /usr/lib/baras/baras.pl $PKG/usr/bin/baras
}

Added contrib/baras/baras.patch.









































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
diff -Nru baras/baras.pl baras-new/baras.pl
--- baras/baras.pl	2009-02-22 22:27:11.000000000 +0100
+++ baras-new/baras.pl	2009-02-27 04:11:20.000000000 +0100
@@ -1,7 +1,7 @@
 #!/usr/bin/perl -w
 
 BEGIN {
-   push @INC, "/var/adm/baras/";
+   push @INC, "/usr/lib/baras/";
 }
 
 use strict;
diff -Nru baras/etc/baras/baras.conf baras-new/etc/baras/baras.conf
--- baras/etc/baras/baras.conf	2009-02-22 22:28:33.000000000 +0100
+++ baras-new/etc/baras/baras.conf	2009-02-27 04:13:01.000000000 +0100
@@ -54,9 +54,9 @@
 # If you are tight for space, we can delete before starting
 REMOVE_FIRST="no"
 
-# PAR2 usage
-PAR_ARCHIVE="two"
-PAR2=/usr/bin/par2
+# PAR2 usage (uncomment to activate)
+#PAR_ARCHIVE="two"
+#PAR2=/usr/bin/par2
 #PAR2_PERCENTAGE=5
 
 # Pre-processing
@@ -100,13 +100,13 @@
 #BASENAME="$(date +'%m-%d-%Y_%H%M')"
 
 # The location of the DAR executable file
-DAR_BINARY="/usr/local/bin/dar"
+DAR_BINARY="/usr/bin/dar"
 
 # The location of the DAR MANAGER executable file
-DAR_MGR_BINARY="/usr/local/bin/dar_manager"
+DAR_MGR_BINARY="/usr/bin/dar_manager"
 
 # The location of the statically-compiled DAR executable file
-DAR_STATIC="/usr/local/bin/dar_static"
+DAR_STATIC="/usr/bin/dar_static"
 
 # The temporary directory name that backups will be created in. This will be created underneath $DESTINATION.
 WORK_DIR=".baras_temp_workdir"
@@ -118,6 +118,3 @@
 # that option if needed at run-time, according to the rotation.schedule.
 DAR_COMMAND="$DAR_BINARY -Q --batch $BARAS_ETC/$BARAS_DCF -c $DAR_CREATE --noconf"
 
-# Location and name of temporary log file
-TEMP_LOG="$BARAS_ETC/baras_temp.log"
-

Added contrib/beautifulsoup/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: Python HTML/XML Parser.
# URL: http://www.crummy.com/software/BeautifulSoup/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: James Mills, prologic at shortcircuit dot net dot au
# Depends on: python

name=beautifulsoup
version=3.2.1
release=1
source=(http://www.crummy.com/software/BeautifulSoup/download/3.x/BeautifulSoup-$version.tar.gz)

build() {
	cd BeautifulSoup-$version
	python setup.py install --root=$PKG
	find $PKG -name '*.egg-info' | xargs rm -rf
}

Added contrib/bftpd/Pkgfile.





































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# Description: Small, easy-to-configure FTP server.
# URL: http://bftpd.sourceforge.net/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Simone Rota, sip at crux dot nu

name=bftpd
version=3.7
release=1
source=(http://downloads.sourceforge.net/project/$name/$name/$name-$version/$name-$version.tar.gz
	ftpd)

build () {
	cd $name

	./configure \
		--prefix=/usr \
		--sysconfdir=/etc \
		--localstatedir=/var \
		--enable-libz

	make
	install -d $PKG/usr/sbin $PKG/usr/man/man8 $PKG/etc $PKG/etc/rc.d
	make DESTDIR=$PKG install

	# bftpd version 3.7 moved these directories and --sysconfdir
	# --localstatedir does not work currently
	mv $PKG/usr/etc/bftpd.conf $PKG/etc/
	mv $PKG/usr/var $PKG/var/
	rmdir $PKG/usr/etc

	install -D -m 0755 $SRC/ftpd $PKG/etc/rc.d/ftpd
	chmod 0600 $PKG/etc/bftpd.conf
	ln -sf bftpd $PKG/usr/sbin/in.ftpd
}

Added contrib/bftpd/ftpd.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/bin/sh
#
# /etc/rc.d/ftpd: start/stop ftp daemon
#

case $1 in
start)
	/usr/sbin/bftpd -d
	;;
stop)
	killall -q bftpd
	;;
restart)
	$0 stop
	sleep 2
	$0 start
	;;
*)
	echo "usage: $0 [start|stop|restart]"
	;;
esac

# End of file

Added contrib/bind/Pkgfile.

































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# Description: Berkeley Internet Name Domain Service. 
# URL:         http://www.isc.org/products/BIND/
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    Daniel Mueller, daniel at danm dot de
# Depends on: 

name=bind
version=9.8.2
release=1
source=(ftp://ftp.isc.org/isc/bind9/$version/$name-$version.tar.gz \
  ftp://ftp.rs.internic.net/domain/named.root \
  db.0.0.127 db.localhost db.ip6.arpa named named.conf)

build() {
  cd $name-$version
  sed -i -e 's|\@LN\@ \${man3}/|ln -s |g' lib/lwres/man/Makefile.in

  ./configure \
    --prefix=/usr \
    --enable-ipv6 \
    --enable-threads \
    --with-openssl=yes \
    --sysconfdir=/etc \
    --mandir=/usr/man

  make && make DESTDIR=$PKG install

  install -d $PKG/var/{named,run/named}

  install -D -m755 $SRC/named $PKG/etc/rc.d/named
  install -D -m640 -gnamed $SRC/named.conf $PKG/etc/named.conf
  install -m640 -gnamed $SRC/named.root $SRC/db.* $PKG/var/named/

  chown root:named $PKG/var/named
  chmod 1770 $PKG/var/named

  touch $PKG/etc/rndc.{conf,key}
  chown root:named $PKG/var/run/named $PKG/etc/rndc.{conf,key}
  chmod 770 $PKG/var/run/named 
  chmod 640 $PKG/etc/rndc.{conf,key}
  touch $PKG/var/run/named/named.pid

  rm -f $PKG/usr/bin/{dig,host}
  rm -rf $PKG/usr/man/man1

  chown named:named $PKG/var/run/named/named.pid 
}

Added contrib/bind/README.

































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# $Id:

REQUIREMENTS:

PRECAUTION:

1. DON'T RUN BIND AS UID ROOT OR NOBODY !
2. If you need only a caching/forwarding DNS server for your
   small local network don't use bind for this. Dnsmasq is the 
   suitable program for this application. You can find a port 
   for dnsmasq under /usr/ports/contrib/dnsmasq.

Juergen Daubert <juergen.daubert@t-online.de>,
James Mills <prologic@shortcircuit.net.au>

PRE-INSTALL:

1. Create user/group named with an unused id < 99:
   'groupadd -g 25 named'
   'useradd -g named -u 25 -d /var/named -s /bin/false named'
   'passwd -l named'
	    
POST-INSTALL:

PRE-REMOVE:

POST-REMOVE:

NOTES:

Juergen Daubert <juergen.daubert@t-online.de>,
James Mills <prologic@shortcircuit.net.au>

Added contrib/bind/db.0.0.127.





















>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
$TTL 3d
@			IN SOA 	localhost. root.localhost. (
				1	; serial
				3h	; refresh 
				1h	; retry 
				1w	; expire 
				1h )	; negatice caching-ttl 
@			IN NS	localhost.
1			IN PTR	localhost.

Added contrib/bind/db.ip6.arpa.



















>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
$TTL 3d
@	IN	SOA	localhost.	root.localhost.	(
					     1       ; serial
	                                     3h      ; refresh 
	                                     1h      ; retry 
	                                     1w      ; expire 
	                                     1h )    ; negative caching-ttl 
	IN	NS	localhost.
	IN	PTR	localhost.

Added contrib/bind/db.localhost.



























>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
$TTL 3d
@			IN SOA 	localhost. root.localhost. (
				1 	; serial
				3h	; refresh 
				1h	; retry 
				1w	; expire 
				1h )	; negative caching-ttl 
; domain localhost
			IN NS		localhost.
; IPv4
			IN A		127.0.0.1
; IPv6
			IN AAAA		::1

Added contrib/bind/named.







































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#! /bin/sh
#
# /etc/rc.d/named: start/stop/restart/reload the bind name service
#

NAMED_CONF=/etc/named.conf
RNDC_CONF=/etc/rndc.conf
RNDC_KEY=/etc/rndc.key
NAMED_USER=named

case $1 in
start)
	if [ ! -s $RNDC_CONF ]; then
		echo "Creating $RNDC_CONF and $RNDC_KEY .."
		/usr/sbin/rndc-confgen > $RNDC_CONF
		head -5 $RNDC_CONF | grep -v "^#" > $RNDC_KEY
	fi

	# DON'T RUN BIND AS ROOT NOR NOBODY !
	/usr/sbin/named -c $NAMED_CONF -u $NAMED_USER &
	;;
stop)
	TEST=`pidof /usr/sbin/named`
	if [ "$TEST" = "" ] ; then
		echo "Bind is not running!"
	else
		kill -TERM $TEST
	fi
	;;
restart)
	$0 stop
	$0 start
	;;
reload)
	TEST=`pidof /usr/sbin/named`
	if [ "$TEST" = "" ] ; then
		$0 start
	else
		echo "Reloading bind.."
		kill -HUP $TEST
	fi
	;;
*)
	echo "Usage: $0 [start|stop|restart|reload]"
	exit 1
	;;
esac

#
# End of file
#

Added contrib/bind/named.conf.











































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
/* 	
 * /etc/named.conf
*/

/************* global options *************/
options {
	directory "/var/named";
	pid-file "/var/run/named/named.pid";
	dump-file "/var/named/dump.named";	// cache file
	request-ixfr yes;			// save bandwidth
	recursion yes;				// please restrict this
	allow-transfer {none;};
	
	//forwarders {			
	//		217.5.100.1;		// forward queries to external dns servers
	//		194.25.2.129;		// (sample: german telekom)
	//};
	
	//listen-on {
	//		127.0.0.1;	
	//		192.168.10.1;
	//	};
	
	listen-on { any; };			// listen on all IPv4 interfaces
	listen-on-v6 { any; };			// listen on all IPv6 interfaces 
};

/************* zone info *************/
// main zone
zone "." in {
	type hint;
	file "named.root";
};
// IPv4, localhost reverse mapping
zone "0.0.127.in-addr.arpa" in {
	type master;
	file "db.0.0.127";
};
// IPv6, localhost reverse mapping RFC 3152
zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA" in {
	type master;
	file "db.ip6.arpa";
};
// IPv6, localhost reverse mapping RFC 1886 -- deprecated
zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.INT" in {
	type master;
	file "db.ip6.arpa";
};
// localhost zone
zone "localhost" in {
	type master;
	file "db.localhost";
};

Added contrib/bind/pre-install.





























>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/bin/sh

if [ -z "`getent group named`" ]
then
  /usr/sbin/groupadd -g 25 named
fi

if [ -z "`getent passwd named`" ]
then
  /usr/sbin/useradd  -u 25 -g named -d /var/named -s /bin/false named
  /usr/bin/passwd -l named
fi

# End of file

Added contrib/blender/10_use_systemwide_ftgl.













































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38

--- a/tools/Blender.py
+++ b/tools/Blender.py
@@ -189,6 +189,8 @@ def setup_syslibs(lenv):
 		syslibs += Split(lenv['BF_OPENGL_LIB'])
 	if lenv['OURPLATFORM'] in ('win32-vc', 'win32-mingw','linuxcross'):
 		syslibs += Split(lenv['BF_PTHREADS_LIB'])
+	if lenv['WITH_BF_FTGL']:
+		syslibs += Split(lenv['BF_FTGL_LIB'])
 
 	syslibs += lenv['LLIBS']
 
--- a/extern/SConscript
+++ b/extern/SConscript
@@ -12,7 +12,9 @@ if env['WITH_BF_BULLET']:
     SConscript(['bullet2/src/SConscript'])
 
 if env['WITH_BF_INTERNATIONAL']:
-    SConscript(['bFTGL/SConscript'])
+    # Only if the internal copy is used.
+    if env['BF_FTGL'].startswith('#extern'):
+        SConscript(['bFTGL/SConscript'])
 
 if env['WITH_BF_VERSE']:
     SConscript(['verse/dist/SConstruct'])
--- a/source/blender/ftfont/intern/FTF_TTFont.h
+++ b/source/blender/ftfont/intern/FTF_TTFont.h
@@ -34,8 +34,7 @@
 #ifndef __FTF_TRUETYPE_FONT_H
 #define __FTF_TRUETYPE_FONT_H
 
-#include "FTGLPixmapFont.h"
-#include "FTGLTextureFont.h"
+#include <FTGL/ftgl.h>
 
 #include <stdio.h>
 //#include <iconv.h>

Added contrib/blender/20_fix_ftbfs_with_latest_ftgl.



























>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13

--- a/source/blender/ftfont/intern/FTF_TTFont.cpp
+++ b/source/blender/ftfont/intern/FTF_TTFont.cpp
@@ -41,6 +41,8 @@
 #include "BKE_utildefines.h"
 #endif
 
+#include <GL/gl.h>
+
 #define DOMAIN_NAME "blender"
 
 #define SYSTEM_ENCODING_DEFAULT "UTF-8"

Added contrib/blender/Pkgfile.





















































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# Description: Fully integrated 3D graphics creation suite
# URL: http://www.blender.org/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Jose V Beneyto, sepen at crux dot nu
# Depends on: xorg-libxi libtiff libpng ode fmod smpeg ftgl scons openexr freealut yasm

name=blender
version=2.49a
release=1
source=(http://download.blender.org/source/$name-$version.tar.gz \
        10_use_systemwide_ftgl 20_fix_ftbfs_with_latest_ftgl)

build() {
  cd $name-$version

  patch -p1 -i $SRC/10_use_systemwide_ftgl
  patch -p1 -i $SRC/20_fix_ftbfs_with_latest_ftgl

  sed -e "s/-O2/${CFLAGS// /\' ,\'}/g" -i SConstruct
  sed -e '/C_WARN/ s/-Wdeclaration-after-statement//' \
      -i config/linux2-config.py

  scons \
    WITH_BF_OPENAL=yes \
    WITH_BF_FMOD=yes \
    WITH_BF_OPENEXR=yes \
    WITH_BF_FFMPEG=yes \
    WITH_BF_JPEG=yes \
    WITH_BF_PNG=yes \
    WITH_BF_ZLIB=yes \
    WITH_BF_INTERNATIONAL=yes \
    WITH_BF_GAMEENGINE=yes \
    WITH_BF_ODE=yes \
    WITH_BF_FTGL=yes \
    BF_FTGL_INC=/usr/include/FTGL \
    BF_FTGL_LIB=$(pkg-config --libs ftgl) \
    WITH_BF_PLAYER=yes \
    BF_DEBUG=no

  install -D -m 0755 $SRC/install/linux2/$name $PKG/usr/bin/$name
  install -D -m 0755 $SRC/install/linux2/${name}player $PKG/usr/bin/${name}player
}

Added contrib/bluez/Pkgfile.





























































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# Description:	Bluetooth libraries and utilities
# URL:		http://www.bluez.org
# Maintainer:	Alan Mizrahi, alan at mizrahi dot com dot ve
# Depends on:	dbus

name=bluez
version=4.99
release=1
source=(http://www.kernel.org/pub/linux/bluetooth/$name-$version.tar.gz bluetooth.rc)

build() {
	# note: sysconfdir is /usr/etc instead of /etc on purpose
	# in CRUX some people use /usr/etc for config files, I know its stupid

	cd $name-$version
	./configure \
		--prefix=/usr \
		--sysconfdir=/usr/etc \
		--mandir=/usr/man \
		--localstatedir=/var \
		--enable-usb \
		--enable-tools \
		--enable-hid2hci \
		--enable-hidd \
		--enable-pand \
		--enable-dund \
		--enable-alsa \
		--enable-bccmd \
		--enable-dfutool \
		--enable-cups \
		--enable-gstreamer \
		--disable-test
	make
	make DESTDIR=$PKG install

	for i in network input audio serial; do
		cp $i/$i.conf $PKG/usr/etc/bluetooth
	done

	install -m 755 -o root -g root -D test/simple-agent $PKG/usr/bin/bluez-simple-agent
	install -m 755 -o root -g root -D test/test-device $PKG/usr/bin/bluez-test-device
	install -m 755 -o root -g root -D test/test-input $PKG/usr/bin/bluez-test-input
	install -m 755 -o root -g root -D $SRC/bluetooth.rc $PKG/etc/rc.d/bluetooth

	rm $PKG/lib/udev/rules.d/97-bluetooth.rules
}

Added contrib/bluez/README.









>
>
>
>
1
2
3
4
Bluetooth uses dbus for inter-process communication.
If your desktop applications are unable to connect to the bluetooth daemon
please check the bluetooth security policies in
/usr/etc/dbus-1/system.d/bluetooth.conf

Added contrib/bluez/bluetooth.rc.























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/bin/sh
#
# /etc/rc.d/bluetooth: start/stop bluetooth daemon
#

# Note:
# To connect to an input device at boot time, add:
# hidd --connect XX:XX:XX:XX:XX:XX

case $1 in
start)
	/usr/sbin/bluetoothd
	;;
stop)
	killall -e -q bluetoothd
	;;
restart)
	$0 stop
	sleep 2
	$0 start
	;;
*)
	echo "usage: $0 [start|stop|restart]"
	;;
esac

# End of file

Added contrib/bmon/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: Network bandwidth monitor.
# URL: http://freshmeat.net/projects/bmon
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Jukka Heino, jukka dot heino at gmail dot com
# Depends on: ncurses

name=bmon
version=2.1.0
release=1
source=(http://www.hvlinux.net/crux/distfiles/$name/$name-$version.tar.gz
	$name-$version-gcc4.diff)

build() {
	cd $name-$version
	patch -p 1 -i $SRC/$name-$version-gcc4.diff
	./configure --prefix=/usr
	make
	make DESTDIR=$PKG install
}

Added contrib/bmon/bmon-2.1.0-gcc4.diff.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
--- bmon-2.1.0.orig/src/out_xml_event.c	2005-04-05 12:01:33.000000000 -0300
+++ bmon-2.1.0/src/out_xml_event.c	2005-09-09 17:56:07.000000000 -0300
@@ -127,7 +127,7 @@
 	.om_draw = xml_event_draw,
 	.om_set_opts = xml_event_set_opts,
 	.om_probe = xml_event_probe,
-	.om_shutdown xml_event_shutdown,
+	.om_shutdown = xml_event_shutdown
 };
 
 static void __init xml_event_init(void)
--- bmon-2.1.0.orig/src/out_audio.c	2005-04-05 12:01:33.000000000 -0300
+++ bmon-2.1.0/src/out_audio.c	2005-09-09 17:58:20.000000000 -0300
@@ -141,7 +141,7 @@
 	.om_draw = audio_draw,
 	.om_set_opts = audio_set_opts,
 	.om_probe = audio_probe,
-	.om_shutdown audio_shutdown,
+	.om_shutdown = audio_shutdown
 };
 
 static void __init audio_init(void)

Added contrib/bomberclone/Pkgfile.





















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# Description: A clone of Atomic Bomberman (SDL/MultiPlayer/Network).
# URL: http://www.bomberclone.de/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: James Mills, prologic at shortcircuit dot net dot au
# Depends on: sdl_mixer sdl_image

name=bomberclone
version=0.11.9
release=1
source=(http://downloads.sourceforge.net/project/$name/$name/$name-$version.tar.gz)

build() {
	cd $name-$version

	sed -i -e '/^packagedatadir=/s|share/games/${PACKAGE}|share/${PACKAGE}|' configure

	./configure \
		--prefix=/usr \
		--disable-debug \
		--disable-werror \
		--disable-dependency-tracking

	make
	make DESTDIR=$PKG install
	rm -r $PKG/usr/share/doc
}

Added contrib/boost/Pkgfile.















































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# Description: Free peer-reviewed portable C++ source libraries.
# URL: http://www.boost.org/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: sten, nick dot steeves at shaw dot ca
# Depends on: expat icu python

name=boost
version=1.49.0
release=1
source=(http://downloads.sourceforge.net/project/$name/$name/$version/${name}_${version//./_}.tar.bz2)

build() {
	cd ${name}_${version//./_}

	./bootstrap.sh

	sed -i -e "s|-O3|$CXXFLAGS -O3 -Wno-deprecated -fno-strict-aliasing|" \
		tools/build/v2/tools/gcc.jam

	local JOBS="$(sed -e 's/.*\(\-j[ 0-9]\+\) \{0,1\}.*/\1/' <<< $MAKEFLAGS)"

	pushd tools/bcp
	../../bjam \
		$JOBS -q -d 2 \
		debug-symbols=off \
		--toolset=gcc \
		-sEXPAT_INCLUDE=/usr/include \
		-sEXPAT_LIBPATH=/usr/lib \
		-sHAVE_ICU=1

	install -m 0755 -D ../../bin.v2/tools/bcp/gcc-$(gcc -dumpversion)/release/link-static/bcp \
		$PKG/usr/bin/bcp

	popd

	./bjam \
		$JOBS -q -d 2 \
		release \
		threading=single,multi \
		runtime-link=shared \
		link=shared,static \
		debug-symbols=off \
		--toolset=gcc \
		--layout=tagged \
		--prefix=$PKG/usr \
		-sHAVE_ICU=1 \
		-sEXPAT_INCLUDE=/usr/include \
		-sEXPAT_LIBPATH=/usr/lib \
		install

	cd libs/python/pyste/install
	python setup.py install --root=$PKG
	mv $PKG/usr/bin/pyste.py $PKG/usr/bin/pyste
	find $PKG -name '*.egg-info' | xargs rm -rf
}

Added contrib/boxes/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: draw boxes around text
# URL:         http://boxes.thomasjensen.com/boxes.shtml
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Depends on:  

name=boxes
version=1.1
release=1
source=(http://boxes.thomasjensen.com/download/$name-$version.src.tar.gz)

build () {
  cd $name-$version
  sed -i -e "s|^GLOBALCONF.*|GLOBALCONF = /usr/share/boxes/config|" Makefile
  make
  install -D src/boxes $PKG/usr/bin/boxes
  install -D doc/boxes.1 $PKG/usr/man/man1/boxes.1
  install -D boxes-config $PKG/usr/share/boxes/config
}

Added contrib/bpython/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: A fancy interface to the Python interpreter for Unix-like OS
# URL: http://www.bpython-interpreter.org/
# Maintainer: Mikhail Kolesnik, mike at openbunker dot org
# Depends on: pygments
# Nice to have: pygtk

name=bpython
version=0.10.1
release=1
source=(http://www.bpython-interpreter.org/releases/$name-$version.tar.gz)

build() {
	cd $name-$version
	python setup.py install --root=$PKG
	mv $PKG/usr/share/man $PKG/usr/man
	# raises DistributionNotFound otherwise
	#find $PKG -name '*egg-info' | xargs rm -rf
}

Added contrib/bridge-utils/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: Linux IEEE 802.1d ethernet bridging utilities
# URL: http://www.linuxfoundation.org/collaborate/workgroups/networking/bridge
# Maintainer: Matt Housh, jaeger at morpheus dot net

name=bridge-utils
version=1.5
release=1
source=(http://download.sourceforge.net/bridge/$name-$version.tar.gz)

build() {
	cd $name-$version
	autoconf
	./configure --prefix=/usr \
		--mandir=/usr/man
	make
	make DESTDIR=$PKG install
}

Added contrib/btpd/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: BitTorrent client daemon
# URL:         http://wiki.github.com/btpd/btpd/
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  openssl

name=btpd
version=0.16
release=1
source=(http://cloud.github.com/downloads/$name/$name/$name-$version.tar.gz)

build() {
    cd $name-$version
    ./configure --prefix=/usr --mandir=/usr/man
    make
    make DESTDIR=$PKG install
}

Added contrib/bzr/Pkgfile.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Description: Next-generation distributed version control.
# URL: http://bazaar-ng.org/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Johannes Winkelmann, jw at tks6 dot net 
# Depends on: python

name=bzr
version=2.4.2
release=1
source=(http://launchpad.net/$name/${version%.*}/$version/+download/$name-$version.tar.gz)

build() {
  cd $name-$version
  python setup.py install --root=$PKG --prefix=/usr
}

Added contrib/bzr/README.



















>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9

README for bzr


NOTES:

  Installing python-celementtree and python-elementtree which is dependency
  of celementtree speeds up certain operations in bzr and is highly
  recommended for larger trees. It's perfectly optional, though.

Added contrib/cacti/Pkgfile.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Description: An opensources graphing system
# URL: http://cacti.net/index.php
# Packager: Manuel Ruiz, manuel dot tienza at gmail dot com
# Maintainer: Thomas Penteker, tek at serverop dot de
# Depends on: rrdtool mod_php net-snmp php-mysql php php-sockets

name=cacti
version=0.8.7i
release=1
source=(http://www.$name.net/downloads/$name-$version.tar.gz) 

build () {
  #cd $name-$version
  #patch -p1 -i ../cacti_official_patches.diff
  #cd ..

  mkdir -p $PKG/var/www/htdocs    
  mv $name-$version $PKG/var/www/htdocs/$name
  chown -R cactiuser  $PKG/var/www/htdocs/$name/{rra,log}
  sed -i -e "s|\$config\['url_path'] = '/'|\$config\['url_path'] = '/cacti/'|g" \
    $PKG/var/www/htdocs/$name/include/global.php
  rm $PKG/var/www/htdocs/cacti/{README,LICENSE}
  rm -r $PKG/var/www/htdocs/cacti/docs
}

Added contrib/cacti/README.











































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
INSTALL:

    1. Create the MySQL database:

 shell> mysqladmin --user=root create cacti

    2. Import the default cacti database:

 shell> mysql cacti < cacti.sql

    3. Optional: Create a MySQL username and password for Cacti.

 shell> mysql --user=root mysql
 mysql> GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'somepassword';
 mysql> flush privileges;

    4. Edit include/config.php and specify the MySQL user, password and
       database for your Cacti configuration.

 $database_default = "cacti";
 $database_hostname = "localhost";
 $database_username = "cactiuser";
 $database_password = "somepassword";

    5. Add a line to your /etc/crontab file similar to:

 */5 * * * * cactiuser php /var/www/htdocs/cacti/poller.php > /dev/null 2>&1

       Replace /var/www/htdocs/cacti/ with your full Cacti path.

    6. Point your web browser to:

         http://your-server/cacti/

       Log in the with a username/password of admin. You will be required to
       change this password immediately. Make sure to fill in all of the path
       variables carefully and correctly on the following screen.

POST-INSTALL
#!/bin/sh

# change according your root password for mysql
pw=password

mysqladmin --user=root --password=$pw --force drop cacti 
mysqladmin --user=root --password=$pw create cacti
mysql --user=root --password=$pw cacti < /var/www/htdocs/cacti/cacti.sql

echo "GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY '${pw}'" | mysql --user=root --password=$pw cacti
echo "flush privileges" | mysql --user=root --password=$pw cacti

sed -i -e "s|\$database_password = \"cacti\";|\$database_password = \"${pw}\";|g" /var/www/htdocs/cacti/include/config.php

Added contrib/cacti/pre-install.









>
>
>
>
1
2
3
4
#!/bin/bash

getent passwd cactiuser || useradd -m  -d /var/empty -s /bin/false cactiuser
passwd -l cactiuser

Added contrib/cairomm/Pkgfile.



























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# Description: C++ wrapper for the cairo graphics library.
# URL: http://cairographics.org/cairomm/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com
# Depends on: cairo libsigc++

name=cairomm
version=1.10.0
release=1
source=(http://cairographics.org/releases/$name-$version.tar.gz)

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--disable-static

	make
	make DESTDIR=$PKG install

	rm -r \
		$PKG/usr/share/doc \
		$PKG/usr/share/devhelp/books

	rmdir \
		$PKG/usr/share/devhelp \
		$PKG/usr/share
}

Added contrib/ccrtp/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description:	RTP protocol stack
# URL:	http://www.gnu.org/software/ccrtp/
# Maintainer:	Alan Mizrahi, alan at mizrahi dot com dot ve
# Depends on:	commoncpp2

name=ccrtp
version=1.7.1
release=1
source=(http://ftp.gnu.org/pub/gnu/ccrtp/ccrtp-$version.tar.gz)

build () {
	cd $name-$version
	./configure --prefix=/usr
	make
	make DESTDIR=$PKG install
	rm -rf $PKG/usr/share
}

Added contrib/ccze/Pkgfile.























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# Description: A log colorizer written in C with plugin support.
# URL: http://freshmeat.net/projects/ccze/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Vincenzo Colosimo, vico at bicisport dot de
# Depends on: libpcre ncurses

name=ccze
version=0.2.1
release=3
source=(http://ftp.debian.org/debian/pool/main/c/$name/${name}_$version.orig.tar.gz)

build() {
	cd $name-$version

	# GCC 4.x fixes
	sed -i src/Makefile.in -e 's/-Wswitch -Wmulticharacter/-Wswitch/'   
	sed -i configure.ac -e '/AC_CHECK_TYPE(error_t, int)/d'
	autoconf

	./configure \
		--prefix=/usr \
		--mandir=/usr/man \
		--disable-nls

	make
	make DESTDIR=$PKG install
}

Added contrib/cdrdao/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: CD recording in DAO mode, for example VCDs.
# URL: http://cdrdao.sourceforge.net/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Michael Ablassmeier, michael dot ablassmeier at holzkirchen dot by dot aok dot de

name=cdrdao
version=1.2.3
release=1
source=(http://downloads.sourceforge.net/project/$name/$name/$version/$name-$version.tar.bz2)

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--without-lame

	make
	make DESTDIR=$PKG install
}

Added contrib/cedega/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: TransGaming's flagship Linux portability product
# URL: http://www.transgaming.com/
# Maintainer: Lucas Hazel, lucas at die dot net dot au
# Packager: Matt Housh, jaeger at morpheus dot net
# Depends on: alsa-lib, pygtk, dbus-python

name=cedega
version=6.0.2
release=1
source=(file:///$name-small-$version.tgz)

build() {
	cp -a $SRC/* $PKG/
	rm -rf $PKG/usr/share/{doc,gnome} \
		$PKG/opt $PKG/etc
	mv $PKG/usr/share/man $PKG/usr/
}

Added contrib/cedega/README.



















>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9


README for cedega

Since Cedega is subscription-based downloadable software
when not using CVS, you'll need to download the current
release tarball from http://www.transgaming.com/ and place
it in your $PKGMK_SOURCE_DIR before you can build this port.

Added contrib/cgit/Pkgfile.





























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# Description: Git web interface written in C.
# URL: http://hjemli.net/git/cgit/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Lucas Hazel, lucas at die dot net dot au
# Depends on: git asciidoc

name=cgit
version=0.9.0.2
gitversion=1.7.4.1
release=1
source=(http://hjemli.net/git/cgit/snapshot/$name-$version.tar.bz2
	http://hjemli.net/git/git/snapshot/git-$gitversion.tar.bz2
	cgit.conf)

build() {
	cd $name-$version

	rm -rf git
	ln -s $SRC/git-$gitversion git

	sed -i \
		-e "s/GIT_VER = .*/GIT_VER = $gitversion/" \
		-e '/^mandir = $(prefix)/s|/share/man|/man|' Makefile

	make
	make DESTDIR=$PKG install install-man

	install -D -m 0640 $SRC/cgit.conf $PKG/etc/apache/extra/cgit.conf
	install -d -m 0750 $PKG/var/cache/cgit
}

Added contrib/cgit/cgit.conf.

























>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
<IfModule mod_alias.c>
    Alias /cgit/ /var/www/cgit/
</IfModule>

<Directory "/var/www/cgit/">
	AllowOverride None
	Options ExecCGI
	DirectoryIndex cgit.cgi
	AddHandler cgi-script .cgi
	Order allow,deny
	Allow from all
</Directory>

Added contrib/circuits/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: An event-driven framework.
# URL: http://trac.softcircuit.com.au/circuits/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com
# Depends on: setuptools

name=circuits
version=1.1.1
release=1
source=(http://trac.softcircuit.com.au/$name/downloads/$name-$version.tar.gz)

build() {
	cd $name-$version
	python setup.py build
	python setup.py install --prefix=/usr --root $PKG
}

Added contrib/ckermit/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: A combined network and serial communication software 
# URL: http://www.columbia.edu/kermit/ck80.html
# Maintainer: Mikhail Kolesnik, mike at openbunker dot org
# Depends on: ncurses

name=ckermit
version=8.0.211
release=3
# Broken link on official site
#source=(ftp://kermit.columbia.edu/kermit/archives/cku211.tar.gz)
source=(http://fresh.t-systems-sfr.com/unix/src/privat2/cku211.tar.gz)

build() {
	make linux
	/usr/bin/install -D -m 755 wermit $PKG/usr/bin/kermit
	/usr/bin/install -D -m 644 ckuker.nr $PKG/usr/man/man1/kermit.1
}

Added contrib/clamav/Pkgfile.



























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# Description: A GPL virus scanner
# URL: http://www.clamav.net/
# Maintainer: Matt Housh, jaeger at morpheus dot net
# Depends on: zlib, bzip2, libgmp, curl

name=clamav
version=0.97.3
release=1
source=(http://download.sourceforge.net/$name/$name-$version.tar.gz \
	clamd.conf freshclam.conf clamd freshclam)

build() {
	cd $name-$version
	./configure --prefix=/usr \
		--sysconfdir=/etc \
		--mandir=/usr/man \
		--enable-id-check \
		--with-libcurl \
		--with-tcpwrappers
	make
	make DESTDIR=$PKG install
	mkdir -p $PKG/var/run/$name $PKG/var/log/$name
	chown -R $name:$name $PKG/var/run/$name $PKG/var/log/$name
	install -o root -g root -m 0644 $SRC/{clamd,freshclam}.conf \
		$PKG/etc/
	install -d $PKG/etc/rc.d
	install -o root -g root -m 0755 $SRC/{clamd,freshclam} \
		$PKG/etc/rc.d/
}

Added contrib/clamav/clamd.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/bin/sh
#
# /etc/rc.d/clamd: start/stop clam antivirus daemon
#

case $1 in
start)
	/usr/sbin/clamd
	;;
stop)
	killall -q /usr/sbin/clamd
	;;
restart)
	$0 stop
	sleep 2
	$0 start
	;;
*)
	echo "Usage: $0 [start|stop|restart]"
	;;
esac

# End of file

Added contrib/clamav/clamd.conf.

























































































































































































































































































































































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
##
## Example config file for the Clam AV daemon
## Please read the clamd.conf(5) manual before editing this file.
##


# Uncomment this option to enable logging.
# LogFile must be writable for the user running daemon.
# A full path is required.
# Default: disabled
LogFile /var/log/clamav/clamd.log

# By default the log file is locked for writing - the lock protects against
# running clamd multiple times (if want to run another clamd, please
# copy the configuration file, change the LogFile variable, and run
# the daemon with --config-file option).
# This option disables log file locking.
# Default: no
#LogFileUnlock yes

# Maximal size of the log file.
# Value of 0 disables the limit.
# You may use 'M' or 'm' for megabytes (1M = 1m = 1048576 bytes)
# and 'K' or 'k' for kilobytes (1K = 1k = 1024 bytes). To specify the size
# in bytes just don't use modifiers.
# Default: 1M
#LogFileMaxSize 2M

# Log time with each message.
# Default: no
LogTime yes

# Also log clean files. Useful in debugging but drastically increases the
# log size.
# Default: no
#LogClean yes

# Use system logger (can work together with LogFile).
# Default: no
#LogSyslog yes

# Specify the type of syslog messages - please refer to 'man syslog'
# for facility names.
# Default: LOG_LOCAL6
#LogFacility LOG_MAIL

# Enable verbose logging.
# Default: no
#LogVerbose yes

# This option allows you to save a process identifier of the listening
# daemon (main thread).
# Default: disabled
PidFile /var/run/clamav/clamd.pid

# Optional path to the global temporary directory.
# Default: system specific (usually /tmp or /var/tmp).
#TemporaryDirectory /var/tmp

# Path to the database directory.
# Default: hardcoded (depends on installation options)
#DatabaseDirectory /var/lib/clamav

# The daemon works in a local OR a network mode. Due to security reasons we
# recommend the local mode.

# Path to a local socket file the daemon will listen on.
# Default: disabled (must be specified by a user)
LocalSocket /var/run/clamav/clamd.sock

# Remove stale socket after unclean shutdown.
# Default: no
FixStaleSocket yes

# TCP port address.
# Default: no
#TCPSocket 3310

# TCP address.
# By default we bind to INADDR_ANY, probably not wise.
# Enable the following to provide some degree of protection
# from the outside world.
# Default: no
#TCPAddr 127.0.0.1

# Maximum length the queue of pending connections may grow to.
# Default: 15
#MaxConnectionQueueLength 30

# Clamd uses FTP-like protocol to receive data from remote clients.
# If you are using clamav-milter to balance load between remote clamd daemons
# on firewall servers you may need to tune the options below.

# Close the connection when the data size limit is exceeded.
# The value should match your MTA's limit for a maximal attachment size.
# Default: 10M
#StreamMaxLength 20M

# Limit port range.
# Default: 1024
#StreamMinPort 30000
# Default: 2048
#StreamMaxPort 32000

# Maximal number of threads running at the same time.
# Default: 10
#MaxThreads 20

# Waiting for data from a client socket will timeout after this time (seconds).
# Value of 0 disables the timeout.
# Default: 120
#ReadTimeout 300

# Waiting for a new job will timeout after this time (seconds).
# Default: 30
#IdleTimeout 60

# Maximal depth directories are scanned at.
# Default: 15
#MaxDirectoryRecursion 20

# Follow directory symlinks.
# Default: no
#FollowDirectorySymlinks yes

# Follow regular file symlinks.
# Default: no
#FollowFileSymlinks yes

# Perform internal sanity check (database integrity and freshness).
# Default: 1800 (30 min)
#SelfCheck 600

# Execute a command when virus is found. In the command string %v will
# be replaced by a virus name.
# Default: no
#VirusEvent /usr/local/bin/send_sms 123456789 "VIRUS ALERT: %v"

# Run as a selected user (clamd must be started by root).
# Default: don't drop privileges
User clamav

# Initialize supplementary group access (clamd must be started by root).
# Default: no
#AllowSupplementaryGroups no

# Stop daemon when libclamav reports out of memory condition.
#ExitOnOOM yes

# Don't fork into background.
# Default: no
#Foreground yes

# Enable debug messages in libclamav.
# Default: no
#Debug yes

# Do not remove temporary files (for debug purposes).
# Default: no
#LeaveTemporaryFiles yes

# In some cases (eg. complex malware, exploits in graphic files, and others),
# ClamAV uses special algorithms to provide accurate detection. This option
# controls the algorithmic detection.
# Default: yes
#AlgorithmicDetection yes

##
## Executable files
##

# PE stands for Portable Executable - it's an executable file format used
# in all 32-bit versions of Windows operating systems. This option allows
# ClamAV to perform a deeper analysis of executable files and it's also
# required for decompression of popular executable packers such as UPX, FSG,
# and Petite.
# Default: yes
#ScanPE yes

# With this option clamav will try to detect broken executables and mark
# them as Broken.Executable
# Default: no
#DetectBrokenExecutables yes


##
## Documents
##

# This option enables scanning of Microsoft Office document macros.
# Default: yes
#ScanOLE2 yes

##
## Mail files
##

# Enable internal e-mail scanner.
# Default: yes
#ScanMail yes

# If an email contains URLs ClamAV can download and scan them.
# WARNING: This option may open your system to a DoS attack.
#	   Never use it on loaded servers.
# Default: no
#MailFollowURLs no

# With this option enabled ClamAV will try to detect phishing attempts (using signatures).
# Default: yes
#DetectPhishing yes

# Use phishing detection for all domains (not just those listed in the .pdb database).
# It is not recommended to turn this option on, it is mean for internal use.
# (available in experimental builds only)
# Default: no
#PhishingStrictURLCheck no

# Scan urls found in mails for phishing attempts.
# (available in experimental builds only) 
# Default: yes
#PhishingScanURLs yes

##
## HTML
##

# Perform HTML normalisation and decryption of MS Script Encoder code.
# Default: yes
#ScanHTML yes


##
## Archives
##

# ClamAV can scan within archives and compressed files.
# Default: yes
#ScanArchive yes

# The options below protect your system against Denial of Service attacks
# using archive bombs.

# Files in archives larger than this limit won't be scanned.
# Value of 0 disables the limit.
# Default: 10M
#ArchiveMaxFileSize 15M

# Nested archives are scanned recursively, e.g. if a Zip archive contains a RAR
# file, all files within it will also be scanned. This options specifies how
# deep the process should be continued.
# Value of 0 disables the limit.
# Default: 8
#ArchiveMaxRecursion 10

# Number of files to be scanned within an archive.
# Value of 0 disables the limit.
# Default: 1000
#ArchiveMaxFiles 1500

# If a file in an archive is compressed more than ArchiveMaxCompressionRatio
# times it will be marked as a virus (Oversized.ArchiveType, e.g. Oversized.Zip)
# Value of 0 disables the limit.
# Default: 250
#ArchiveMaxCompressionRatio 300

# Use slower but memory efficient decompression algorithm.
# only affects the bzip2 decompressor.
# Default: no
#ArchiveLimitMemoryUsage yes

# Mark encrypted archives as viruses (Encrypted.Zip, Encrypted.RAR).
# Default: no
#ArchiveBlockEncrypted no

# Mark archives as viruses (e.g. RAR.ExceededFileSize, Zip.ExceededFilesLimit)
# if ArchiveMaxFiles, ArchiveMaxFileSize, or ArchiveMaxRecursion limit is
# reached.
# Default: no
#ArchiveBlockMax no

# Enable support for Sensory Networks' NodalCore hardware accelerator.
# Default: no
#NodalCoreAcceleration yes


##
## Clamuko settings
## WARNING: This is experimental software. It is very likely it will hang
##	    up your system!!!
##

# Enable Clamuko. Dazuko (/dev/dazuko) must be configured and running.
# Default: no
#ClamukoScanOnAccess yes

# Set access mask for Clamuko.
# Default: no
#ClamukoScanOnOpen yes
#ClamukoScanOnClose yes
#ClamukoScanOnExec yes

# Set the include paths (all files in them will be scanned). You can have
# multiple ClamukoIncludePath directives but each directory must be added
# in a seperate line.
# Default: disabled
#ClamukoIncludePath /home
#ClamukoIncludePath /students

# Set the exclude paths. All subdirectories are also excluded.
# Default: disabled
#ClamukoExcludePath /home/bofh

# Don't scan files larger than ClamukoMaxFileSize
# Value of 0 disables the limit.
# Default: 5M
#ClamukoMaxFileSize 10M

Added contrib/clamav/freshclam.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/bin/sh
#
# /etc/rc.d/freshclam: start/stop the clamav virus database updater
#

case $1 in
start)
	/usr/bin/freshclam --quiet --daemon --checks=1 --daemon-notify \
		--log=/var/log/clamav/freshclam.log
	;;
stop)
	killall -q /usr/bin/freshclam
	;;
restart)
	$0 stop
	sleep 2
	$0 start
	;;
*)
	echo "Usage: $0 [start|stop|restart]"
	;;
esac

# End of file

Added contrib/clamav/freshclam.conf.









































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
##
## Example config file for freshclam
## Please read the freshclam.conf(5) manual before editing this file.
## This file may be optionally merged with clamd.conf.
##

# Path to the database directory.
# WARNING: It must match clamd.conf's directive!
# Default: hardcoded (depends on installation options)
#DatabaseDirectory /var/lib/clamav

# Path to the log file (make sure it has proper permissions)
# Default: disabled
#UpdateLogFile /var/log/freshclam.log

# Enable verbose logging.
# Default: disabled
#LogVerbose

# Use system logger (can work together with UpdateLogFile).
# Default: disabled
#LogSyslog

# Specify the type of syslog messages - please refer to 'man syslog'
# for facility names.
# Default: LOG_LOCAL6
#LogFacility LOG_MAIL

# This option allows you to save the process identifier of the daemon
# Default: disabled
PidFile /var/run/clamav/freshclam.pid

# By default when started freshclam drops privileges and switches to the
# "clamav" user. This directive allows you to change the database owner.
# Default: clamav (may depend on installation options)
DatabaseOwner clamav

# Initialize supplementary group access (freshclam must be started by root).
# Default: disabled
#AllowSupplementaryGroups

# Use DNS to verify virus database version. Freshclam uses DNS TXT records
# to verify database and software versions. With this directive you can change
# the database verification domain.
# Default: enabled, pointing to current.cvd.clamav.net
#DNSDatabaseInfo current.cvd.clamav.net

# Uncomment the following line and replace XY with your country
# code. See http://www.iana.org/cctld/cctld-whois.htm for the full list.
# Default: There is no default, which results in an error when running freshclam
#DatabaseMirror db.XY.clamav.net

# database.clamav.net is a round-robin record which points to our most 
# reliable mirrors. It's used as a fall back in case db.XY.clamav.net is 
# not working. DO NOT TOUCH the following line unless you know what you
# are doing.
DatabaseMirror database.clamav.net

# How many attempts to make before giving up.
# Default: 3 (per mirror)
#MaxAttempts 5

# Number of database checks per day.
# Default: 12 (every two hours)
#Checks 24

# Proxy settings
# Default: disabled
#HTTPProxyServer myproxy.com
#HTTPProxyPort 1234
#HTTPProxyUsername myusername
#HTTPProxyPassword mypass

# Use aaa.bbb.ccc.ddd as client address for downloading databases. Useful for
# multi-homed systems.
# Default: Use OS'es default outgoing IP address.
#LocalIPAddress aaa.bbb.ccc.ddd

# Send the RELOAD command to clamd.
# Default: disabled
#NotifyClamd
# By default it uses the hardcoded configuration file but you can force an
# another one.
#NotifyClamd /config/file/path

# Run command after successful database update.
# Default: disabled
#OnUpdateExecute command

# Run command when database update process fails.
# Default: disabled
#OnErrorExecute command

# Don't fork into background.
# Default: disabled
#Foreground

# Enable debug messages in libclamav.
# Default: disabled
#Debug

Added contrib/clamav/pre-install.









>
>
>
>
1
2
3
4
#!/bin/sh

/usr/sbin/groupadd clamav
/usr/sbin/useradd -g clamav -d /var/empty -s /bin/false clamav

Added contrib/claws-mail-themes/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description: Some themes for claws-mail email client
# URL: http://www.claws-mail.org/themes.php?section=downloads
# Maintainer: Mikhail Kolesnik, mike at openbunker dot org
# Depends on: claws-mail

name=claws-mail-themes
version=20110216
release=1
source=(http://www.claws-mail.org/themes/$name-$version.tar.gz)

build() {
	mkdir -p $PKG/usr/share/claws-mail/themes
	cp -r $name-$version/* $PKG/usr/share/claws-mail/themes
	find $PKG -iname INSTALL  | xargs rm -f
	find $PKG -iname COPYING  | xargs rm -f
	find $PKG -iname LICENSE* | xargs rm -f
	find $PKG -iname README*  | xargs rm -f
	find $PKG -iname ChangeLog*  | xargs rm -f
	find $PKG -iname DISCLAIMER* | xargs rm -f
	find $PKG -type f -print0 | xargs -0 chmod 644
	find $PKG -type d -print0 | xargs -0 chmod 755
}

Added contrib/claws-mail/Pkgfile.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Description: An e-mail client (and news reader), based on GTK+ 
# URL: http://www.claws-mail.org/index.php
# Maintainer: Mikhail Kolesnik, mike at openbunker dot org
# Packager: Brett Goulder, predatorfreak at dcaf-security dot org
# Depends on: gtk libetpan gpgme gnutls

# Nice to have: enchant clamav dillo libgnomeprintui openldap

name=claws-mail
version=3.8.0
release=1
source=(http://download.sourceforge.net/project/sylpheed-claws/Claws%20Mail/$version/$name-$version.tar.bz2)

build() {
	cd $name-$version
	./configure --prefix=/usr \
				--disable-nls \
				--disable-manual \
				--mandir=/usr/man
	make
	make DESTDIR=$PKG install
	rm -rf $PKG/usr/share/doc
}

Added contrib/clearsilver/Pkgfile.





















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# Description: Fast, powerful, and language-neutral HTML template system.
# URL: http://www.clearsilver.net/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: James Mills, prologic at shortcircuit dot net dot au
# Depends on: python

name=clearsilver
version=0.10.5
release=1
source=(http://www.clearsilver.net/downloads/clearsilver-$version.tar.gz)

build() {
	cd clearsilver-$version

	./configure \
		--prefix=/usr \
		--disable-perl \
		--disable-ruby \
		--disable-java \
		--disable-csharp \
		--with-python=/usr/bin/python

	make
	make DESTDIR=$PKG install
}

Added contrib/clink/Pkgfile.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Description: Compacts directories by replacing duplicate files by symbolic links and placing the origional files in ./common-files
# URL: http://free-electrons.com/community/tools/utils/clink/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com
# Depends on: python

name=clink
version=1.1.1
release=1
source=(http://free-electrons.com/pub/utils/clink/clink-$version)

build() {
	install -D -m755 clink-$version $PKG/usr/bin/clink
}

Added contrib/clink/README.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
REQUIREMENTS:

PRECAUTION:

PRE-INSTALL:

POST-INSTALL:

PRE-REMOVE:

POST-REMOVE:

NOTES:

	Creates a directory called "common-files" and moves the common file there and 
	then creates symlinks to that file in the current directory.

Added contrib/cmatrix/Pkgfile.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Description: Show a scrolling 'Matrix' like screen in Linux.
# URL:         http://www.asty.org/cmatrix/
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    Vincenzo Colosimo vico at bicisport dot de
#
# Depends on:   

name=cmatrix
version=1.2a
release=1
source=(http://www.asty.org/old/cmatrix/dist/cmatrix-1.2a.tar.gz)

build() {
   cd $name-$version

   ./configure \
      --prefix=/usr \
      --disable-nls

   make
   install -D -m755 -groot -oroot cmatrix $PKG/usr/bin/cmatrix
   install -D -m644 -groot -oroot cmatrix.1 $PKG/usr/man/man1/cmatrix.1
}

Added contrib/cmatrix/README.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# $Id:

REQUIREMENTS:

PRECAUTION:

PRE-INSTALL:

POST-INSTALL:

PRE-REMOVE:

POST-REMOVE:

NOTES:

If you want this to look closer to the movie, consider to install the fonts in the package.

To get the program to look all most like the movie, use: cmatrix -lba

Added contrib/commoncpp2/Pkgfile.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Description:	Portable C++ application framework for threading, sockets, realtime network streaming, persistance, and file access
# URL:	http://www.gnu.org/software/commoncpp/
# Maintainer:	Alan Mizrahi, alan at mizrahi dot com dot ve
# Depends on:	libxml2
# Nice to have:	hoard

name=commoncpp2
version=1.7.3
release=1
source=(http://ftp.gnu.org/pub/gnu/commoncpp/$name-$version.tar.gz cidr-fix.patch)

build () {
	cd $name-$version
#	sed -i 's|! grep -q "$(libdir)" /etc/ld.so.conf|false|' Makefile.in
#	export CFLAGS="${CFLAGS//-fstack-protector/}"
#	export CXXFLAGS="${CXXFLAGS//-fstack-protector/}"

	patch -p1 -i $SRC/cidr-fix.patch
	./configure --prefix=/usr
	make
	make DESTDIR=$PKG install
	rm -rf $PKG/usr/share/info
#	sed -i s/^Libs:\ /Libs:\ -lz\ / $PKG/usr/lib/pkgconfig/libccext2.pc
}

Added contrib/commoncpp2/cidr-fix.patch.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
--- commoncpp2-1.7.3/src/cidr.cpp.orig	2010-11-05 15:16:34.745000077 +0900
+++ commoncpp2-1.7.3/src/cidr.cpp	2010-11-05 15:17:37.565000070 +0900
@@ -202,7 +202,7 @@
 #if defined(_MSC_VER) && _MSC_VER >= 1500
 	ep = (char *)strchr(cp, '/');
 #else
- 	ep = strchr(cp, '/');
+ 	ep = (char *)strchr(cp, '/');
 #endif
 
 	if(ep)
@@ -332,7 +332,7 @@
 	memset(&netmask, 0, sizeof(netmask));
 	bitset((bit_t *)&netmask, getMask(cp));
 	setString(cbuf, sizeof(cbuf), cp);
-	ep = strchr(cp, '/');
+	ep = (char *)strchr(cp, '/');
 	if(ep)
 		*ep = 0;
 

Added contrib/conntrack-tools/Pkgfile.























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# Description: Userspace tools for netfilter connection tracking.
# URL: http://conntrack-tools.netfilter.org/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com
# Depends on: libnetfilter_conntrack

name=conntrack-tools
version=1.0.1
release=1
source=(http://www.netfilter.org/projects/$name/files/$name-$version.tar.bz2
	conntrackd.rc)

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--mandir=/usr/man \
		--disable-static

	make
	make DESTDIR=$PKG install
	install -m 0755 -D $SRC/conntrackd.rc $PKG/etc/rc.d/conntrackd

	install -m 0644 -D doc/stats/conntrackd.conf \
		$PKG/etc/conntrackd/conntrackd.conf
}

Added contrib/conntrack-tools/conntrackd.rc.

























































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#!/bin/sh
#
# /etc/rc.d/conntrackd: start/stop conntrack daemon
#

# User settings here
DAEMON=conntrackd
RUN_AS_USER=root

# If you have to edit this section for this or any other 
# port useage let me know, with a patch or added lines, 
# or simplely e-mail me the altered file and I'll include the changes.

RETVAL=0

case $1 in
start)
	echo -n "Starting $DAEMON..."
	su $RUN_AS_USER -c /usr/sbin/$DAEMON > /dev/null & RETVAL=$?
	if [ $RETVAL = 0 ]; then
		echo " done."
	fi
	;;
stop)
	echo -n "Shutting down $DAEMON..."
	killall -q /usr/sbin/$DAEMON
	RETVAL=$?
	echo " done."
	;;
restart)
	$0 stop
	sleep 5
	$0 start
	RETVAL=$?
	;;
*)
	echo "usage: $0 [start|stop|restart]"
	exit 1
	;;
esac

exit $RETVAL

# End of file

Added contrib/cplay/Pkgfile.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Description: A curses front-end for various audio players
# URL: http://www.tf.hut.fi/~flu/cplay/
# Maintainer: Rene Lengwinat, rugek at dirtyhack dot net
# Depends on: vorbis-tools, mpg321, python, ncurses

name=cplay
version=1.49
release=1
source=( http://mask.tf.hut.fi/~flu/hacks/cplay/$name-$version.tar.gz )

build() {
    cd $name-$version
    mkdir -p $PKG/usr/bin
    install -c -m 755 cplay $PKG/usr/bin
}

Added contrib/cpufrequtils/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: Clock scaling userspace tools
# URL:		http://www.kernel.org/pub/linux/utils/kernel/cpufreq/cpufreq.html
# Packager:	Alan Mizrahi, alan at mizrahi dot com dot ve
# Maintainer:	Alan Mizrahi, alan at mizrahi dot com dot ve
# Depends on: sysfsutils

name=cpufrequtils
version=008
release=1
source=(http://www.mizrahi.com.ve/crux/dist/$name-$version.tar.bz2)

build() {
        cd $name-$version
        make NLS=false V=true
        make NLS=false V=true DESTDIR=$PKG install
}

Added contrib/cpuid/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: Dumps detailed information about the CPU(s) gathered from the CPUID instruction, and also determines the exact model of CPU(s).
# URL: http://www.etallen.com/cpuid.html
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com

name=cpuid
version=20120225
release=1
source=(http://www.etallen.com/cpuid/$name-$version.src.tar.gz)

build() {
	cd $name-$version
	sed -i -e 's|/share/man|/man|g' Makefile
	make -e CFLAGS="$CFLAGS"
	make BUILDROOT=$PKG install
}

Added contrib/cramfs-tools/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: Cramfs tools
# URL: http://sourceforge.net/projects/cramfs
# Maintainer: Rene Lengwinat, rugek at dirtyhack dot net
# Depends on:

name=cramfs-tools
version=1.1
release=1
source=(http://optusnet.download.sourceforge.net/cramfs/cramfs-$version.tar.gz)

build() {
    cd cramfs-$version
    make
    mkdir -p $PKG/usr/sbin
    install -c -m 755 cramfsck $PKG/usr/sbin
    install -c -m 755 mkcramfs $PKG/usr/sbin
}

Added contrib/cryptcat/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: Cryptcat is the standard netcat enhanced with twofish encryption.
# URL: http://sourceforge.net/projects/cryptcat/
# Maintainer: Jose V Beneyto, sepen at users dot sourceforge dot net
# Packager: Jose V Beneyto, sepen at users dot sourceforge dot net

name=cryptcat
version=1.2.1
release=1
source=(http://download.sourceforge.net/$name/$name-unix-$version.tar \
	      netcat.patch)

build() {
  tar -C $SRC -xvf $name-unix-$version.tar
	cd unix
	patch netcat.c $SRC/netcat.patch
	make linux
	install -d $PKG/usr/bin
	install -m 755 $name $PKG/usr/bin
}

Added contrib/cryptcat/netcat.patch.

























>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
1504c1504
< 	bail ("nc -h for help");
---
> 	bail ("cryptcat -h for help");
1667,1669c1667,1669
<   holler ("[v1.10]\n\
< connect to somewhere:	nc [-options] hostname port[s] [ports] ... \n\
< listen for inbound:	nc -l -p port [-options] [hostname] [port]\n\
---
>   holler ("cryptcat v1.2.1\n\
> connect to somewhere:	cryptcat [-options] hostname port[s] [ports] ... \n\
> listen for inbound:	cryptcat -l -p port [-options] [hostname] [port]\n\

Added contrib/crypto++/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: C++ class library of cryptographic schemes.
# URL: http://www.cryptopp.com/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Antti Nykanen, aon at iki dot fi

name=crypto++
version=5.6.0
release=1
source=(http://www.cryptopp.com/${name/++/pp}${version//\./}.zip)

build() {
	make CXXFLAGS="$CXXFLAGS"
	make PREFIX=$PKG/usr install
	rm -rf $PKG/usr/bin
	chmod 0644 $PKG/usr/include/cryptopp/*.h
}

Added contrib/cvs/CVE-2010-3846.diff.









































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
See http://cve.mitre.org/cgi-bin/cvename.cgi?name=2010-3846 for more information.
Origin: http://cvs.savannah.gnu.org/viewvc/cvs/ccvs/src/rcs.c?r1=1.262.4.65&r2=1.262.4.66&sortby=rev&view=patch
--- rcs.c	2008/05/07 15:34:16	1.262.4.65
+++ rcs.c	2010/10/21 13:24:15	1.262.4.66
@@ -7128,7 +7128,7 @@
     struct deltafrag *dfhead;
     struct deltafrag **dftail;
     struct deltafrag *df;
-    unsigned long numlines, lastmodline, offset;
+    unsigned long numlines, offset;
     struct linevector lines;
     int err;
 
@@ -7202,12 +7202,12 @@
 
     /* New temp data structure to hold new org before
        copy back into original structure. */
-    lines.nlines = lines.lines_alloced = numlines;
+    lines.lines_alloced = numlines;
     lines.vector = xmalloc (numlines * sizeof *lines.vector);
 
     /* We changed the list order to first to last -- so the
        list never gets larger than the size numlines. */
-    lastmodline = 0; 
+    lines.nlines = 0; 
 
     /* offset created when adding/removing lines
        between new and original structure */
@@ -7216,25 +7216,24 @@
     for (df = dfhead; df != NULL; )
     {
 	unsigned int ln;
-	unsigned long deltaend;
+	unsigned long newpos = df->pos - offset;
 
-	if (df->pos > orig_lines->nlines)
+	if (newpos < lines.nlines || newpos > numlines)
 	    err = 1;
 
 	/* On error, just free the rest of the list.  */
 	if (!err)
 	{
-	    /* Here we need to get to the line where the next insert will
+	    /* Here we need to get to the line where the next change will
 	       begin, which is DF->pos in ORIG_LINES.  We will fill up to
 	       DF->pos - OFFSET in LINES with original items.  */
-	    for (deltaend = df->pos - offset;
-		 lastmodline < deltaend;
-		 lastmodline++)
+	    while (lines.nlines < newpos)
 	    {
 		/* we need to copy from the orig structure into new one */
-		lines.vector[lastmodline] =
-			orig_lines->vector[lastmodline + offset];
-		lines.vector[lastmodline]->refcount++;
+		lines.vector[lines.nlines] =
+			orig_lines->vector[lines.nlines + offset];
+		lines.vector[lines.nlines]->refcount++;
+		lines.nlines++;
 	    }
 
 	    switch (df->type)
@@ -7246,7 +7245,12 @@
 		    struct line *q;
 		    int nextline_newline;
 		    size_t nextline_len;
-		
+
+		    if (newpos + df->nlines > numlines)
+		    {
+			err = 1;
+			break;
+		    }
 		    textend = df->new_lines + df->len;
 		    nextline_newline = 0;
 		    nextline_text = df->new_lines;
@@ -7271,8 +7275,7 @@
 			    q->has_newline = nextline_newline;
 			    q->refcount = 1;
 			    memcpy (q->text, nextline_text, nextline_len);
-			    lines.vector[lastmodline++] = q;
-			    offset--;
+			    lines.vector[lines.nlines++] = q;
 		    
 			    nextline_text = (char *)p + 1;
 			    nextline_newline = 0;
@@ -7286,11 +7289,11 @@
 		    q->has_newline = nextline_newline;
 		    q->refcount = 1;
 		    memcpy (q->text, nextline_text, nextline_len);
-		    lines.vector[lastmodline++] = q;
+		    lines.vector[lines.nlines++] = q;
 
 		    /* For each line we add the offset between the #'s
 		       decreases. */
-		    offset--;
+		    offset -= df->nlines;
 		    break;
 		}
 
@@ -7301,14 +7304,20 @@
 		    if (df->pos + df->nlines > orig_lines->nlines)
 			err = 1;
 		    else if (delvers)
+		    {
 			for (ln = df->pos; ln < df->pos + df->nlines; ++ln)
+			{
 			    if (orig_lines->vector[ln]->refcount > 1)
+			    {
 				/* Annotate needs this but, since the original
 				 * vector is disposed of before returning from
 				 * this function, we only need keep track if
 				 * there are multiple references.
 				 */
 				orig_lines->vector[ln]->vers = delvers;
+			    }
+			}
+		    }
 		    break;
 	    }
 	}
@@ -7328,21 +7337,20 @@
     else
     {
 	/* add the rest of the remaining lines to the data vector */
-	for (; lastmodline < numlines; lastmodline++)
+	while (lines.nlines < numlines)
 	{
 	    /* we need to copy from the orig structure into new one */
-	    lines.vector[lastmodline] = orig_lines->vector[lastmodline
+	    lines.vector[lines.nlines] = orig_lines->vector[lines.nlines
 							   + offset];
-	    lines.vector[lastmodline]->refcount++;
+	    lines.vector[lines.nlines]->refcount++;
+	    lines.nlines++;
 	}
 
 	/* Move the lines vector to the original structure for output,
 	 * first deleting the old.
 	 */
 	linevector_free (orig_lines);
-	orig_lines->vector = lines.vector;
-	orig_lines->lines_alloced = numlines;
-	orig_lines->nlines = lines.nlines;
+	*orig_lines = lines;
     }
 
     return !err;

Added contrib/cvs/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description: Concurrent Versions System
# URL:         https://www.cvshome.org/
# Maintainer:  Moritz Wilhelmy, moritz plus crux at wzff dot de
# Packager:    Antti Nykanen, aon at iki dot fi

name=cvs
version=1.11.23
release=3
source=(http://ftp.gnu.org/gnu/non-gnu/cvs/source/stable/$version/$name-$version.tar.bz2 \
        CVE-2010-3846.diff getline-x86_64.diff)

build() {
    cd $name-$version
    patch -N src/rcs.c $SRC/CVE-2010-3846.diff
    patch -Np1 < $SRC/getline-x86_64.diff
    ./configure --prefix=/usr --mandir=/usr/man --disable-server
    make
    make DESTDIR=$PKG install
    make -C man DESTDIR=$PKG install-man
    rm -rf $PKG/usr/{share,info,man/man8} \
      $PKG/usr/bin/{cvsbug,rcs2log}
}

Added contrib/cvs/getline-x86_64.diff.









































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
This is required on x86_64 but does no harm on i686
Source: http://repos.archlinux.org/wsvn/packages/cvs/repos/extra-x86_64/cvs-1.11.23-getline64.patch
--- cvs-1.11.23/lib/getline.c	2005-04-04 22:46:05.000000000 +0200
+++ cvs-1.11.23/lib/getline.c.old	2008-06-03 19:06:25.000000000 +0200
@@ -154,7 +154,7 @@
   return ret;
 }
 
-int
+ssize_t
 getline (lineptr, n, stream)
      char **lineptr;
      size_t *n;
@@ -163,7 +163,7 @@
   return getstr (lineptr, n, stream, '\n', 0, GETLINE_NO_LIMIT);
 }
 
-int
+ssize_t
 getline_safe (lineptr, n, stream, limit)
      char **lineptr;
      size_t *n;
--- cvs-1.11.23/lib/getline.h	2005-04-04 22:46:05.000000000 +0200
+++ cvs-1.11.23/lib/getline.h.old	2008-06-03 19:06:27.000000000 +0200
@@ -11,9 +11,9 @@
 
 #define GETLINE_NO_LIMIT -1
 
-int
+ssize_t
   getline __PROTO ((char **_lineptr, size_t *_n, FILE *_stream));
-int
+ssize_t
   getline_safe __PROTO ((char **_lineptr, size_t *_n, FILE *_stream,
                          int limit));
 int

Added contrib/cvsps/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: CVS patchset generator
# URL:         http://www.cobite.com/cvsps/
# Maintainer:  Moritz Wilhelmy, moritz plus crux at wzff dot de
# Packager:    Antti Nykanen, aon at iki dot fi
# Depends on: 

name=cvsps
version=2.1
release=1
source=(http://www.cobite.com/$name/$name-$version.tar.gz)

build() {
	cd $name-$version
	sed -i 's:share/man:man:g' Makefile
	make
	make prefix=$PKG/usr install
}

Added contrib/cython/Pkgfile.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Description: A language that lets writing C extensions for the Python language.
# URL: http://www.cython.org/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Victor Martinez, pitillo at ono dot com
# Depends on: setuptools

name=cython
version=0.15.1
release=1
source=(http://www.cython.org/release/Cython-$version.tar.gz)

build() {
	cd Cython-$version
	python setup.py install --root $PKG
}

Added contrib/dahdi-tools/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description:	Digium Asterisk Hardware Device Interface Tools
# URL:		http://www.voip-info.org/wiki/view/DAHDI
# Maintainer:	Alan Mizrahi, alan at mizrahi dot com dot ve
# Depends on:	dahdi
# Optional:	newt

name=dahdi-tools
version=2.4.0
release=1
source=(http://downloads.asterisk.org/pub/telephony/$name/releases/$name-$version.tar.gz)

build () {
	cd $name-$version
	./configure --prefix=/usr --mandir=/usr/man
	make -j 1
	make -j 1 config install DESTDIR=$PKG install
}

Added contrib/dahdi/Pkgfile.









































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# Description:	Digium Asterisk Hardware Device Interface
# URL:		http://www.voip-info.org/wiki/view/DAHDI
# Maintainer:	Alan Mizrahi, alan at mizrahi dot com dot ve
# Depends on:

name=dahdi
version=2.4.0
release=1
source=(
http://downloads.asterisk.org/pub/telephony/dahdi-linux/releases/dahdi-linux-$version.tar.gz
http://downloads.digium.com/pub/telephony/firmware/releases/dahdi-fwload-vpmadt032-1.25.0.tar.gz
http://downloads.digium.com/pub/telephony/firmware/releases/dahdi-fw-oct6114-064-1.05.01.tar.gz
http://downloads.digium.com/pub/telephony/firmware/releases/dahdi-fw-oct6114-128-1.05.01.tar.gz
http://downloads.digium.com/pub/telephony/firmware/releases/dahdi-fw-tc400m-MR6.12.tar.gz
http://downloads.digium.com/pub/telephony/firmware/releases/dahdi-fw-hx8-2.06.tar.gz
dahdi-linux-2.6.34.patch
)

build () {
	cd $name-linux-$version

	# fix compilation in linux 2.6.34
	patch -p1 -i $SRC/dahdi-linux-2.6.34.patch

	# prevent downloading sources for second time
	# why, oh why did the developer do this?
	for s in ${source[@]}; do
		f=$(basename $s)
		[ -n "`echo $f |grep ^dahdi-fw`" ] && ln -s $PKGMK_SOURCE_DIR/$f drivers/dahdi/firmware/$f
	done
	mv ../*.bin drivers/dahdi/firmware

	# prevent depmod
	sed -i -e '/depmod/d' Makefile

	make
	make DESTDIR=$PKG HOTPLUG_FIRMWARE=yes DYNFS=yes UDEVRULES=yes install

	# firmware is installed in both /lib/firmware and /usr/lib/hotplug/firmware
	# get rid of the second one
	rm -rf $PKG/usr/lib

	# remove some crap
	rm -rf $PKG/lib/firmware/.dahdi* $PKG/lib/modules/*/modules.*

	# move udev rules to /lib/udev/rules.d
	mv $PKG/etc/udev $PKG/lib
	rmdir $PKG/etc

	# change rules to fix udev changes
	sed -i -e 's|SYSFS|ATTRS|g' -e 's|BUS|SUBSYSTEM|g' $PKG/lib/udev/rules.d/*
}

Added contrib/dahdi/dahdi-linux-2.6.34.patch.





















>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
--- dahdi-linux-2.3.0/include/dahdi/kernel.h.orig	2010-05-20 12:00:40.441781672 +0900
+++ dahdi-linux-2.3.0/include/dahdi/kernel.h	2010-05-20 12:00:58.822611827 +0900
@@ -43,6 +43,7 @@
 #endif
 #include <linux/fs.h>
 #include <linux/ioctl.h>
+#include <linux/slab.h>
 
 #ifdef CONFIG_DAHDI_NET	
 #include <linux/hdlc.h>

Added contrib/dahdi/pre-install.





















>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
#!/bin/sh

# check for asterisk group or add one
getent group asterisk || /usr/sbin/groupadd -g 79 asterisk

# check for asterisk user or add one
getent passwd asterisk || /usr/sbin/useradd -g asterisk -u 79 -d /var/empty -s /bin/false -c "Asterisk User" asterisk

# lock the account
/usr/bin/passwd -l asterisk

Added contrib/darcs/Pkgfile.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Description: Distributed version control system
# URL:         http://www.darcs.net/
# Maintainer:  Juergen Daubert, juergen dot daubert at t-online dot de
# Depends on:  curl ncurses libgmp

name=darcs
version=2.5.0
release=1
source=(http://jue.li/crux/files/$name-$version-$release-linux-i386.tar.xz)

build() {
    cd $name-$version
    install -D -m 755 darcs $PKG/usr/bin/darcs
    install -D -m 644 darcs.1 $PKG/usr/man/man1/darcs.1
}

Added contrib/dash/Pkgfile.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Description: The Almquist shell, a POSIX-compliant /bin/sh implementation
# URL:         http://gondor.apana.org.au/~herbert/dash/
# Packager:    Mark Rosenstand, mark at borkware dot net
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Depends on:

name=dash
version=0.5.7
release=1
source=(http://gondor.apana.org.au/~herbert/dash/files/dash-$version.tar.gz)

build() {
  cd dash-$version

  ./configure \
    --prefix= \
    --mandir=/usr/man

  make
  make DESTDIR=$PKG install

  ln -s dash $PKG/bin/ash
  ln -s dash.1 $PKG/usr/man/man1/ash.1
}

Added contrib/dash/post-install.











>
>
>
>
>
1
2
3
4
5
#!/bin/sh
if ! grep dash /etc/shells > /dev/null 2>&1; then
    echo "Adding dash to /etc/shells ..."
    echo "/bin/dash" >> /etc/shells
fi

Added contrib/dcraw-utils/Pkgfile.



















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# Description: Additional dcraw utilities
# URL: http://www.cybercom.net/~dcoffin/dcraw/
# Maintainer: Mikhail Kolesnik, mike at openbunker dot org
# Depends on: 

name=dcraw-utils
version=4
release=1
source=(http://www.cybercom.net/~dcoffin/dcraw/clean_crw.c \
		http://www.cybercom.net/~dcoffin/dcraw/fujiturn.c \
		http://www.cybercom.net/~dcoffin/dcraw/fuji_green.c \
		http://www.cybercom.net/~dcoffin/dcraw/parse.c)

build() {
	gcc $CFLAGS -o fuji_green fuji_green.c -lm
	gcc $CFLAGS -o clean_crw clean_crw.c
	gcc $CFLAGS -o fujiturn fujiturn.c
	gcc $CFLAGS -o dcparse parse.c
	
	install -m 755 -d $PKG/usr/bin
	install -m 755 fuji_green $PKG/usr/bin
	install -m 755 clean_crw $PKG/usr/bin
	install -m 755 fujiturn $PKG/usr/bin
	install -m 755 dcparse $PKG/usr/bin
}

Added contrib/dcraw/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: C program that decodes raw images from nearly any digitall camera
# URL: http://www.cybercom.net/~dcoffin/dcraw/
# Maintainer: Mikhail Kolesnik, mike at openbunker dot org
# Depends on: lcms

name=dcraw
version=9.12
release=1
source=(http://www.cybercom.net/~dcoffin/dcraw/archive/$name-$version.tar.gz)

build() {
	cd $name
	gcc $CFLAGS -o dcraw dcraw.c -lm -ljasper -ljpeg -llcms
	install -m 644 -D dcraw.1 $PKG/usr/man/man1/dcraw.1
	install -m 755 -D dcraw $PKG/usr/bin/dcraw
}

Added contrib/ddclient/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: Utility for maintaining your dynamic DNS entries.
# URL: http://ddclient.wiki.sourceforge.net/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Jay Dolan, jdolan at jdolan dot dyndns dot org
# Depends on: p5-io-socket-ssl

name=ddclient
version=3.8.1
release=1
source=(http://downloads.sourceforge.net/project/$name/$name/$name-$version/$name-$version.tar.bz2
	ddclient.rc)

build() {
	cd ddclient-$version
	sed -i -e 's|/etc/ddclient/|/etc/|' ddclient
	install -d $PKG/var/cache/ddclient
	install -D -m 0755 ddclient $PKG/usr/sbin/ddclient
	install -D -m 0755 ../ddclient.rc $PKG/etc/rc.d/ddclient
	install -D -m 0600 sample-etc_ddclient.conf $PKG/etc/ddclient.conf
}

Added contrib/ddclient/ddclient.rc.























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/usr/bin/env sh
#
# /etc/rc.d/ddclient Start or stop dynamic DNS service
#

export COLUMNS=9999

case "$1" in
	start)
		/usr/sbin/ddclient -syslog -daemon 0
	;;
	stop)
		killall -q ddclient
	;;
	restart)
		$0 stop
		$0 start
	;;
  *)
		echo "Usage: ddclient start|stop|restart"
		exit 1
	;;
esac

exit 0

#End of file

Added contrib/ddrescue/Pkgfile.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Description: ddrescue is a data recovery tool. It copies data from one file or block device (hard disc, cdrom, etc) to another, trying hard to rescue data in case of read errors.
# URL: http://www.gnu.org/software/ddrescue/ddrescue.html
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com

name=ddrescue
version=1.15
release=1
source=(http://ftp.gnu.org/gnu/$name/$name-$version.tar.gz)

build() {
	cd $name-$version

	sed -i -e '/^install : /s/all install-info install-man/all install-man/' \
		Makefile.in

	./configure \
		--prefix=/usr \
		--mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added contrib/deco-archive/Pkgfile.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Description: A collection of extractor wrappers for deco.
# URL: http://hartlich.com/deco/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com

name=deco-archive
version=1.5.1
release=1
source=(http://hartlich.com/deco/archive/download/$name-$version.tar.gz)

build() {
	cd $name-$version
	sed -i -e 's|^PREFIX   = /usr/local|PREFIX   = /usr|' config.mk
	make DESTDIR=$PKG install
}

Added contrib/deco/Pkgfile.



















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# Description: A generic archive file extractor that has a consistent command line interface.
# URL: http://hartlich.com/deco/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com
# Depends on: deco-archive

name=deco
version=1.6.2
release=1
source=(http://hartlich.com/deco/download/$name-$version.tar.gz
	config.mk.in)

build() {
	cd $name-$version
	[ "$CC" ] || CC=gcc

	sed \
		-e "s|@CC@|${CC}|" \
		-e "s|@CFLAGS@|$CFLAGS|" \
		-e "s|@LDFLAGS@|$LDFLAGS|" \
		$SRC/config.mk.in > config.mk

	make
	make DESTDIR=$PKG install
}

Added contrib/deco/config.mk.in.



















>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
CC       = @CC@
CPPFLAGS = -D _XOPEN_SOURCE=600
CFLAGS   = @CFLAGS@
LDFLAGS  = -s @LDFLAGS@

DESTDIR =
PREFIX  = /usr
BIN     = $(PREFIX)/bin
SHARE   = $(PREFIX)/share/deco

Added contrib/deluge/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description: A bittorrent client based on Python and GTK.
# URL: http://deluge-torrent.org/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Brett Goulder, predatorfreak at dcaf-security dot org.
# Depends on: librsvg libtorrent-rasterbar pygtk pyopenssl python2-chardet pyxdg setuptools twisted intltool mako

name=deluge
version=1.3.5
release=1
source=(http://download.deluge-torrent.org/source/$name-$version.tar.lzma)

build() {
	cd $name-$version
	ARCH='x86' OS='linux' python setup.py build
	python setup.py install --root=$PKG install

	install -d $PKG/usr/man
	mv $PKG/usr/share/man $PKG/usr/

	# deluge wont run without this
	#find $PKG -name '*.egg-info' | xargs rm -rf
}

Added contrib/deluge/README.

















>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
The following changes can be made to depends on line or --ignore= 
option in prt-get.

Remove for no GUI: gtk pygame pygobject pygtk librsvg

Remove for no webserver: mako

Add for D-BUS: libnotify

Added contrib/denyhosts/Pkgfile.









































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# Description: DenyHosts is a script intended to be run by Linux system administrators to help thwart ssh server attacks.
# URL: http://denyhosts.sourceforge.net/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com
# Depends on: python

name=denyhosts
version=2.6
release=1
source=(http://downloads.sourceforge.net/project/$name/$name/$version/DenyHosts-$version.tar.gz
	denyhosts-$version-config.patch)

build() {
	cd DenyHosts-$version
	patch -p0 -i $SRC/$name-$version-config.patch
	python setup.py install --root=$PKG
	
	rm $PKG/usr/share/denyhosts/*.txt
	
	install -d \
		$PKG/etc/ \
		$PKG/etc/{denyhosts,rc.d} \
		$PKG/var/log
	
	mv $PKG/usr/share/denyhosts/denyhosts.cfg-dist \
		$PKG/etc/denyhosts/denyhosts.conf
	
	mv $PKG/usr/share/denyhosts/daemon-control-dist \
		$PKG/usr/share/denyhosts/daemon-control
	
	chmod 700 $PKG/usr/share/denyhosts/daemon-control
	
	ln -s /usr/share/denyhosts/daemon-control $PKG/etc/rc.d/denyhosts
	rm $PKG/usr/share/denyhosts/plugins/README.contrib
	mv $PKG/usr/bin/denyhosts.py $PKG/usr/bin/denyhosts
}

Added contrib/denyhosts/README.



































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
REQUIREMENTS:

PRECAUTION:

PRE-INSTALL:

POST-INSTALL:

Edit /etc/denyhosts/denyhosts.conf as needed.

Edit /etc/inetd.conf, I added:

#<service_name> <sock_type> <proto> <flags> <user> <server_path> <args>
sshd		stream	tcp	nowait	root	/usr/sbin/sshd in.sshd

Add inetd and denyhosts to services array on /etc/rc.conf, after net and before sshd is loaded (and any other services used by denyhost and inetd (not sure if this is necessary but i believe its good to allow protection before the services start).

PRE-REMOVE:

POST-REMOVE:

NOTES:

To protect sshd.

Edit /etc/hosts.allow and comment out everyting, everything will have access by default.

Edit /etc/hosts.deny and comment out the "ALL: ALL: DENY" part, also the "#End of file" bit will be useless as denyhosts appends to the file.

(note the config in inetd.conf dosn't seem to be right or needed? see messages apon boot up, any corections email me :) )

Danny Rawlins, <romster at shortcircuit dot net dot au

Added contrib/denyhosts/denyhosts-2.6-config.patch.























































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
--- daemon-control-dist~	2006-04-22 09:04:43.000000000 +1000
+++ daemon-control-dist	2007-01-03 01:47:12.000000000 +1100
@@ -11,9 +11,9 @@
 #### Edit these to suit your configuration ####
 ###############################################
 
-DENYHOSTS_BIN   = "/usr/bin/denyhosts.py"
-DENYHOSTS_LOCK  = "/var/lock/subsys/denyhosts"
-DENYHOSTS_CFG   = "/usr/share/denyhosts/denyhosts.cfg"
+DENYHOSTS_BIN   = "/usr/bin/denyhosts"
+DENYHOSTS_LOCK  = "/var/run/denyhosts.pid"
+DENYHOSTS_CFG   = "/etc/denyhosts/denyhosts.conf"
 
 PYTHON_BIN      = "/usr/bin/env python"
 
--- denyhosts.cfg-dist~	2006-08-21 00:09:57.000000000 +1000
+++ denyhosts.cfg-dist	2007-01-03 01:44:25.000000000 +1100
@@ -8,8 +8,11 @@
 # The file to process can be overridden with the --file command line
 # argument
 #
+# CRUX
+SECURE_LOG = /var/log/auth
+#
 # Redhat or Fedora Core:
-SECURE_LOG = /var/log/secure
+#SECURE_LOG = /var/log/secure
 #
 # Mandrake, FreeBSD or OpenBSD: 
 #SECURE_LOG = /var/log/auth.log
@@ -191,8 +194,11 @@
 # and deleted upon exit.  This ensures that only one instance is
 # running at a time.
 #
+# CRUX
+LOCK_FILE = /var/run/denyhosts.pid
+#
 # Redhat/Fedora:
-LOCK_FILE = /var/lock/subsys/denyhosts
+#LOCK_FILE = /var/lock/subsys/denyhosts
 #
 # Debian
 #LOCK_FILE = /var/run/denyhosts.pid

Added contrib/dev86/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: cross development C compiler environment for the production of 8086 executables.
# URL: http://homepage.ntlworld.com/robert.debath/dev86/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Jose V Beneyto, sepen at crux dot nu
# Depends on:

name=dev86
version=0.16.18
release=1
source=(http://www.debath.co.uk/$name/Dev86src-$version.tar.gz \
        $name-$version.patch)

build() {
  cd $name-$version
  patch -p1 -i $SRC/$name-$version.patch
  echo quit | make -j1 PREFIX=/usr GCCFLAG="$CFLAGS"
  make -j1 install-all DIST=$PKG
  rm -f $PKG/usr/bin/{as,ld,nm,objdump,size}86
  rm -f $PKG/usr/man/man1/{as,ld}86.1
}

Added contrib/dev86/dev86-0.16.18.patch.



















































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
diff -purN dev86-0.16.17.orig/bootblocks/Makefile dev86-0.16.17/bootblocks/Makefile
--- dev86-0.16.17.orig/bootblocks/Makefile	2009-10-26 08:51:58.502794823 +0100
+++ dev86-0.16.17/bootblocks/Makefile	2009-10-26 08:55:41.134794770 +0100
@@ -1,6 +1,6 @@
 
 HOSTCC=cc
-HOSTCCFLAGS=-O
+HOSTCCFLAGS=
 BCC=bcc
 AS86=as86
 
diff -purN dev86-0.16.17.orig/elksemu/elks.c dev86-0.16.17/elksemu/elks.c
--- dev86-0.16.17.orig/elksemu/elks.c	2009-10-26 08:51:58.518794797 +0100
+++ dev86-0.16.17/elksemu/elks.c	2009-10-26 08:58:26.186795371 +0100
@@ -15,7 +15,7 @@
 #include <signal.h>
 #include <errno.h>
 #include <sys/stat.h>
-#include <sys/vm86.h>
+#include <asm/vm86.h>
 #include <sys/mman.h>
 #include "elks.h" 
 
@@ -129,8 +129,17 @@ static int load_elks(int fd)
 static inline int vm86_mine(struct vm86_struct* v86)
 {
 	int __res;
+#ifndef __PIC__
 	__asm__ __volatile__("int $0x80\n"
 	:"=a" (__res):"a" ((int)OLD_SYS_vm86), "b" ((int)v86));
+#else
+	__asm__ __volatile__(
+		"movl	%%ebx,%%ecx\n\t"
+		"movl	%2,%%ebx\n\t"
+		"int	$0x80\n\t"
+		"movl	%%ecx,%%ebx\n\t"
+		:"=a" (__res):"a" ((int)OLD_SYS_vm86), "r" ((int)v86) : "ecx");
+#endif
 	return __res;
 } 
 #endif
diff -purN dev86-0.16.17.orig/elksemu/elks_signal.c dev86-0.16.17/elksemu/elks_signal.c
--- dev86-0.16.17.orig/elksemu/elks_signal.c	2009-10-26 08:51:58.518794797 +0100
+++ dev86-0.16.17/elksemu/elks_signal.c	2009-10-26 08:58:26.182795456 +0100
@@ -7,7 +7,7 @@
 #include <signal.h>
 #include <errno.h>
 #include <sys/stat.h>
-#include <sys/vm86.h>
+#include <asm/vm86.h>
 #include "elks.h" 
 
 static int elks_sigtrap= -1;
diff -purN dev86-0.16.17.orig/elksemu/elks_sys.c dev86-0.16.17/elksemu/elks_sys.c
--- dev86-0.16.17.orig/elksemu/elks_sys.c	2009-10-26 08:51:58.518794797 +0100
+++ dev86-0.16.17/elksemu/elks_sys.c	2009-10-26 08:58:26.182795456 +0100
@@ -9,7 +9,7 @@
 #include <unistd.h>
 #include <fcntl.h>
 #include <sys/stat.h>
-#include <sys/vm86.h>
+#include <asm/vm86.h>
 #include <sys/times.h>
 #include <utime.h>
 #include <termios.h>
diff -purN dev86-0.16.17.orig/elksemu/minix.c dev86-0.16.17/elksemu/minix.c
--- dev86-0.16.17.orig/elksemu/minix.c	2009-10-26 08:51:58.518794797 +0100
+++ dev86-0.16.17/elksemu/minix.c	2009-10-26 08:58:26.186795371 +0100
@@ -4,7 +4,7 @@
 #include <unistd.h>
 #include <fcntl.h>
 #include <sys/stat.h>
-#include <sys/vm86.h>
+#include <asm/vm86.h>
 #include <sys/times.h>
 #include <utime.h>
 #include <termios.h>
diff -purN dev86-0.16.17.orig/makefile.in dev86-0.16.17/makefile.in
--- dev86-0.16.17.orig/makefile.in	2009-10-26 08:51:58.598795590 +0100
+++ dev86-0.16.17/makefile.in	2009-10-26 08:55:41.134794770 +0100
@@ -42,7 +42,7 @@ WALL  =-Wall -Wtraditional -Wshadow -Wid
 WALL  =-Wall -Wstrict-prototypes
 
 CC	=%CC%
-CFLAGS	=$(GCCFLAG) $(WALL) -O2 -g
+CFLAGS	=$(GCCFLAG) $(WALL) -fno-strict-aliasing
 #endif
 
 #ifndef GNUMAKE

Added contrib/devilspie/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: A window-matching utility
# URL: http://www.burtonini.com/blog/computers/devilspie
# Maintainer: Mikhail Kolesnik, mike at openbunker dot org
# Depends on: libwnck

name=devilspie
version=0.22
release=2
source=(http://www.burtonini.com/computing/$name-$version.tar.gz\
		$name-$version-gtk-2.22.1.patch)

build() {
	cd $name-$version
	patch -p0 -i $SRC/$name-$version-gtk-2.22.1.patch
	./configure --prefix=/usr --disable-nls \
				--mandir=/usr/man
	make
	make DESTDIR=$PKG install
	rm -rf $PKG/usr/share
}

Added contrib/devilspie/README.























>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
README for devilspie

REQUIREMENTS

PRE-INSTALL

POST-INSTALL

RESOURCES
You can find some info on using this utility on 
https://help.ubuntu.com/community/Devilspie

Added contrib/devilspie/devilspie-0.22-gtk-2.22.1.patch.













































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
--- src/xutils.c.orig	2010-12-20 09:56:26.000000000 +0000
+++ src/xutils.c	2010-12-20 10:02:36.000000000 +0000
@@ -40,7 +40,7 @@
   retval = GPOINTER_TO_UINT (g_hash_table_lookup (atom_hash, atom_name));
   if (!retval)
     {
-      retval = XInternAtom (gdk_display, atom_name, FALSE);
+      retval = XInternAtom (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), atom_name, FALSE);
 
       if (retval != None)
         {
@@ -76,7 +76,7 @@
   xev.xclient.type = ClientMessage;
   xev.xclient.serial = 0;
   xev.xclient.send_event = True;
-  xev.xclient.display = gdk_display;
+  xev.xclient.display = GDK_DISPLAY_XDISPLAY (gdk_display_get_default ());
   xev.xclient.window = xwindow;
   xev.xclient.message_type = my_wnck_atom_get ("_NET_WM_STATE");
   xev.xclient.format = 32;
@@ -84,7 +84,7 @@
   xev.xclient.data.l[1] = state1;
   xev.xclient.data.l[2] = state2;
 
-  XSendEvent (gdk_display,
+  XSendEvent (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()),
 	      RootWindowOfScreen (screen),
               False,
 	      SubstructureRedirectMask | SubstructureNotifyMask,
@@ -100,7 +100,7 @@
 int
 my_wnck_error_trap_pop (void)
 {
-  XSync (gdk_display, False);
+  XSync (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), False);
   return gdk_error_trap_pop ();
 }
 
@@ -122,7 +122,7 @@
   
   my_wnck_error_trap_push ();
   property = NULL;
-  result = XGetWindowProperty (gdk_display,
+  result = XGetWindowProperty (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()),
 			       xwindow, atom,
 			       0, G_MAXLONG,
 			       False, AnyPropertyType, &type, &format, &nitems,
@@ -144,7 +144,7 @@
       pp = (long *)property;  // we can assume (long *) since format == 32
       if (nitems == 1)
         {
-          prop_name = XGetAtomName (gdk_display, *pp);
+          prop_name = XGetAtomName (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), *pp);
           if (prop_name)
             {
               retval = g_strdup (prop_name);
@@ -157,7 +157,7 @@
           prop_names[nitems] = NULL;
           for (i=0; i < nitems; i++)
             {
-              prop_names[i] = XGetAtomName (gdk_display, *pp++);
+              prop_names[i] = XGetAtomName (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), *pp++);
             }
           retval = g_strjoinv (", ", prop_names);
           for (i=0; i < nitems; i++)
@@ -179,7 +179,7 @@
    XWindowAttributes attrs;
 
    xid = wnck_window_get_xid (window);
-   XGetWindowAttributes(gdk_display, xid, &attrs);
+   XGetWindowAttributes(GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), xid, &attrs);
 
    return attrs.screen;
 }
@@ -202,7 +202,7 @@
   
   my_wnck_error_trap_push ();
   type = None;
-  result = XGetWindowProperty (gdk_display,
+  result = XGetWindowProperty (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()),
                               xwindow,
                               atom,
                               0, G_MAXLONG,
@@ -242,7 +242,7 @@
   
   my_wnck_error_trap_push ();
   type = None;
-  result = XGetWindowProperty (gdk_display,
+  result = XGetWindowProperty (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()),
                               xwindow,
                               atom,
                               0, G_MAXLONG,
@@ -325,7 +325,7 @@
   }
   my_wnck_error_trap_push ();
 
-  XChangeProperty (GDK_DISPLAY(), wnck_window_get_xid(window),
+  XChangeProperty (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), wnck_window_get_xid(window),
                    my_wnck_atom_get ("_NET_WM_WINDOW_TYPE"),
                    XA_ATOM, 32, PropModeReplace, (guchar *)&atom, 1);
 
--- src/actions.c.orig	2010-12-20 10:02:50.000000000 +0000
+++ src/actions.c	2010-12-20 10:03:22.000000000 +0000
@@ -205,7 +205,7 @@
 
   /* try to set new position.. */
   my_wnck_error_trap_push ();
-  XMoveResizeWindow (gdk_display,
+  XMoveResizeWindow (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()),
                      wnck_window_get_xid (c->window),
                      new_xoffset, new_yoffset,
                      new_width, new_height);
@@ -253,7 +253,7 @@
 
   /* Try to set new position.. */
   my_wnck_error_trap_push ();
-  XMoveWindow (gdk_display,
+  XMoveWindow (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()),
                wnck_window_get_xid (c->window),
                xoffset, yoffset);
 
@@ -504,7 +504,7 @@
   x = ((num - 1) * wnck_screen_get_width (screen)) - viewport_start + x;
 
   my_wnck_error_trap_push ();
-  XMoveResizeWindow (gdk_display,
+  XMoveResizeWindow (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()),
                      wnck_window_get_xid (c->window),
                      x, y, width, height);
   if (my_wnck_error_trap_pop ()) {
@@ -577,7 +577,8 @@
   hints.decorations = decorate ? 1 : 0;
 
   /* Set Motif hints, most window managers handle these */
-  XChangeProperty(GDK_DISPLAY(), wnck_window_get_xid (c->window),
+  XChangeProperty(GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()),
+                  wnck_window_get_xid (c->window),
                   my_wnck_atom_get ("_MOTIF_WM_HINTS"), 
                   my_wnck_atom_get ("_MOTIF_WM_HINTS"), 32, PropModeReplace, 
                   (unsigned char *)&hints, PROP_MOTIF_WM_HINTS_ELEMENTS);
@@ -687,7 +688,8 @@
 	}
 	my_wnck_error_trap_push ();
 	v=0xffffffff/100*opacity;
-	XChangeProperty (GDK_DISPLAY(), wnck_window_get_xid(c->window),
+	XChangeProperty (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()),
+                wnck_window_get_xid(c->window),
 		my_wnck_atom_get ("_NET_WM_WINDOW_OPACITY"),
 		XA_CARDINAL, 32, PropModeReplace, (guchar *)&v, 1);
 

Added contrib/dhcp/Pkgfile.

























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# Description: DHCP server, client and relay agent.
# URL:         http://www.isc.org/dhcp
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    Mark Rosenstand, mark at borkware dot net

name=dhcp
version=4.2.2
release=1
source=(http://ftp.isc.org/isc/$name/$name-$version.tar.gz dhcpd \
        dhclient default-config.diff)

build() {
  cd dhcp-$version
  patch -p1 -i $SRC/default-config.diff

  ./configure --prefix=/usr \
              --mandir=/usr/man \
              --disable-dhcpv6 \
              --sysconfdir=/etc
  make
  make DESTDIR=$PKG install
  install -D ../dhcpd $PKG/etc/rc.d/dhcpd
  install -D ../dhclient $PKG/etc/rc.d/dhclient
  install -d -m 0755 $PKG/var/state/dhcp
  install -d -m 0755 $PKG/var/db
  touch $PKG/var/state/dhcp/dhcpd.leases
  install -D -m 755 $SRC/dhcp-$version/client/scripts/linux $PKG/sbin/dhclient-script
}

Added contrib/dhcp/default-config.diff.





































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
diff -ur dhcp-4.0.0.orig/client/dhclient.conf dhcp-4.0.0/client/dhclient.conf
--- dhcp-4.0.0.orig/client/dhclient.conf	1997-06-03 00:50:44.000000000 +0200
+++ dhcp-4.0.0/client/dhclient.conf	2008-02-23 23:49:14.538607761 +0100
@@ -1,3 +1,7 @@
+#
+# /etc/dhclient.conf: DHCP client configuration file, see dhclient.conf(5)
+#
+
 send host-name = pick-first-value(gethostname(), "ISC-dhclient");
 send dhcp-client-identifier 1:0:a0:24:ab:fb:9c;
 send dhcp-lease-time 3600;
@@ -11,7 +15,7 @@
 reboot 10;
 select-timeout 5;
 initial-interval 2;
-script "/etc/dhclient-script";
+script "/sbin/dhclient-script";
 media "-link0 -link1 -link2", "link0 link1";
 reject 192.33.137.209;
 
@@ -34,3 +38,5 @@
   rebind 2 2000/1/12 00:00:01;
   expire 2 2000/1/12 00:00:01;
 }
+
+# End of file
diff -ur dhcp-4.0.0.orig/server/dhcpd.conf dhcp-4.0.0/server/dhcpd.conf
--- dhcp-4.0.0.orig/server/dhcpd.conf	2002-08-13 02:55:17.000000000 +0200
+++ dhcp-4.0.0/server/dhcpd.conf	2008-02-23 23:50:52.132354533 +0100
@@ -1,11 +1,11 @@
-# dhcpd.conf
 #
-# Sample configuration file for ISC dhcpd
+# dhcpd.conf: Configuration file for ISC dhcpd
 #
 
-# option definitions common to all supported networks...
+# Option definitions common to all supported networks.
 option domain-name "example.org";
 option domain-name-servers ns1.example.org, ns2.example.org;
+ddns-update-style ad-hoc;
 
 default-lease-time 600;
 max-lease-time 7200;
@@ -102,3 +102,5 @@
     range 10.0.29.10 10.0.29.230;
   }
 }
+
+# End of file

Added contrib/dhcp/dhclient.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/bin/sh
#
# /etc/rc.d/dhcpcd: start/stop dhcp client
#

case $1 in
start)
  /usr/sbin/dhclient -q
  ;;
stop)
  test -f /var/run/dhclient.pid && kill $(cat /var/run/dhclient.pid)
  ;;
restart)
  $0 stop
  sleep 1
  $0 start
  ;;
*)
  echo "usage: $0 [start|stop|restart]"
  ;;
esac

# End of file

Added contrib/dhcp/dhcpd.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/bin/sh
#
# /etc/rc.d/dhcpd: start/stop dhcp daemon
#

case $1 in
start)
  /usr/sbin/dhcpd -q
  ;;
stop)
  killall -q /usr/sbin/dhcpd
  ;;
restart)
  $0 stop
  sleep 1
  $0 start
  ;;
*)
  echo "usage: $0 [start|stop|restart]"
  ;;
esac

# End of file

Added contrib/di/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: disk information utility, displaying everything (and more) that your 'df' command does.
# URL: http://www.gentoo.com/di/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Jose V Beneyto, sepen at crux dot nu

name=di
version=4.31
release=1
source=(http://www.gentoo.com/$name/$name-$version.tar.gz)

build() {
  cd $name-$version
  make
  install -D -m 0755 C/$name $PKG/usr/bin/$name
  ln -s $name $PKG/usr/bin/mi
  install -D -m 0644 $name.1 $PKG/usr/man/man1/$name.1
  ln -s $name.1 $PKG/usr/man/man1/mi.1
}

Added contrib/dia/Pkgfile.





























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# Description: GTK+ Diagramming Creation Software.
# URL: http://live.gnome.org/Dia/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Younes Hafri, ycrux at club dash internet dot fr
# Depends on: docbook-xsl gtk intltool libart_lgpl libgcrypt popt xorg-libxdamage

name=dia
version=0.97.2
release=1
source=(ftp://ftp.gnome.org/pub/gnome/sources/$name/${version%.*}/$name-$version.tar.xz)

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--mandir=/usr/man \
		--disable-nls \
		--disable-db2html

	make
	make DESTDIR=$PKG install

	rm -r \
		$PKG/usr/share/locale \
		$PKG/usr/share/doc \
		$PKG/usr/share/man

	rmdir $PKG/usr/share/oaf
}

Added contrib/dietlibc/Pkgfile.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Description: DietC is a libc that is optimized for size.
# URL: http://www.fefe.de/dietlibc/
# Maintainer: Alan Mizrahi, alan at mizrahi dot com dot ve
# Depends on: 

name=dietlibc
version=0.32
release=1

source=(http://www.mizrahi.com.ve/crux/dist/$name-$version.tar.bz2)

build() {
	cd $name-$version
	mkdir -p $PKG/{etc,usr} 
	make prefix=/usr/dietlibc
	# shared libraries don't build anymore with gcc 4.4, why?
	# make prefix=/usr/dietlibc dyn
	make prefix=/usr/dietlibc DESTDIR=$PKG install
	mv $PKG/usr/dietlibc/man $PKG/usr
	ln -s libc.a $PKG/usr/dietlibc/lib-i386/dietlibc.a
	ln -s lib-i386 $PKG/usr/dietlibc/lib
	rmdir $PKG/etc
}

Added contrib/dillo/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: A graphical web browser known for its speed and small footprint
# URL:         http://www.dillo.org
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  fltk

name=dillo
version=3.0.2
release=1
source=(http://www.dillo.org/download/$name-$version.tar.bz2)

build () {
    cd $name-$version
    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --enable-ipv6 \
                --enable-ssl
    make
    make DESTDIR=$PKG install
    rm -r $PKG/usr/share
}

Added contrib/distcc-monitor/Pkgfile.























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# Description: A graphical monitor for distcc.
# URL: http://distcc.org/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Johannes Winkelmann, jw at tks6 dot net
# Depends on: distcc gtk


name=distcc-monitor
version=3.1
release=1
source=(http://distcc.googlecode.com/files/distcc-$version.tar.bz2)

build() {
	cd distcc-$version

	./configure \
		--prefix=/usr \
		--disable-nls \
		--with-gtk

	make distccmon-gnome
	make distccmon-gnome DESTDIR=$PKG install

	rm -r $PKG/usr/etc $PKG/usr/bin/{lsdistcc,pump}
	rm -r $PKG/usr/{share/doc/,man,bin/distcc{,d,mon-text}}
	rm $PKG/usr/share/distcc/distccmon-gnome.desktop
}

Added contrib/distcc/Pkgfile.











































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# Description: A tool to distribute compilations.
# URL: http://distcc.org/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Johannes Winkelmann, jw at tks6 dot net
# Depends on: popt

name=distcc
version=3.1
release=1
source=(http://distcc.googlecode.com/files/$name-$version.tar.bz2
	distccd) 

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--disable-nls \
		--without-gnome \
		--without-gtk

	make
	make DESTDIR=$PKG install-man install-programs

	# distccd should be in sbin
	install -d $PKG/usr/sbin
	mv $PKG/usr/bin/distccd $PKG/usr/sbin/distccd

	install -m 0755 -D $SRC/distccd $PKG/etc/rc.d/distccd

	install -d $PKG/usr/lib/distcc
	cd $PKG/usr/lib/distcc
	for c in cc c++ gcc g++; do
		ln -s ../../bin/distcc $c
	done
	cd -
}

Added contrib/distcc/README.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
POST-INSTALL:

To use distcc, just:
a) Set DISTCC_ALLOW=IPADDR[/MASK] to /etc/rc.conf.
b) Export DISTCC_HOSTS to include the compilation hosts.
c) Prepend /usr/lib/distcc to your $PATH environment variable.
   (e.g. in pkgmk.conf)
d) Export MAKEFLAGS=-j<n> where n is a number representing the number of
  	parallel jobs you want.
e) Optionally set DISTCC_LOG_LEVEL=LEVEL in /etc/rc.conf to be more or
	less verbose to syslogd.


DISTCCD SERVICE

There's a service to simplify running distccd. By default, it wont run without DISTCC_ALLOW=IPADDR[/MASK] to accept connections and runs as user 'nobody'. Both values can be overridden in /etc/rc.conf, like this:

----
DISTCC_ALLOW='192.168.1.0/24'
DISTCC_USER='pkgmk'
----

There is more information on the public wiki http://crux.nu/Public/HomePage
and in the man pages 'man distccd' and 'man distcc'.

Added contrib/distcc/distccd.



































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#!/usr/bin/env sh
#
# /etc/rc.d/distccd: start/stop distcc daemon
#

. /etc/rc.conf
if [ -z "$DISTCC_ALLOW" ]; then 
    echo "Please define a range of IPs allowed to connect to this distccd"
    echo "host in DISTCC_ALLOW in /etc/rc.conf. More detailed information"
    echo "can be found in the distcc's README package."
    exit 1
fi

DISTCC_USER="${DISTCC_USER:=nobody}"
DISTCC_LOG_LEVEL="${DISTCC_LOG_LEVEL:=notice}"

case $1 in
start)
	/usr/sbin/distccd --daemon --user "$DISTCC_USER" --allow "$DISTCC_ALLOW" --log-level "$DISTCC_LOG_LEVEL"
	;;
stop)
	killall -q /usr/sbin/distccd
	;;
restart)
	$0 stop
	$0 start
	;;
*)
	echo "usage: $0 [start|stop|restart]"
	;;
esac

# End of file

Added contrib/djview4/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: DjVu viewer based on QT4
# URL: http://djvu.sourceforge.net/
# Maintainer: Mikhail Kolesnik, mike at openbunker dot org
# Depends on: djvulibre qt4

name=djview4
version=4.6
release=1
source=(http://download.sourceforge.net/djvu/$name-$version.tar.gz)

build() {
	cd $name-*
	./configure --prefix=/usr \
				--mandir=/usr/man \
				--disable-i18n
	make
	make DESTDIR=$PKG install
	rm -rf $PKG/usr/share/djvu/djview4/djview_??.qm
}

Added contrib/djvulibre/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description: GPL'ed reader of DjVu format
# URL: http://djvu.sourceforge.net/
# Maintainer: Mikhail Kolesnik, mike at openbunker dot org
# Packager: Oleksiy V. Khilkevich, centericq at ukr dot net
# Depends on: libjpeg

name=djvulibre
version=3.5.23
release=1
source=(http://download.sourceforge.net/djvu/$name-$version.tar.gz)

build() {
	cd $name-*
	./configure --prefix=/usr \
				--mandir=/usr/man \
				--disable-i18n \
				--disable-djview \
				--enable-desktopfiles
	make
	make DESTDIR=$PKG install
	rm -rf $PKG/usr/share/djvu/osi/{de,fr,ja,zh}
}

Added contrib/dmenu/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: dynamic menu, originally designed for dwm
# URL:         http://tools.suckless.org/dmenu/
# Packager:    Richard Poettler, richard dot poettler at gmail dot com
# Maintainer:  Bartlomiej Palmowski, rotwang at crux dot org dot pl
# Depends on:  xorg-libxinerama

name=dmenu
version=4.5
release=1
source=(http://dl.suckless.org/tools/$name-$version.tar.gz)

build () {
    cd "$name-$version"
    make
    make DESTDIR=$PKG \
        PREFIX=/usr \
        MANPREFIX=/usr/man \
        install
}

Added contrib/dmidecode/Pkgfile.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Description: System's hardware information of your BIOS according to SMBIOS/DMI standard.
# URL: http://www.nongnu.org/dmidecode/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Victor Martinez, pitillo at ono dot com

name=dmidecode
version=2.11
release=1
source=(http://download.savannah.gnu.org/releases/$name/$name-$version.tar.gz)

build() {
	cd $name-$version

	sed -i \
		-e 's|/usr/local|/usr|' \
		-e 's|/share/man|/man|' \
		-e '42d' Makefile

	make
	make DESTDIR=$PKG install
	rm -rf $PKG/usr/share/doc
	rmdir $PKG/usr/share
}

Added contrib/dnstop/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: dns diagnostic tool
# URL:         http://dns.measurement-factory.com/tools/dnstop/
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Depends on:  libpcap

name=dnstop
version=20110502
release=1
source=(http://dns.measurement-factory.com/tools/dnstop/src/$name-$version.tar.gz)
build() {
    cd  $name-${version}
    ./configure --prefix=/usr

    make
    install -D dnstop $PKG/usr/bin/dnstop
    install -D dnstop.8 $PKG/usr/man/man8/dnstop.8
}

Added contrib/dnstracer/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Dnstracer determines where a given Domain Name Server (DNS) gets its information from.
# URL: http://www.mavetju.org/unix/dnstracer.php
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com
# Depends on: 

name=dnstracer
version=1.9
release=1
source=(http://www.mavetju.org/download/dnstracer-$version.tar.gz)

build() {
	cd dnstracer-$version
	./configure --prefix=/usr
	make
	make DESTDIR=$PKG install
}

Added contrib/docbook-xml/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description: An document type definitions for verification of XML data files against the DocBook rule set.
# URL: http://www.docbook.org/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Depends on: libxml2

## http://www.linuxfromscratch.org/blfs/view/svn/pst/DocBook.html

name=docbook-xml
version=4.5
release=1
source="http://www.docbook.org/xml/$version/$name-$version.zip"

build() {
	install -d $PKG/usr/share/xml/docbook/xml-dtd-$version $PKG/etc/xml
	install -v -d -m 0755 $PKG/usr/share/xml/docbook/xml-dtd-$version
	install -v -d -m 0755 $PKG/etc/xml

	cp -a docbook.cat *.dtd ent/ *.mod \
		$PKG/usr/share/xml/docbook/xml-dtd-$version

	find $PKG/usr/share/xml/docbook/xml-dtd-$version -type f -exec chmod go-w,-x {} +
}

Added contrib/docbook-xml/post-install.













































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#!/bin/sh

set -e

if [ ! -e /etc/xml/docbook ]; then
	xmlcatalog --noout --create /etc/xml/docbook
fi

xmlcatalog --noout --add "public" \
	"-//OASIS//DTD DocBook XML V4.5//EN" \
	"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" \
	/etc/xml/docbook

xmlcatalog --noout --add "public" \
	"-//OASIS//DTD DocBook XML CALS Table Model V4.5//EN" \
	"file:///usr/share/xml/docbook/xml-dtd-4.5/calstblx.dtd" \
	/etc/xml/docbook

xmlcatalog --noout --add "public" \
	"-//OASIS//DTD XML Exchange Table Model 19990315//EN" \
	"file:///usr/share/xml/docbook/xml-dtd-4.5/soextblx.dtd" \
	/etc/xml/docbook

xmlcatalog --noout --add "public" \
	"-//OASIS//ELEMENTS DocBook XML Information Pool V4.5//EN" \
	"file:///usr/share/xml/docbook/xml-dtd-4.5/dbpoolx.mod" \
	/etc/xml/docbook

xmlcatalog --noout --add "public" \
	"-//OASIS//ELEMENTS DocBook XML Document Hierarchy V4.5//EN" \
	"file:///usr/share/xml/docbook/xml-dtd-4.5/dbhierx.mod" \
	/etc/xml/docbook

xmlcatalog --noout --add "public" \
	"-//OASIS//ELEMENTS DocBook XML HTML Tables V4.5//EN" \
	"file:///usr/share/xml/docbook/xml-dtd-4.5/htmltblx.mod" \
	/etc/xml/docbook

xmlcatalog --noout --add "public" \
	"-//OASIS//ENTITIES DocBook XML Notations V4.5//EN" \
	"file:///usr/share/xml/docbook/xml-dtd-4.5/dbnotnx.mod" \
	/etc/xml/docbook

xmlcatalog --noout --add "public" \
	"-//OASIS//ENTITIES DocBook XML Character Entities V4.5//EN" \
	"file:///usr/share/xml/docbook/xml-dtd-4.5/dbcentx.mod" \
	/etc/xml/docbook

xmlcatalog --noout --add "public" \
	"-//OASIS//ENTITIES DocBook XML Additional General Entities V4.5//EN" \
	"file:///usr/share/xml/docbook/xml-dtd-4.5/dbgenent.mod" \
	/etc/xml/docbook

xmlcatalog --noout --add "rewriteSystem" \
	"http://www.oasis-open.org/docbook/xml/4.5" \
	"file:///usr/share/xml/docbook/xml-dtd-4.5" \
	/etc/xml/docbook

xmlcatalog --noout --add "rewriteURI" \
	"http://www.oasis-open.org/docbook/xml/4.5" \
	"file:///usr/share/xml/docbook/xml-dtd-4.5" \
	/etc/xml/docbook

if [ ! -e /etc/xml/catalog ]; then
	xmlcatalog --noout --create /etc/xml/catalog
fi

xmlcatalog --noout --add "delegatePublic" \
	"-//OASIS//ENTITIES DocBook XML" \
	"file:///etc/xml/docbook" \
	/etc/xml/catalog

xmlcatalog --noout --add "delegatePublic" \
	"-//OASIS//DTD DocBook XML" \
	"file:///etc/xml/docbook" \
	/etc/xml/catalog

xmlcatalog --noout --add "delegateSystem" \
    "http://www.oasis-open.org/docbook/" \
    "file:///etc/xml/docbook" \
    /etc/xml/catalog

xmlcatalog --noout --add "delegateURI" \
	"http://www.oasis-open.org/docbook/" \
	"file:///etc/xml/docbook" \
	/etc/xml/catalog

Added contrib/docbook-xsl/Pkgfile.

































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# Description: A collection of XSL stylesheets that are useful for performing transformations on XML DocBook files. 
# URL: http://docbook.sourceforge.net/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Depends on: libxslt

## http://www.linuxfromscratch.org/blfs/view/svn/pst/docbook-xsl.html

name=docbook-xsl
version=1.75.2
release=1
source=(http://downloads.sourceforge.net/project/docbook/$name/$version/$name-$version.tar.bz2)

build() {
	cd $name-$version

	install -v -m 0755 -d $PKG/usr/share/xml/docbook/xsl-stylesheets-$version

	cp -R \
		VERSION common eclipse extensions fo highlighting html \
		htmlhelp images javahelp lib manpages params profiling \
		roundtrip slides template tools website xhtml xhtml-1_1 \
		$PKG/usr/share/xml/docbook/xsl-stylesheets-$version

	install -v -m 0644 -D README \
		$PKG/usr/share/doc/docbook-xsl-$version/README.XSL

	install -v -m 0755 RELEASE-NOTES* NEWS* \
		$PKG/usr/share/doc/docbook-xsl-$version

	# documentation
	#cp -v -R doc/* /usr/share/doc/docbook-xsl-$version
}

Added contrib/docbook-xsl/post-install.































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/bin/sh

set -e

if [ ! -d /etc/xml ]; then
	install -m 0755 -d /etc/xml
fi

if [ ! -f /etc/xml/catalog ]; then
	xmlcatalog --noout --create /etc/xml/catalog
fi

xmlcatalog --noout --add "rewriteSystem" \
	"http://docbook.sourceforge.net/release/xsl/1.75.2" \
	"/usr/share/xml/docbook/xsl-stylesheets-1.75.2" \
	/etc/xml/catalog

xmlcatalog --noout --add "rewriteURI" \
	"http://docbook.sourceforge.net/release/xsl/1.75.2" \
	"/usr/share/xml/docbook/xsl-stylesheets-1.75.2" \
	/etc/xml/catalog

xmlcatalog --noout --add "rewriteSystem" \
	"http://docbook.sourceforge.net/release/xsl/current" \
	"/usr/share/xml/docbook/xsl-stylesheets-1.75.2" \
	/etc/xml/catalog

xmlcatalog --noout --add "rewriteURI" \
	"http://docbook.sourceforge.net/release/xsl/current" \
	"/usr/share/xml/docbook/xsl-stylesheets-1.75.2" \
	/etc/xml/catalog

Added contrib/docutils/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: Text processing system.
# URL:         http://docutils.sourceforge.net/
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    James Mills, prologic at shortcircuit dot net dot au
# Depends on:  python

name=docutils
version=0.8.1
release=1
source=(http://download.sourceforge.net/$name/$name-$version.tar.gz)

build() {
   cd $name-$version
   python setup.py install --root=$PKG
   rm $PKG/usr/lib/python2.7/site-packages/docutils/writers/s5_html/themes/README.txt
   rm $PKG/usr/lib/python2.7/site-packages/docutils/parsers/rst/include/README.txt
}

Added contrib/dokuwiki/Pkgfile.



















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# Description: Standards compliant, nice and powerful Wiki
# URL:         http://wiki.splitbrain.org/wiki:dokuwiki
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    Simon Glossner, viper at hometux dot de
# Depends on:  mod_php

name=dokuwiki
version=2012-01-25
release=1
source=(http://www.splitbrain.org/_media/projects/dokuwiki/${name}-${version}.tgz)

build() {
    cd $name-$version
    
    touch data/changes.log
    
    mkdir -p $PKG/var/www/htdocs/dokuwiki/
    cp -r ./ $PKG/var/www/htdocs/dokuwiki/
    
    chown -R www.www $PKG/var/www/htdocs/dokuwiki/data
    
    rm -f  $PKG/var/www/htdocs/dokuwiki/{COPYING,README,VERSION}
    rm -f  $PKG/var/www/htdocs/dokuwiki/lib/{_fla,images/admin}/README
    find $PKG -path '*lang/*' ! -wholename '*/en*' -type d | xargs rm -rf 
}

Added contrib/dos2unix/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: Dos2unix converts DOS or MAC text files to UNIX format
# URL: http://dos2unix.sourceforge.net
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Jose V Beneyto, sepen at crux dot nu
# Depends on:

name=dos2unix
version=5.1
release=1
source=(http://www.xs4all.nl/~waterlan/$name/$name-$version.tar.gz)

build() {
  cd $name-$version
  make clean
  make CFLAGS="$CFLAGS -D_LARGEFILE_SOURCE"
  make DESTDIR=$PKG install prefix=/usr mandir=/usr/man
  rm -rf $PKG/usr/share
}

Added contrib/dovecot-sieve/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: Mail filter for the dovecot LDA
# URL: http://wiki.dovecot.org/LDA/Sieve
# Maintainer: Lucas Hazel, lucas at die dot net dot au
# Depends on: dovecot

name=dovecot-sieve
version=0.1.13
release=1
source=(http://www.rename-it.nl/dovecot/1.2/dovecot-1.2-sieve-$version.tar.gz)

build() {
    cd dovecot-1.2-sieve-$version
    ./configure --prefix=/usr \
	--libexecdir=/usr/lib \
	--mandir=/usr/man \
	--with-dovecot=/usr/lib/dovecot
    make
    make DESTDIR=$PKG install
}

Added contrib/dovecot-sieve/README.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
POST-INSTALL:

	* Configure your MTA to use dovecot as your LDA

	* Add cmusieve to the mail_plugins in dovecot.conf

	  protocol lda {
	  	   ...
		   mail_plugins = cmusieve # ... other plugins
		   ...
	  }

	* The default location of the sieve file is .dovecot.sieve in the
	  users mail directory. You can change this in the plugin section.

	  plugin {
	  	 ...
	 	 sieve = /var/sieve-scripts/%u/sieve
	       	 ...
	  }

Added contrib/doxygen/Pkgfile.























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# Description: Source code documentation generator tool
# URL: http://www.stack.nl/~dimitri/doxygen/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Hannes Mayer, kontakt at ecarux dot de
# Depends on:

name=doxygen 
version=1.7.6.1
release=1 
source=(http://ftp.stack.nl/pub/users/dimitri/$name-$version.src.tar.gz) 

build() {
  cd $name-$version

  ./configure
  make

  install -D -m 0755 bin/$name $PKG/usr/bin/$name
  install -D -m 0755 bin/doxytag $PKG/usr/bin/doxytag
  install -d $PKG/usr/man/man1
  cat doc/$name.1 | sed -e "s/DATE/Aug 2009/g" \
    -e "s/VERSION/$version/g" > $PKG/usr/man/man1/$name.1
  cat doc/doxytag.1 | sed -e "s/DATE/Aug 2009/g" \
    -e "s/VERSION/$version/g" > $PKG/usr/man/man1/doxytag.1
  cat doc/doxywizard.1 | sed -e "s/DATE/Aug 2009/g" \
    -e "s/VERSION/$version/g" > $PKG/usr/man/man1/doxywizard.1
}

Added contrib/dsh/Pkgfile.



































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# Description: Distributed Shell.
# URL:         http://www.netfort.gr.jp/~dancer/software/dsh.html.en
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    James Mills, prologic at shortcircuit dot net dot au
# Depends on:  libdshconfig

name=dsh
version=0.25.9
release=3
source=(http://www.netfort.gr.jp/~dancer/software/downloads/$name-$version.tar.gz
         machines.list)

build () {
   cd $name-$version

   ./configure --prefix=/usr \
      --disable-nls \
      --mandir=/usr/man

   make
   make DESTDIR=$PKG install

   rm -rf $PKG/usr/man/ja

   sed -i -e 's|rsh|ssh|g' $name.conf

   mkdir -p $PKG/etc/$name/group
   install -m644 $SRC/machines.list $PKG/etc/$name/
   install -m644 $name.conf $PKG/etc/$name/
   ln -sf /etc/$name/machines.list $PKG/etc/$name/group/all
   rm -r $PKG/usr/etc

}

Added contrib/dsh/machines.list.



>
1
localhost

Added contrib/dsniff/2.3-makefile.patch.



























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
--- Makefile.in.orig	2010-06-04 22:50:40.824476353 +0200
+++ Makefile.in	2010-06-04 22:50:50.443351639 +0200
@@ -94,7 +94,7 @@
 	$(RANLIB) $@
 
 dsniff: $(HDRS) $(SRCS) $(OBJS)
-	$(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) $(NIDSLIB) $(PCAPLIB) $(LNETLIB) $(DBLIB) $(SSLLIB)
+	$(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) $(DBLIB) $(NIDSLIB) $(PCAPLIB) $(LNETLIB) $(SSLLIB)
 
 arpspoof: arpspoof.o arp.o
 	$(CC) $(LDFLAGS) -o $@ arpspoof.o arp.o $(LIBS) $(PCAPLIB) $(LNETLIB)
@@ -115,7 +115,7 @@
 	$(CC) $(LDFLAGS) -o $@ msgsnarf.o buf.o pcaputil.o $(LIBS) $(NIDSLIB) $(PCAPLIB) $(LNETLIB)
 
 sshmitm: sshmitm.o buf.o hex.o record.o ssh.o sshcrypto.o
-	$(CC) $(LDFLAGS) -o $@ sshmitm.o buf.o hex.o record.o ssh.o sshcrypto.o $(LIBS) $(LNETLIB) $(DBLIB) $(SSLLIB)
+	$(CC) $(LDFLAGS) -o $@ sshmitm.o buf.o hex.o record.o ssh.o sshcrypto.o $(LIBS) $(DBLIB) $(LNETLIB) $(SSLLIB)
 
 sshow: sshow.o pcaputil.o
 	$(CC) $(LDFLAGS) -o $@ sshow.o pcaputil.o $(LIBS) $(NIDSLIB) $(PCAPLIB) $(LNETLIB)
@@ -133,7 +133,7 @@
 	$(CC) $(LDFLAGS) -o $@ urlsnarf.o base64.o buf.o pcaputil.o $(LIBS) $(NIDSLIB) $(PCAPLIB) $(LNETLIB)
 
 webmitm: webmitm.o base64.o buf.o decode_http.o record.o
-	$(CC) $(LDFLAGS) -o $@ webmitm.o base64.o buf.o decode_http.o record.o $(LIBS) $(LNETLIB) $(DBLIB) $(SSLLIB)
+	$(CC) $(LDFLAGS) -o $@ webmitm.o base64.o buf.o decode_http.o record.o $(LIBS) $(DBLIB) $(LNETLIB) $(SSLLIB)
 
 webspy: webspy.o base64.o buf.o remote.o
 	$(CC) $(LDFLAGS) -o $@ webspy.o base64.o buf.o remote.o $(LIBS) $(NIDSLIB) $(PCAPLIB) $(LNETLIB) $(X11LIB)

Added contrib/dsniff/Pkgfile.





































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# Description: tools for network auditing and penetration testing
# URL:         http://monkey.org/~dugsong/dsniff
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Depends on:  libnids

name=dsniff
version=2.4b1
release=1
source=(http://monkey.org/~dugsong/dsniff/beta/$name-$version.tar.gz
        2.3-makefile.patch dsniff-2.4_beta1-debian-r1.patch
        dsniff-httppostfix.patch)

build() {
    cd  $name-2.4
    patch -i ../2.3-makefile.patch
    patch -i ../dsniff-2.4_beta1-debian-r1.patch
    patch -i ../dsniff-httppostfix.patch
    sed -i -e 's/CLK_TCK/CLOCKS_PER_SEC/g' sshow.c
    export LDFLAGS="`pkg-config --libs gthread-2.0` -lresolv" 
    export CFLAGS="`pkg-config --cflags gthread-2.0`" 
    ./configure --prefix=/usr
    #echo 'LDFLAGS += -lresolv' >> Makefile
    make
    install -d -m 755 $PKG/usr/sbin
    for prog in arpspoof dnsspoof dsniff filesnarf macof mailsnarf msgsnarf \
    sshmitm sshow tcpkill tcpnice  urlsnarf webmitm webspy; do \
      install -m 755 $prog $PKG/usr/sbin/; done
    install -d -m 755 $PKG/usr/man/man8
    for man in *.8; do install -D -m 644 $man $PKG/usr/man/man8; done
    install -d -m 755 $PKG/usr/share/dsniff
    for shares in dnsspoof.hosts dsniff.magic dsniff.services; do \
      install -m 644 $shares $PKG/usr/share/dsniff; done

}

Added contrib/dsniff/dsniff-2.4_beta1-debian-r1.patch.











































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
diff --exclude='*~' -Naur dsniff-2.4.orig/arp.c dsniff-2.4/arp.c
--- dsniff-2.4.orig/arp.c	2006-01-21 18:56:04.000000000 -0200
+++ dsniff-2.4/arp.c	2006-01-21 18:56:37.000000000 -0200
@@ -39,7 +39,7 @@
 
 #ifdef BSD
 int
-arp_cache_lookup(in_addr_t ip, struct ether_addr *ether)
+arp_cache_lookup(in_addr_t ip, struct ether_addr *ether, const char* linf)
 {
 	int mib[6];
 	size_t len;
@@ -91,7 +91,7 @@
 #endif
 
 int
-arp_cache_lookup(in_addr_t ip, struct ether_addr *ether)
+arp_cache_lookup(in_addr_t ip, struct ether_addr *ether, const char* lif)
 {
 	int sock;
 	struct arpreq ar;
@@ -99,7 +99,7 @@
 	
 	memset((char *)&ar, 0, sizeof(ar));
 #ifdef __linux__
-	strncpy(ar.arp_dev, "eth0", sizeof(ar.arp_dev));   /* XXX - *sigh* */
+	strncpy(ar.arp_dev, lif, strlen(lif));
 #endif
 	sin = (struct sockaddr_in *)&ar.arp_pa;
 	sin->sin_family = AF_INET;
diff --exclude='*~' -Naur dsniff-2.4.orig/arp.h dsniff-2.4/arp.h
--- dsniff-2.4.orig/arp.h	2006-01-21 18:56:04.000000000 -0200
+++ dsniff-2.4/arp.h	2006-01-21 18:56:37.000000000 -0200
@@ -11,6 +11,6 @@
 #ifndef _ARP_H_
 #define _ARP_H_
 
-int	arp_cache_lookup(in_addr_t ip, struct ether_addr *ether);
+int	arp_cache_lookup(in_addr_t ip, struct ether_addr *ether, const char* linf);
 
 #endif /* _ARP_H_ */
diff --exclude='*~' -Naur dsniff-2.4.orig/arpspoof.c dsniff-2.4/arpspoof.c
--- dsniff-2.4.orig/arpspoof.c	2006-01-21 18:56:04.000000000 -0200
+++ dsniff-2.4/arpspoof.c	2006-01-21 18:56:45.000000000 -0200
@@ -27,7 +27,7 @@
 
 extern char *ether_ntoa(struct ether_addr *);
 
-static struct libnet_link_int *llif;
+static libnet_t *l;
 static struct ether_addr spoof_mac, target_mac;
 static in_addr_t spoof_ip, target_ip;
 static char *intf;
@@ -41,47 +41,41 @@
 }
 
 static int
-arp_send(struct libnet_link_int *llif, char *dev,
-	 int op, u_char *sha, in_addr_t spa, u_char *tha, in_addr_t tpa)
+arp_send(libnet_t *l, int op, u_int8_t *sha,
+	 in_addr_t spa, u_int8_t *tha, in_addr_t tpa)
 {
-	char ebuf[128];
-	u_char pkt[60];
-	
 	if (sha == NULL &&
-	    (sha = (u_char *)libnet_get_hwaddr(llif, dev, ebuf)) == NULL) {
+	    (sha = (u_int8_t *)libnet_get_hwaddr(l)) == NULL) {
 		return (-1);
 	}
 	if (spa == 0) {
-		if ((spa = libnet_get_ipaddr(llif, dev, ebuf)) == 0)
+		if ((spa = libnet_get_ipaddr4(l)) == -1)
 			return (-1);
-		spa = htonl(spa); /* XXX */
 	}
 	if (tha == NULL)
 		tha = "\xff\xff\xff\xff\xff\xff";
 	
-	libnet_build_ethernet(tha, sha, ETHERTYPE_ARP, NULL, 0, pkt);
+	libnet_autobuild_arp(op, sha, (u_int8_t *)&spa,
+			     tha, (u_int8_t *)&tpa, l);
+	libnet_build_ethernet(tha, sha, ETHERTYPE_ARP, NULL, 0, l, 0);
 	
-	libnet_build_arp(ARPHRD_ETHER, ETHERTYPE_IP, ETHER_ADDR_LEN, 4,
-			 op, sha, (u_char *)&spa, tha, (u_char *)&tpa,
-			 NULL, 0, pkt + ETH_H);
-
 	fprintf(stderr, "%s ",
 		ether_ntoa((struct ether_addr *)sha));
 
 	if (op == ARPOP_REQUEST) {
 		fprintf(stderr, "%s 0806 42: arp who-has %s tell %s\n",
 			ether_ntoa((struct ether_addr *)tha),
-			libnet_host_lookup(tpa, 0),
-			libnet_host_lookup(spa, 0));
+			libnet_addr2name4(tpa, LIBNET_DONT_RESOLVE),
+			libnet_addr2name4(spa, LIBNET_DONT_RESOLVE));
 	}
 	else {
 		fprintf(stderr, "%s 0806 42: arp reply %s is-at ",
 			ether_ntoa((struct ether_addr *)tha),
-			libnet_host_lookup(spa, 0));
+			libnet_addr2name4(spa, LIBNET_DONT_RESOLVE));
 		fprintf(stderr, "%s\n",
 			ether_ntoa((struct ether_addr *)sha));
 	}
-	return (libnet_write_link_layer(llif, dev, pkt, sizeof(pkt)) == sizeof(pkt));
+	return (libnet_write(l));
 }
 
 #ifdef __linux__
@@ -113,13 +107,13 @@
 	int i = 0;
 
 	do {
-		if (arp_cache_lookup(ip, mac) == 0)
+		if (arp_cache_lookup(ip, mac, intf) == 0)
 			return (1);
 #ifdef __linux__
 		/* XXX - force the kernel to arp. feh. */
 		arp_force(ip);
 #else
-		arp_send(llif, intf, ARPOP_REQUEST, NULL, 0, NULL, ip);
+		arp_send(l, ARPOP_REQUEST, NULL, 0, NULL, ip);
 #endif
 		sleep(1);
 	}
@@ -136,9 +130,9 @@
 	if (arp_find(spoof_ip, &spoof_mac)) {
 		for (i = 0; i < 3; i++) {
 			/* XXX - on BSD, requires ETHERSPOOF kernel. */
-			arp_send(llif, intf, ARPOP_REPLY,
-				 (u_char *)&spoof_mac, spoof_ip,
-				 (target_ip ? (u_char *)&target_mac : NULL),
+			arp_send(l, ARPOP_REPLY,
+				 (u_int8_t *)&spoof_mac, spoof_ip,
+				 (target_ip ? (u_int8_t *)&target_mac : NULL),
 				 target_ip);
 			sleep(1);
 		}
@@ -151,7 +145,8 @@
 {
 	extern char *optarg;
 	extern int optind;
-	char ebuf[PCAP_ERRBUF_SIZE];
+	char pcap_ebuf[PCAP_ERRBUF_SIZE];
+	char libnet_ebuf[LIBNET_ERRBUF_SIZE];
 	int c;
 	
 	intf = NULL;
@@ -163,7 +158,7 @@
 			intf = optarg;
 			break;
 		case 't':
-			if ((target_ip = libnet_name_resolve(optarg, 1)) == -1)
+			if ((target_ip = libnet_name2addr4(l, optarg, LIBNET_RESOLVE)) == -1)
 				usage();
 			break;
 		default:
@@ -176,26 +171,26 @@
 	if (argc != 1)
 		usage();
 	
-	if ((spoof_ip = libnet_name_resolve(argv[0], 1)) == -1)
+	if ((spoof_ip = libnet_name2addr4(l, argv[0], LIBNET_RESOLVE)) == -1)
 		usage();
 	
-	if (intf == NULL && (intf = pcap_lookupdev(ebuf)) == NULL)
-		errx(1, "%s", ebuf);
+	if (intf == NULL && (intf = pcap_lookupdev(pcap_ebuf)) == NULL)
+		errx(1, "%s", pcap_ebuf);
 	
-	if ((llif = libnet_open_link_interface(intf, ebuf)) == 0)
-		errx(1, "%s", ebuf);
+	if ((l = libnet_init(LIBNET_LINK, intf, libnet_ebuf)) == NULL)
+		errx(1, "%s", libnet_ebuf);
 	
 	if (target_ip != 0 && !arp_find(target_ip, &target_mac))
 		errx(1, "couldn't arp for host %s",
-		     libnet_host_lookup(target_ip, 0));
+		     libnet_addr2name4(target_ip, LIBNET_DONT_RESOLVE));
 	
 	signal(SIGHUP, cleanup);
 	signal(SIGINT, cleanup);
 	signal(SIGTERM, cleanup);
 	
 	for (;;) {
-		arp_send(llif, intf, ARPOP_REPLY, NULL, spoof_ip,
-			 (target_ip ? (u_char *)&target_mac : NULL),
+		arp_send(l, ARPOP_REPLY, NULL, spoof_ip,
+			 (target_ip ? (u_int8_t *)&target_mac : NULL),
 			 target_ip);
 		sleep(2);
 	}
diff --exclude='*~' -Naur dsniff-2.4.orig/dnsspoof.8 dsniff-2.4/dnsspoof.8
--- dsniff-2.4.orig/dnsspoof.8	2006-01-21 18:56:04.000000000 -0200
+++ dsniff-2.4/dnsspoof.8	2006-01-21 18:56:50.000000000 -0200
@@ -31,7 +31,7 @@
 address queries on the LAN with an answer of the local machine's IP
 address.
 .SH FILES
-.IP \fI/usr/local/lib/dnsspoof.hosts\fR
+.IP \fI/etc/dsniff/dnsspoof.hosts\fR
 Sample hosts file.
 .SH "SEE ALSO"
 dsniff(8), hosts(5)
diff --exclude='*~' -Naur dsniff-2.4.orig/dnsspoof.c dsniff-2.4/dnsspoof.c
--- dsniff-2.4.orig/dnsspoof.c	2006-01-21 18:56:04.000000000 -0200
+++ dsniff-2.4/dnsspoof.c	2006-01-21 18:56:45.000000000 -0200
@@ -38,7 +38,7 @@
 
 pcap_t		*pcap_pd = NULL;
 int		 pcap_off = -1;
-int		 lnet_sock = -1;
+libnet_t	*l;
 u_long		 lnet_ip = -1;
 
 static void
@@ -90,19 +90,18 @@
 dns_init(char *dev, char *filename)
 {
 	FILE *f;
-	struct libnet_link_int *llif;
+	libnet_t *l;
+	char libnet_ebuf[LIBNET_ERRBUF_SIZE];
 	struct dnsent *de;
 	char *ip, *name, buf[1024];
 
-	if ((llif = libnet_open_link_interface(dev, buf)) == NULL)
-		errx(1, "%s", buf);
+	if ((l = libnet_init(LIBNET_LINK, dev, libnet_ebuf)) == NULL)
+		errx(1, "%s", libnet_ebuf);
 	
-	if ((lnet_ip = libnet_get_ipaddr(llif, dev, buf)) == -1)
-		errx(1, "%s", buf);
+	if ((lnet_ip = libnet_get_ipaddr4(l)) == -1)
+		errx(1, "%s", libnet_geterror(l));
 
-	lnet_ip = htonl(lnet_ip);
-	
-	libnet_close_link_interface(llif);
+	libnet_destroy(l);
 
 	SLIST_INIT(&dns_entries);
 	
@@ -180,7 +179,7 @@
 static void
 dns_spoof(u_char *u, const struct pcap_pkthdr *pkthdr, const u_char *pkt)
 {
-	struct libnet_ip_hdr *ip;
+	struct libnet_ipv4_hdr *ip;
 	struct libnet_udp_hdr *udp;
 	HEADER *dns;
 	char name[MAXHOSTNAMELEN];
@@ -189,7 +188,7 @@
 	in_addr_t dst;
 	u_short type, class;
 
-	ip = (struct libnet_ip_hdr *)(pkt + pcap_off);
+	ip = (struct libnet_ipv4_hdr *)(pkt + pcap_off);
 	udp = (struct libnet_udp_hdr *)(pkt + pcap_off + (ip->ip_hl * 4));
 	dns = (HEADER *)(udp + 1);
 	p = (u_char *)(dns + 1);
@@ -212,7 +211,7 @@
 	if (class != C_IN)
 		return;
 
-	p = buf + IP_H + UDP_H + dnslen;
+	p = buf + dnslen;
 	
 	if (type == T_A) {
 		if ((dst = dns_lookup_a(name)) == -1)
@@ -234,38 +233,38 @@
 		anslen += 12;
 	}
 	else return;
-	
-	libnet_build_ip(UDP_H + dnslen + anslen, 0, libnet_get_prand(PRu16),
-			0, 64, IPPROTO_UDP, ip->ip_dst.s_addr,
-			ip->ip_src.s_addr, NULL, 0, buf);
-	
-	libnet_build_udp(ntohs(udp->uh_dport), ntohs(udp->uh_sport),
-			 NULL, dnslen + anslen, buf + IP_H);
 
-	memcpy(buf + IP_H + UDP_H, (u_char *)dns, dnslen);
+	memcpy(buf, (u_char *)dns, dnslen);
 
-	dns = (HEADER *)(buf + IP_H + UDP_H);
+	dns = (HEADER *)buf;
 	dns->qr = dns->ra = 1;
 	if (type == T_PTR) dns->aa = 1;
 	dns->ancount = htons(1);
 
 	dnslen += anslen;
+
+	libnet_clear_packet(l);
+	libnet_build_udp(ntohs(udp->uh_dport), ntohs(udp->uh_sport),
+			 LIBNET_UDP_H + dnslen, 0,
+			 (u_int8_t *)buf, dnslen, l, 0);
+
+	libnet_build_ipv4(LIBNET_IPV4_H + LIBNET_UDP_H + dnslen, 0,
+			  libnet_get_prand(LIBNET_PRu16), 0, 64, IPPROTO_UDP, 0,
+			  ip->ip_dst.s_addr, ip->ip_src.s_addr, NULL, 0, l, 0);
 	
-	libnet_do_checksum(buf, IPPROTO_UDP, UDP_H + dnslen);
-	
-	if (libnet_write_ip(lnet_sock, buf, IP_H + UDP_H + dnslen) < 0)
+	if (libnet_write(l) < 0)
 		warn("write");
 
 	fprintf(stderr, "%s.%d > %s.%d:  %d+ %s? %s\n",
-	      libnet_host_lookup(ip->ip_src.s_addr, 0), ntohs(udp->uh_sport),
-	      libnet_host_lookup(ip->ip_dst.s_addr, 0), ntohs(udp->uh_dport),
+	      libnet_addr2name4(ip->ip_src.s_addr, 0), ntohs(udp->uh_sport),
+	      libnet_addr2name4(ip->ip_dst.s_addr, 0), ntohs(udp->uh_dport),
 	      ntohs(dns->id), type == T_A ? "A" : "PTR", name);
 }
 
 static void
 cleanup(int sig)
 {
-	libnet_close_raw_sock(lnet_sock);
+	libnet_destroy(l);
 	pcap_close(pcap_pd);
 	exit(0);
 }
@@ -276,6 +275,7 @@
 	extern char *optarg;
 	extern int optind;
 	char *p, *dev, *hosts, buf[1024];
+	char ebuf[LIBNET_ERRBUF_SIZE];
 	int i;
 
 	dev = hosts = NULL;
@@ -306,7 +306,7 @@
 		strlcpy(buf, p, sizeof(buf));
 	}
 	else snprintf(buf, sizeof(buf), "udp dst port 53 and not src %s",
-		      libnet_host_lookup(lnet_ip, 0));
+		      libnet_addr2name4(lnet_ip, LIBNET_DONT_RESOLVE));
 	
 	if ((pcap_pd = pcap_init(dev, buf, 128)) == NULL)
 		errx(1, "couldn't initialize sniffing");
@@ -314,10 +314,10 @@
 	if ((pcap_off = pcap_dloff(pcap_pd)) < 0)
 		errx(1, "couldn't determine link layer offset");
 	
-	if ((lnet_sock = libnet_open_raw_sock(IPPROTO_RAW)) == -1)
+	if ((l = libnet_init(LIBNET_RAW4, dev, ebuf)) == NULL)
 		errx(1, "couldn't initialize sending");
 	
-	libnet_seed_prand();
+	libnet_seed_prand(l);
 	
 	signal(SIGHUP, cleanup);
 	signal(SIGINT, cleanup);
diff --exclude='*~' -Naur dsniff-2.4.orig/dsniff.8 dsniff-2.4/dsniff.8
--- dsniff-2.4.orig/dsniff.8	2006-01-21 18:56:04.000000000 -0200
+++ dsniff-2.4/dsniff.8	2006-01-21 18:56:50.000000000 -0200
@@ -10,7 +10,7 @@
 .nf
 .fi
 \fBdsniff\fR [\fB-c\fR] [\fB-d\fR] [\fB-m\fR] [\fB-n\fR] [\fB-i
-\fIinterface\fR] [\fB-s \fIsnaplen\fR] [\fB-f \fIservices\fR]
+\fIinterface\fR | \fB-p \fIpcapfile\fR] [\fB-s \fIsnaplen\fR] [\fB-f \fIservices\fR]
 [\fB-t \fItrigger[,...]\fR]]
 [\fB-r\fR|\fB-w\fR \fIsavefile\fR] [\fIexpression\fR]
 .SH DESCRIPTION
@@ -45,6 +45,9 @@
 Do not resolve IP addresses to hostnames.
 .IP "\fB-i \fIinterface\fR"
 Specify the interface to listen on.
+.IP "\fB-p \fIpcapfile\fR"
+Rather than processing the contents of packets observed upon the network 
+process the given PCAP capture file.
 .IP "\fB-s \fIsnaplen\fR"
 Analyze at most the first \fIsnaplen\fR bytes of each TCP connection,
 rather than the default of 1024.
@@ -65,9 +68,9 @@
 On a hangup signal \fBdsniff\fR will dump its current trigger table to
 \fIdsniff.services\fR.
 .SH FILES
-.IP \fI/usr/local/lib/dsniff.services\fR
+.IP \fI/etc/dsniff/dsniff.services\fR
 Default trigger table
-.IP \fI/usr/local/lib/dsniff.magic\fR
+.IP \fI/etc/dsniff/dsniff.magic\fR
 Network protocol magic
 .SH "SEE ALSO"
 arpspoof(8), libnids(3), services(5), magic(5)
diff --exclude='*~' -Naur dsniff-2.4.orig/dsniff.8.orig dsniff-2.4/dsniff.8.orig
--- dsniff-2.4.orig/dsniff.8.orig	1969-12-31 21:00:00.000000000 -0300
+++ dsniff-2.4/dsniff.8.orig	2006-01-21 18:56:40.000000000 -0200
@@ -0,0 +1,84 @@
+.TH DSNIFF 8
+.ad
+.fi
+.SH NAME
+dsniff
+\-
+password sniffer
+.SH SYNOPSIS
+.na
+.nf
+.fi
+\fBdsniff\fR [\fB-c\fR] [\fB-d\fR] [\fB-m\fR] [\fB-n\fR] [\fB-i
+\fIinterface\fR | \fB-p \fIpcapfile\fR] [\fB-s \fIsnaplen\fR] [\fB-f \fIservices\fR]
+[\fB-t \fItrigger[,...]\fR]]
+[\fB-r\fR|\fB-w\fR \fIsavefile\fR] [\fIexpression\fR]
+.SH DESCRIPTION
+.ad
+.fi
+\fBdsniff\fR is a password sniffer which handles FTP, Telnet, SMTP,
+HTTP, POP, poppass, NNTP, IMAP, SNMP, LDAP, Rlogin, RIP, OSPF, PPTP
+MS-CHAP, NFS, VRRP, YP/NIS, SOCKS, X11, CVS, IRC, AIM, ICQ, Napster,
+PostgreSQL, Meeting Maker, Citrix ICA, Symantec pcAnywhere, NAI
+Sniffer, Microsoft SMB, Oracle SQL*Net, Sybase and Microsoft SQL
+protocols.
+.LP
+\fBdsniff\fR automatically detects and minimally parses each
+application protocol, only saving the interesting bits, and uses
+Berkeley DB as its output file format, only logging unique
+authentication attempts. Full TCP/IP reassembly is provided by
+libnids(3).
+.LP
+I wrote \fBdsniff\fR with honest intentions - to audit my own network,
+and to demonstrate the insecurity of cleartext network protocols.
+Please do not abuse this software.
+.SH OPTIONS
+.IP \fB-c\fR
+Perform half-duplex TCP stream reassembly, to handle asymmetrically
+routed traffic (such as when using arpspoof(8) to intercept client
+traffic bound for the local gateway).
+.IP \fB-d\fR
+Enable debugging mode.
+.IP \fB-m\fR
+Enable automatic protocol detection.
+.IP \fB-n\fR
+Do not resolve IP addresses to hostnames.
+.IP "\fB-i \fIinterface\fR"
+Specify the interface to listen on.
+.IP "\fB-p \fIpcapfile\fR"
+Rather than processing the contents of packets observed upon the network 
+process the given PCAP capture file.
+.IP "\fB-s \fIsnaplen\fR"
+Analyze at most the first \fIsnaplen\fR bytes of each TCP connection,
+rather than the default of 1024.
+.IP "\fB-f \fIservices\fR"
+Load triggers from a \fIservices\fR file.
+.IP "\fB -t \fItrigger\fR[,...]"
+Load triggers from a comma-separated list, specified as
+\fIport\fR/\fIproto\fR=\fIservice\fR (e.g. 80/tcp=http).
+.IP "\fB-r \fIsavefile\fR"
+Read sniffed sessions from a \fIsavefile\fR created with the \fB-w\fR
+option.
+.IP "\fB-w \fIfile\fR"
+Write sniffed sessions to \fIsavefile\fR rather than parsing and
+printing them out.
+.IP "\fIexpression\fR"
+Specify a tcpdump(8) filter expression to select traffic to sniff.
+.LP
+On a hangup signal \fBdsniff\fR will dump its current trigger table to
+\fIdsniff.services\fR.
+.SH FILES
+.IP \fI/usr/local/lib/dsniff.services\fR
+Default trigger table
+.IP \fI/usr/local/lib/dsniff.magic\fR
+Network protocol magic
+.SH "SEE ALSO"
+arpspoof(8), libnids(3), services(5), magic(5)
+.SH AUTHOR
+.na
+.nf
+Dug Song <dugsong@monkey.org>
+.SH BUGS
+\fBdsniff\fR's automatic protocol detection feature is based on the
+classic file(1) command by Ian Darwin, and shares its historical
+limitations and bugs.
diff --exclude='*~' -Naur dsniff-2.4.orig/dsniff.c dsniff-2.4/dsniff.c
--- dsniff-2.4.orig/dsniff.c	2006-01-21 18:56:04.000000000 -0200
+++ dsniff-2.4/dsniff.c	2006-01-21 18:56:40.000000000 -0200
@@ -46,8 +46,9 @@
 usage(void)
 {
 	fprintf(stderr, "Version: " VERSION "\n"
-		"Usage: dsniff [-cdmn] [-i interface] [-s snaplen] [-f services]\n"
-		"              [-t trigger[,...]] [-r|-w savefile] [expression]\n");
+		"Usage: dsniff [-cdmn] [-i interface | -p pcapfile] [-s snaplen]\n"
+		"              [-f services] [-t trigger[,...]] [-r|-w savefile]\n"
+		"              [expression]\n");
 	exit(1);
 }
 
@@ -79,7 +80,7 @@
 
 	services = savefile = triggers = NULL;
 	
-	while ((c = getopt(argc, argv, "cdf:i:mnr:s:t:w:h?V")) != -1) {
+	while ((c = getopt(argc, argv, "cdf:i:mnp:r:s:t:w:h?V")) != -1) {
 		switch (c) {
 		case 'c':
 			Opt_client = 1;
@@ -99,6 +100,9 @@
 		case 'n':
 			Opt_dns = 0;
 			break;
+		case 'p':
+			nids_params.filename = optarg;
+			break;
 		case 'r':
 			Opt_read = 1;
 			savefile = optarg;
@@ -168,10 +172,23 @@
 	else nids_register_tcp(trigger_tcp);
 	
 	if (nids_params.pcap_filter != NULL) {
-		warnx("listening on %s [%s]", nids_params.device,
-		      nids_params.pcap_filter);
+		if (nids_params.filename == NULL) {
+			warnx("listening on %s [%s]", nids_params.device,
+		        nids_params.pcap_filter);
+		}
+		else {
+			warnx("using %s [%s]", nids_params.filename,
+		        nids_params.pcap_filter);
+		}
+	}
+	else {
+		if (nids_params.filename == NULL) {
+			warnx("listening on %s", nids_params.device);
+		}
+		else {
+			warnx("using %s", nids_params.filename);
+		}
 	}
-	else warnx("listening on %s", nids_params.device);
 	
 	nids_run();
 	
diff --exclude='*~' -Naur dsniff-2.4.orig/filesnarf.8 dsniff-2.4/filesnarf.8
--- dsniff-2.4.orig/filesnarf.8	2006-01-21 18:56:04.000000000 -0200
+++ dsniff-2.4/filesnarf.8	2006-01-21 18:56:40.000000000 -0200
@@ -9,7 +9,7 @@
 .na
 .nf
 .fi
-\fBfilesnarf\fR [\fB-i \fIinterface\fR] [[\fB-v\fR] \fIpattern [\fIexpression\fR]]
+\fBfilesnarf\fR [\fB-i \fIinterface\fR | \fB-p \fIpcapfile\fR] [[\fB-v\fR] \fIpattern [\fIexpression\fR]]
 .SH DESCRIPTION
 .ad
 .fi
@@ -18,6 +18,8 @@
 .SH OPTIONS
 .IP "\fB-i \fIinterface\fR"
 Specify the interface to listen on.
+.IP "\fB-p \fIpcapfile\fR"
+Process packets from the specified PCAP capture file instead of the network.
 .IP \fB-v\fR
 "Versus" mode. Invert the sense of matching, to select non-matching
 files.
diff --exclude='*~' -Naur dsniff-2.4.orig/filesnarf.c dsniff-2.4/filesnarf.c
--- dsniff-2.4.orig/filesnarf.c	2006-01-21 18:56:04.000000000 -0200
+++ dsniff-2.4/filesnarf.c	2006-01-21 18:56:45.000000000 -0200
@@ -51,7 +51,7 @@
 usage(void)
 {
 	fprintf(stderr, "Version: " VERSION "\n"
-		"Usage: filesnarf [-i interface] [[-v] pattern [expression]]\n");
+		"Usage: filesnarf [-i interface | -p pcapfile] [[-v] pattern [expression]]\n");
 	exit(1);
 }
 
@@ -134,8 +134,8 @@
 	int fd;
 
 	warnx("%s.%d > %s.%d: %s (%d@%d)",
-	      libnet_host_lookup(addr->daddr, 0), addr->dest,
-	      libnet_host_lookup(addr->saddr, 0), addr->source,
+	      libnet_addr2name4(addr->daddr, LIBNET_DONT_RESOLVE), addr->dest,
+	      libnet_addr2name4(addr->saddr, LIBNET_DONT_RESOLVE), addr->source,
 	      ma->filename, len, ma->offset);
 	
 	if ((fd = open(ma->filename, O_WRONLY|O_CREAT, 0644)) >= 0) {
@@ -353,7 +353,7 @@
 }
 
 static void
-decode_udp_nfs(struct libnet_ip_hdr *ip)
+decode_udp_nfs(struct libnet_ipv4_hdr *ip)
 {
 	static struct tuple4 addr;
 	struct libnet_udp_hdr *udp;
@@ -464,11 +464,14 @@
 	extern int optind;
 	int c;
 
-	while ((c = getopt(argc, argv, "i:vh?V")) != -1) {
+	while ((c = getopt(argc, argv, "i:p:vh?V")) != -1) {
 		switch (c) {
 		case 'i':
 			nids_params.device = optarg;
 			break;
+		case 'p':
+			nids_params.filename = optarg;
+			break;
 		case 'v':
 			Opt_invert = 1;
 			break;
@@ -498,11 +501,24 @@
 	nids_register_ip(decode_udp_nfs);
 	nids_register_tcp(decode_tcp_nfs);
 
-	if (nids_params.pcap_filter != NULL) {
-		warnx("listening on %s [%s]", nids_params.device,
-		      nids_params.pcap_filter);
-	}
-	else warnx("listening on %s", nids_params.device);
+        if (nids_params.pcap_filter != NULL) {
+                if (nids_params.filename == NULL) {
+                        warnx("listening on %s [%s]", nids_params.device,
+                              nids_params.pcap_filter);
+                }
+                else {
+                        warnx("using %s [%s]", nids_params.filename,
+                              nids_params.pcap_filter);
+                }
+        }
+        else {
+                if (nids_params.filename == NULL) {
+                        warnx("listening on %s", nids_params.device);
+                }
+                else {
+                        warnx("using %s", nids_params.filename);
+                }
+        }
 
 	nids_run();
 
diff --exclude='*~' -Naur dsniff-2.4.orig/macof.c dsniff-2.4/macof.c
--- dsniff-2.4.orig/macof.c	2006-01-21 18:56:04.000000000 -0200
+++ dsniff-2.4/macof.c	2006-01-21 18:56:45.000000000 -0200
@@ -48,8 +48,8 @@
 static void
 gen_mac(u_char *mac)
 {
-	*((in_addr_t *)mac) = libnet_get_prand(PRu32);
-	*((u_short *)(mac + 4)) = libnet_get_prand(PRu16);
+	*((in_addr_t *)mac) = libnet_get_prand(LIBNET_PRu32);
+	*((u_short *)(mac + 4)) = libnet_get_prand(LIBNET_PRu16);
 }
 
 int
@@ -59,22 +59,23 @@
 	extern int optind;
 	int c, i;
 	struct libnet_link_int *llif;
-	char ebuf[PCAP_ERRBUF_SIZE];
+	char pcap_ebuf[PCAP_ERRBUF_SIZE];
+	char libnet_ebuf[LIBNET_ERRBUF_SIZE];
 	u_char sha[ETHER_ADDR_LEN], tha[ETHER_ADDR_LEN];
 	in_addr_t src, dst;
 	u_short sport, dport;
 	u_int32_t seq;
-	u_char pkt[ETH_H + IP_H + TCP_H];
+	libnet_t *l;
 	
 	while ((c = getopt(argc, argv, "vs:d:e:x:y:i:n:h?V")) != -1) {
 		switch (c) {
 		case 'v':
 			break;
 		case 's':
-			Src = libnet_name_resolve(optarg, 0);
+			Src = libnet_name2addr4(l, optarg, 0);
 			break;
 		case 'd':
-			Dst = libnet_name_resolve(optarg, 0);
+			Dst = libnet_name2addr4(l, optarg, 0);
 			break;
 		case 'e':
 			Tha = (u_char *)ether_aton(optarg);
@@ -101,13 +102,13 @@
 	if (argc != 0)
 		usage();
 	
-	if (!Intf && (Intf = pcap_lookupdev(ebuf)) == NULL)
-		errx(1, "%s", ebuf);
+	if (!Intf && (Intf = pcap_lookupdev(pcap_ebuf)) == NULL)
+		errx(1, "%s", pcap_ebuf);
 	
-	if ((llif = libnet_open_link_interface(Intf, ebuf)) == 0)
-		errx(1, "%s", ebuf);
+	if ((l = libnet_init(LIBNET_LINK, Intf, libnet_ebuf)) == NULL)
+		errx(1, "%s", libnet_ebuf);
 	
-	libnet_seed_prand();
+	libnet_seed_prand(l);
 	
 	for (i = 0; i != Repeat; i++) {
 		
@@ -117,39 +118,37 @@
 		else memcpy(tha, Tha, sizeof(tha));
 		
 		if (Src != 0) src = Src;
-		else src = libnet_get_prand(PRu32);
+		else src = libnet_get_prand(LIBNET_PRu32);
 		
 		if (Dst != 0) dst = Dst;
-		else dst = libnet_get_prand(PRu32);
+		else dst = libnet_get_prand(LIBNET_PRu32);
 		
 		if (Sport != 0) sport = Sport;
-		else sport = libnet_get_prand(PRu16);
+		else sport = libnet_get_prand(LIBNET_PRu16);
 		
 		if (Dport != 0) dport = Dport;
-		else dport = libnet_get_prand(PRu16);
+		else dport = libnet_get_prand(LIBNET_PRu16);
 
-		seq = libnet_get_prand(PRu32);
-		
-		libnet_build_ethernet(tha, sha, ETHERTYPE_IP, NULL, 0, pkt);
-		
-		libnet_build_ip(TCP_H, 0, libnet_get_prand(PRu16), 0, 64,
-				IPPROTO_TCP, src, dst, NULL, 0, pkt + ETH_H);
+		seq = libnet_get_prand(LIBNET_PRu32);
 		
 		libnet_build_tcp(sport, dport, seq, 0, TH_SYN, 512,
-				 0, NULL, 0, pkt + ETH_H + IP_H);
+				 0, 0, LIBNET_TCP_H, NULL, 0, l, 0);
+		
+		libnet_build_ipv4(LIBNET_TCP_H, 0,
+				  libnet_get_prand(LIBNET_PRu16), 0, 64,
+				  IPPROTO_TCP, 0, src, dst, NULL, 0, l, 0);
 		
-		libnet_do_checksum(pkt + ETH_H, IPPROTO_IP, IP_H);
-		libnet_do_checksum(pkt + ETH_H, IPPROTO_TCP, TCP_H);
+		libnet_build_ethernet(tha, sha, ETHERTYPE_IP, NULL, 0, l, 0);
 		
-		if (libnet_write_link_layer(llif, Intf, pkt, sizeof(pkt)) < 0)
+		if (libnet_write(l) < 0)
 			errx(1, "write");
 
 		fprintf(stderr, "%s ",
 			ether_ntoa((struct ether_addr *)sha));
 		fprintf(stderr, "%s %s.%d > %s.%d: S %u:%u(0) win 512\n",
 			ether_ntoa((struct ether_addr *)tha),
-			libnet_host_lookup(Src, 0), sport,
-			libnet_host_lookup(Dst, 0), dport, seq, seq);
+			libnet_addr2name4(Src, 0), sport,
+			libnet_addr2name4(Dst, 0), dport, seq, seq);
 	}
 	exit(0);
 }
diff --exclude='*~' -Naur dsniff-2.4.orig/mailsnarf.8 dsniff-2.4/mailsnarf.8
--- dsniff-2.4.orig/mailsnarf.8	2006-01-21 18:56:04.000000000 -0200
+++ dsniff-2.4/mailsnarf.8	2006-01-21 18:56:40.000000000 -0200
@@ -9,7 +9,7 @@
 .na
 .nf
 .fi
-\fBmailsnarf\fR [\fB-i \fIinterface\fR] [[\fB-v\fR] \fIpattern [\fIexpression\fR]]
+\fBmailsnarf\fR [\fB-i \fIinterface\fR | \fB-p \fIpcapfile\fR] [[\fB-v\fR] \fIpattern [\fIexpression\fR]]
 .SH DESCRIPTION
 .ad
 .fi
@@ -19,6 +19,8 @@
 .SH OPTIONS
 .IP "\fB-i \fIinterface\fR"
 Specify the interface to listen on.
+.IP "\fB-p \fIpcapfile\fR"
+Process packets from the specified PCAP capture file instead of the network.
 .IP \fB-v\fR
 "Versus" mode. Invert the sense of matching, to select non-matching
 messages.
diff --exclude='*~' -Naur dsniff-2.4.orig/mailsnarf.c dsniff-2.4/mailsnarf.c
--- dsniff-2.4.orig/mailsnarf.c	2006-01-21 18:56:04.000000000 -0200
+++ dsniff-2.4/mailsnarf.c	2006-01-21 18:56:40.000000000 -0200
@@ -59,7 +59,7 @@
 usage(void)
 {
 	fprintf(stderr, "Version: " VERSION "\n"
-		"Usage: mailsnarf [-i interface] [[-v] pattern [expression]]\n");
+		"Usage: mailsnarf [-i interface | -p pcapfile] [[-v] pattern [expression]]\n");
 	exit(1);
 }
 
@@ -178,7 +178,7 @@
 	if (smtp->state != SMTP_DATA) {
 		while ((i = buf_index(&buf, "\r\n", 2)) >= 0) {
 			line = buf_tok(&buf, NULL, i + 2);
-			line->base[line->end] = '\0';
+			line->base[line->end-1] = '\0';
 			p = buf_ptr(line);
 			
 			if (strncasecmp(p, "RSET", 4) == 0) {
@@ -344,11 +344,14 @@
 	extern int optind;
 	int c;
 	
-	while ((c = getopt(argc, argv, "i:vh?V")) != -1) {
+	while ((c = getopt(argc, argv, "i:p:vh?V")) != -1) {
 		switch (c) {
 		case 'i':
 			nids_params.device = optarg;
 			break;
+                case 'p':
+                        nids_params.filename = optarg;
+                        break;
 		case 'v':
 			Opt_invert = 1;
 			break;
@@ -378,10 +381,23 @@
 	nids_register_tcp(sniff_pop_session);
 
 	if (nids_params.pcap_filter != NULL) {
-		warnx("listening on %s [%s]", nids_params.device,
-		      nids_params.pcap_filter);
-	}
-	else warnx("listening on %s", nids_params.device);
+                if (nids_params.filename == NULL) {
+		        warnx("listening on %s [%s]", nids_params.device,
+		              nids_params.pcap_filter);
+                }
+                else {
+		        warnx("using %s [%s]", nids_params.filename,
+		              nids_params.pcap_filter);
+                }
+	}
+	else {
+                if (nids_params.filename == NULL) {
+                    warnx("listening on %s", nids_params.device);
+                }
+                else {
+                    warnx("using %s", nids_params.filename);
+                }
+        }
 	
 	nids_run();
 	
diff --exclude='*~' -Naur dsniff-2.4.orig/Makefile.in dsniff-2.4/Makefile.in
--- dsniff-2.4.orig/Makefile.in	2006-01-21 18:56:04.000000000 -0200
+++ dsniff-2.4/Makefile.in	2006-01-21 18:56:50.000000000 -0200
@@ -11,7 +11,7 @@
 install_prefix  =
 prefix          = @prefix@
 exec_prefix	= @exec_prefix@
-libdir		= @libdir@
+libdir		= $(prefix)/share/dsniff
 sbindir         = @sbindir@
 mandir		= @mandir@
 
@@ -37,8 +37,7 @@
 X11INC	= @X_CFLAGS@
 X11LIB	= @X_LIBS@ @X_PRE_LIBS@ -lXmu -lX11 @X_EXTRA_LIBS@
 
-INCS	= -I. $(NIDSINC) $(PCAPINC) $(LNETINC) $(DBINC) $(SSLINC) $(X11INC) \
-	  -I$(srcdir)/missing
+INCS	= -I. $(X11INC) -I$(srcdir)/missing 
 LIBS	= @LIBS@ -L$(srcdir) -lmissing
 
 INSTALL	= @INSTALL@
diff --exclude='*~' -Naur dsniff-2.4.orig/msgsnarf.8 dsniff-2.4/msgsnarf.8
--- dsniff-2.4.orig/msgsnarf.8	2006-01-21 18:56:04.000000000 -0200
+++ dsniff-2.4/msgsnarf.8	2006-01-21 18:56:40.000000000 -0200
@@ -9,7 +9,7 @@
 .na
 .nf
 .fi
-\fBmsgsnarf\fR [\fB-i \fIinterface\fR] [[\fB-v\fR] \fIpattern [\fIexpression\fR]]
+\fBmsgsnarf\fR [\fB-i \fIinterface\fR | \fB-p \fIpcapfile\fR] [[\fB-v\fR] \fIpattern [\fIexpression\fR]]
 .SH DESCRIPTION
 .ad
 .fi
@@ -19,6 +19,8 @@
 .SH OPTIONS
 .IP "\fB-i \fIinterface\fR"
 Specify the interface to listen on.
+.IP "\fB-p \fIpcapfile\fR"
+Process packets from the specified PCAP capture file instead of the network.
 .IP \fB-v\fR
 "Versus" mode. Invert the sense of matching, to select non-matching
 messages.
diff --exclude='*~' -Naur dsniff-2.4.orig/msgsnarf.c dsniff-2.4/msgsnarf.c
--- dsniff-2.4.orig/msgsnarf.c	2006-01-21 18:56:04.000000000 -0200
+++ dsniff-2.4/msgsnarf.c	2006-01-21 18:56:40.000000000 -0200
@@ -23,6 +23,7 @@
 #include <nids.h>
 #include <pcap.h>
 #include <pcaputil.h>
+#include <time.h>
 
 #include "buf.h"
 #include "decode.h"
@@ -44,7 +45,7 @@
 usage(void)
 {
 	fprintf(stderr, "Version: " VERSION "\n"
-		"Usage: msgsnarf [-i interface] [[-v] pattern [expression]]\n");
+		"Usage: msgsnarf [-i interface | -p pcapfile] [[-v] pattern [expression]]\n");
 	exit(1);
 }
 
@@ -632,11 +633,14 @@
 	extern int optind;
 	int c;
 	
-	while ((c = getopt(argc, argv, "i:hv?V")) != -1) {
+	while ((c = getopt(argc, argv, "i:p:hv?V")) != -1) {
 		switch (c) {
 		case 'i':
 			nids_params.device = optarg;
 			break;
+		case 'p':
+			nids_params.filename = optarg;
+			break;
 		case 'v':
 			Opt_invert = 1;
 			break;
@@ -665,11 +669,24 @@
 	
 	nids_register_tcp(sniff_msgs);
 
-	if (nids_params.pcap_filter != NULL) {
-		warnx("listening on %s [%s]", nids_params.device,
-		      nids_params.pcap_filter);
-	}
-	else warnx("listening on %s", nids_params.device);
+        if (nids_params.pcap_filter != NULL) {
+                if (nids_params.filename == NULL) {
+                        warnx("listening on %s [%s]", nids_params.device,
+                              nids_params.pcap_filter);
+                }
+                else {
+                        warnx("using %s [%s]", nids_params.filename,
+                              nids_params.pcap_filter);
+                }
+        }
+        else {
+                if (nids_params.filename == NULL) {
+                    warnx("listening on %s", nids_params.device);
+                }
+                else {
+                    warnx("using %s", nids_params.filename);
+                }
+        }
 
 	nids_run();
 	
diff --exclude='*~' -Naur dsniff-2.4.orig/msgsnarf.c.orig dsniff-2.4/msgsnarf.c.orig
--- dsniff-2.4.orig/msgsnarf.c.orig	1969-12-31 21:00:00.000000000 -0300
+++ dsniff-2.4/msgsnarf.c.orig	2006-01-21 18:56:30.000000000 -0200
@@ -0,0 +1,680 @@
+/*
+ * msgsnarf.c
+ *
+ * Sniff chat messages (AIM, ICQ, IRC, MSN, Yahoo) on a network.
+ *
+ * Copyright (c) 1999 Dug Song <dugsong@monkey.org>
+ *
+ * $Id: msgsnarf.c,v 1.11 2001/03/15 08:33:04 dugsong Exp $
+ */
+
+#include "config.h"
+
+#include <sys/types.h>
+#include <sys/queue.h>
+#include <netinet/in.h>
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <regex.h>
+#include <err.h>
+#include <libnet.h>
+#include <nids.h>
+#include <pcap.h>
+#include <pcaputil.h>
+#include <time.h>
+
+#include "buf.h"
+#include "decode.h"
+#include "version.h"
+
+struct client_info {
+	char	       *nick;
+	char	       *peer;
+	char	       *type;
+	in_addr_t	ip;
+	SLIST_ENTRY(client_info) next;
+};
+
+SLIST_HEAD(, client_info) client_list;
+int		Opt_invert = 0;
+regex_t	       *pregex = NULL;
+
+static void
+usage(void)
+{
+	fprintf(stderr, "Version: " VERSION "\n"
+		"Usage: msgsnarf [-i interface] [[-v] pattern [expression]]\n");
+	exit(1);
+}
+
+static char *
+timestamp(void)
+{
+	static char stamp[32];
+	struct tm *tm;
+	time_t now;
+
+	time(&now);
+	tm = localtime(&now);
+	strftime(stamp, sizeof(stamp), "%b %e %T", tm);
+
+	return (stamp);
+}
+
+static int
+regex_match(char *string)
+{
+	return (pregex == NULL ||
+		((regexec(pregex, string, 0, NULL, 0) == 0) ^ Opt_invert));
+}
+
+struct flap {
+	u_char	start;
+	u_char	channel;
+	u_short	seqnum;
+	u_short	datalen;
+};
+
+struct snac {
+	u_short		family;
+	u_short		subtype;
+	u_short		flags;
+	u_int32_t	reqid;
+};
+
+static int
+process_aim(struct client_info *info, u_char *data, int len)
+{
+	struct buf *msg, *word, buf;
+	struct flap *flap;
+	struct snac *snac;
+	u_char c, *p;
+	int i, reply;
+
+	buf_init(&buf, data, len);
+
+	if (buf_cmp(&buf, "FLAPON\r\n\r\n", 10) == 0)
+		buf_skip(&buf, 10);
+
+	while (buf_len(&buf) > sizeof(*flap)) {
+		flap = (struct flap *)buf_ptr(&buf);
+		flap->datalen = ntohs(flap->datalen);
+
+		i = sizeof(*flap) + flap->datalen;
+
+		if ((msg = buf_tok(&buf, NULL, i)) == NULL)
+			break;
+
+		buf_skip(msg, sizeof(*flap));
+		snac = (struct snac *)buf_ptr(msg);
+		
+		if (flap->start != 0x2a)
+			continue;
+		
+		if (flap->channel == 0x01) {
+			if (buf_cmp(msg, "\x00\x00\x00\x01\x00\x01\x00", 7) == 0) {
+				buf_skip(msg, 7);
+				buf_get(msg, &c, 1);
+
+				if ((word = buf_getbuf(msg, 0, c)) != NULL) {
+					if (info->nick) free(info->nick);
+					info->nick = buf_strdup(word);
+					buf_free(word);
+				}
+				buf_skip(msg, 3);
+				buf_get(msg, &c, 1);
+				buf_skip(msg, c + 4);
+
+				if (buf_cmp(msg, "ICQ", 3) == 0)
+					info->type = "ICQ";
+				else info->type = "AIM";
+			}
+		}
+		else if (flap->channel == 0x02) {
+			if (buf_cmp(msg, "toc_send_im ", 12) == 0) {
+				buf_skip(msg, 12);
+				
+				if ((word = buf_getword(msg, " ", 1)) == NULL)
+					continue;
+				
+				buf_skip(msg, 1);
+				
+				if (buf_len(msg) < 3) continue;
+				msg->end -= 2;
+				p = buf_strdup(msg);
+
+				if (regex_match(p))
+					printf("%s AIM %s > %.*s: %s\n",
+					       timestamp(), info->nick,
+					       buf_len(word), buf_ptr(word), p);
+				buf_free(word);
+				free(p);
+			}
+			else if (buf_cmp(msg, "IM_IN:", 6) == 0) {
+				buf_skip(msg, 6);
+				
+				if ((word = buf_getword(msg, ":", 1)) == NULL)
+					continue;
+				
+				buf_skip(msg, 2);
+				p = buf_strdup(msg);
+
+				if (regex_match(p))
+					printf("%s AIM %.*s > %s: %s\n",
+					       timestamp(), buf_len(word),
+					       buf_ptr(word), info->nick, p);
+				buf_free(word);
+				free(p);
+			}
+			else if (ntohs(snac->family) == 0x04) {
+				
+				if (ntohs(snac->subtype) == 0x06)
+					reply = 0;
+				else if (ntohs(snac->subtype) == 0x07)
+					reply = 1;
+				else continue;
+				
+				buf_skip(msg, sizeof(*snac) + 8);
+				buf_get(msg, &c, 1);
+				
+				if ((word = buf_getbuf(msg, 0, c)) == NULL)
+					continue;
+
+				/* XXX - ugh, this is totally bogus. help! */
+				if (buf_cmp(msg, "\x00\x02", 2) == 0) {
+					buf_skip(msg, 17);
+					while (buf_cmp(msg, "\x00", 1) == 0)
+						buf_skip(msg, 1);
+				}
+				else if (buf_cmp(msg, "\x00\x05", 2) == 0) {
+					buf_skip(msg, 97);
+				}
+				else if (buf_cmp(msg, "\x00\x00", 2) == 0) {
+					if (buf_skip(msg, 145) < 0)
+						buf_skip(msg, 57);
+				}
+				p = buf_strdup(msg);
+				
+				if (p && strlen(p) && regex_match(p)) {
+					if (reply) {
+						printf("%s %s %.*s > %s: %s\n",
+						       timestamp(), info->type,
+						       buf_len(word),
+						       buf_ptr(word),
+						       info->nick, p);
+					}
+					else printf("%s %s %s > %.*s: %s\n",
+						    timestamp(), info->type,
+						    info->nick, buf_len(word),
+						    buf_ptr(word), p);
+				}
+				buf_free(word);
+				if (p) free(p);
+			}
+		}
+	}
+	return (len - buf_len(&buf));
+}
+			
+static int
+process_irc(struct client_info *info, u_char *data, int len)
+{
+	struct buf *line, *word, *prefix, buf;
+	char *p;
+	int i;
+
+	buf_init(&buf, data, len);
+
+	while ((i = buf_index(&buf, "\n", 1)) >= 0) {
+		line = buf_tok(&buf, NULL, i);
+		buf_skip(&buf, 1);
+		
+		if (line->base[line->end-1] == '\r')
+			line->end--;
+		
+		if (buf_cmp(line, ":", 1) == 0) {
+			buf_skip(line, 1);
+			if ((prefix = buf_getword(line, " ", 1)) == NULL)
+				continue;
+			if ((i = buf_index(prefix, "!", 1)) < 0)
+				continue;
+			prefix->end = i;
+		}
+		else prefix = NULL;
+
+		if (buf_cmp(line, "JOIN ", 5) == 0 && prefix != NULL) {
+			buf_skip(line, 5);
+			if (buf_cmp(line, ":", 1) == 0)
+				buf_skip(line, 1);
+
+			printf("%s IRC *** %.*s ", timestamp(),
+			       buf_len(prefix), buf_ptr(prefix));
+
+			prefix->offset = prefix->end + 1;
+			prefix->end = prefix->size;
+
+			printf("(%.*s) has joined channel %.*s\n",
+			       buf_len(prefix), buf_ptr(prefix),
+			       buf_len(line), buf_ptr(line));
+		}
+		else if (buf_cmp(line, "PART ", 5) == 0 && prefix != NULL) {
+			buf_skip(line, 5);
+			if (buf_cmp(line, ":", 1) == 0)
+				buf_skip(line, 1);
+
+			if ((word = buf_getword(line, " :", 2)) == NULL)
+				continue;
+			
+			printf("%s IRC *** %.*s has left channel %.*s\n",
+			       timestamp(), buf_len(prefix), buf_ptr(prefix),
+			       buf_len(word), buf_ptr(word));
+
+			buf_free(word);
+		}
+		else if (buf_cmp(line, "QUIT ", 5) == 0 && prefix != NULL) {
+			buf_skip(line, 5);
+			if (buf_cmp(line, ":", 1) == 0)
+				buf_skip(line, 1);
+
+			printf("%s IRC *** Signoff: %.*s (%.*s)\n",
+			       timestamp(), buf_len(prefix), buf_ptr(prefix),
+			       buf_len(line), buf_ptr(line));
+		}
+		else if (buf_cmp(line, "NICK ", 5) == 0) {
+			buf_skip(line, 5);
+			if (buf_cmp(line, ":", 1) == 0)
+				buf_skip(line, 1);
+			
+			if (prefix != NULL) {
+				printf("%s IRC *** %.*s is now known as %.*s\n",
+				       timestamp(),
+				       buf_len(prefix), buf_ptr(prefix),
+				       buf_len(line), buf_ptr(line));
+			}
+			else {
+				if (info->nick) free(info->nick);
+				info->nick = buf_strdup(line);
+			}
+		}
+		else if (buf_cmp(line, "PRIVMSG ", 8) == 0) {
+			buf_skip(line, 8);
+			if ((word = buf_getword(line, " :", 2)) == NULL)
+				continue;
+			p = buf_strdup(line);
+			
+			if (regex_match(p)) {
+				if (strncmp(p + 1, "ACTION ", 7) == 0) {
+					printf("%s IRC * Action: ",
+					       timestamp());
+					
+					if (prefix != NULL) {
+						printf("%.*s %s\n",
+						       buf_len(prefix),
+						       buf_ptr(prefix), p + 8);
+					}
+					else printf("%s %s\n",
+						    info->nick, p + 8);
+				}
+				else {
+					if (prefix != NULL) {
+						printf("%s IRC %.*s > ",
+						       timestamp(),
+						       buf_len(prefix),
+						       buf_ptr(prefix));
+					}
+					else printf("%s IRC %s > ",
+						    timestamp(),
+						    info->nick);
+					
+					printf("%.*s: %s\n", buf_len(word),
+					       buf_ptr(word), p);
+				}
+			}
+			buf_free(word);
+			free(p);
+		}
+	}
+	return (len - buf_len(&buf));
+}
+
+static int
+process_msn(struct client_info *info, u_char *data, int len)
+{
+	struct buf *word, *line, buf;
+	char *p;
+	int i, reply;
+
+	buf_init(&buf, data, len);
+	
+	while ((i = buf_index(&buf, "\r\n", 2)) >= 0) {
+		line = buf_tok(&buf, NULL, i);
+		buf_skip(&buf, 2);
+		
+		if (buf_cmp(line, "USR ", 4) == 0) {
+			if ((i = buf_index(line, "MD5 ", 4)) > 0) {
+				buf_skip(line, i + 4);
+				
+				if (buf_cmp(line, "I ", 2) == 0) {
+					buf_skip(line, 2);
+					if (info->nick != NULL)
+						free(info->nick);
+					info->nick = buf_strdup(line);
+				}
+			}
+		}
+		else if (buf_cmp(line, "IRO ", 4) == 0) {
+			if ((i = buf_rindex(line, "1 ", 2)) < 0)
+				continue;
+			buf_skip(line, i + 2);
+			word = buf_getword(line, " ", 1);
+			if (info->peer != NULL) free(info->peer);
+			info->peer = buf_strdup(word);
+			buf_free(word);
+		}
+		else if (buf_cmp(line, "MSG ", 4) == 0) {
+			buf_skip(line, 4);
+			reply = 0;
+
+			if ((word = buf_getword(line, " ", 1)) == NULL)
+				continue;
+
+			if (buf_cmp(line, "N ", 2) == 0 ||
+			    buf_cmp(line, "U ", 2) == 0) {
+				reply = 1;
+			}
+			else {
+				if (info->peer != NULL) free(info->peer);
+				info->peer = buf_strdup(word);
+			}
+			buf_free(word);
+			
+			if ((i = buf_rindex(line, " ", 1)) < 0)
+				continue;
+			
+			buf_skip(line, i + 1);
+			p = buf_strdup(line);
+			i = atoi(p); free(p);
+			if (i <= 0) continue;
+			
+			if ((line = buf_tok(NULL, NULL, i)) == NULL)
+				break;
+			
+			if (buf_index(line, "Content-Type: text/plain", 24) > 0) {
+				if ((i = buf_rindex(line, "\r\n\r\n", 4)) < 0)
+					continue;
+				
+				buf_skip(line, i + 4);
+				p = buf_strdup(line);
+
+				if (regex_match(p)) {
+					if (reply) {
+						printf("%s MSN %s > %s: %s\n",
+						       timestamp(), info->nick,
+						       info->peer, p);
+					}
+					else printf("%s MSN %s > %s: %s\n",
+						    timestamp(), info->peer,
+						    info->nick, p);
+				}
+				free(p);
+			}
+		}
+	}
+	return (len - buf_len(&buf));
+}
+
+struct yhoo {
+	u_char		version[8];
+	u_int32_t	length;		/* all fields little-endian */
+	u_int32_t	service;
+	u_int32_t	connid;
+	u_int32_t	magic;
+	u_int32_t	unknown;
+	u_int32_t	type;
+	u_char		nick1[36];
+	u_char		nick2[36];
+};
+
+struct ymsg {
+	u_char		version[8];
+	u_short		length;
+	u_short		type;
+	u_int32_t	unknown1;
+	u_int32_t	unknown2;
+};
+
+static int
+process_yahoo(struct client_info *info, u_char *data, int len)
+{
+	struct yhoo *yhoo;
+	struct ymsg *ymsg;
+	struct buf *msg, *nick1, *nick2, buf;
+	int i, reply;
+	char *p;
+
+	buf_init(&buf, data, len);
+	
+	if (buf_cmp(&buf, "YMSG", 4) == 0) {
+		while (buf_len(&buf) > sizeof(*ymsg)) {
+			ymsg = (struct ymsg *)buf_ptr(&buf);
+			ymsg->length = ntohs(ymsg->length);
+			ymsg->type = ntohs(ymsg->type);
+
+			i = sizeof(*ymsg) + ymsg->length;
+
+			if ((msg = buf_tok(&buf, NULL, i)) == NULL)
+				break;
+			
+			buf_skip(msg, sizeof(*ymsg));
+			
+			if (ymsg->type != 0x06)
+				continue;
+			
+			reply = (buf_cmp(msg, "1", 1) != 0);
+			buf_skip(msg, 3);
+
+			nick1 = buf_getword(msg, "\xc0\x80", 2);
+			buf_skip(msg, 3);
+
+			nick2 = buf_getword(msg, "\xc0\x80", 2);
+			buf_skip(msg, 4);
+
+			msg->end -= 2;
+			p = buf_strdup(msg);
+
+			if (regex_match(p) && nick1 && nick2 && msg) {
+				printf("%s Yahoo ", timestamp());
+				if (reply)
+					printf("%.*s > %.*s: %s\n",
+					       buf_len(nick2), buf_ptr(nick2),
+					       buf_len(nick1), buf_ptr(nick1),
+					       p);
+				else printf("%.*s > %.*s: %s\n",
+					    buf_len(nick1), buf_ptr(nick1),
+					    buf_len(nick2), buf_ptr(nick2), p);
+			}
+			if (nick1) buf_free(nick1);
+			if (nick2) buf_free(nick2);
+			free(p);
+		}
+	}
+	else {
+		while (buf_len(&buf) > sizeof(*yhoo)) {
+			yhoo = (struct yhoo *)buf_ptr(&buf);
+			yhoo->length = pletohl(&yhoo->length);
+			yhoo->service = pletohl(&yhoo->service);
+			yhoo->type = pletohl(&yhoo->type);
+			yhoo->nick1[sizeof(yhoo->nick1) - 1] = '\0';
+			yhoo->nick2[sizeof(yhoo->nick2) - 1] = '\0';
+
+			i = sizeof(*yhoo) + yhoo->length;
+			
+			if ((msg = buf_tok(&buf, NULL, i)) == NULL)
+				break;
+			
+			buf_skip(msg, sizeof(*yhoo));
+			
+			if (yhoo->service != 6 || yhoo->type > 1)
+				continue;
+			
+			if ((nick1 = buf_getword(msg, ",", 1)) == NULL)
+				continue;
+			
+			if (memcmp(yhoo->version, "YHOO", 4) == 0) {
+				buf_skip(msg, 1);
+				reply = 0;
+			}
+			else reply = 1;
+
+			p = buf_strdup(msg);
+
+			if (regex_match(p)) {
+				if (reply)
+					printf("%s Yahoo %.*s > %s: %s\n",
+					       timestamp(),
+					       buf_len(nick1), buf_ptr(nick1),
+					       yhoo->nick2, p);
+				else
+					printf("%s Yahoo %s > %.*s: %s\n",
+					       timestamp(), yhoo->nick2,
+					       buf_len(nick1), buf_ptr(nick1),
+					       buf_ptr(msg));
+			}
+			free(p);
+		}
+	}
+	return (len - buf_len(&buf));
+}
+
+static void
+sniff_msgs(struct tcp_stream *ts, void **conn_save)
+{
+	struct client_info *c;
+	int (*process_msgs)(struct client_info *, u_char *, int);
+	int i;
+	
+	if (ts->addr.dest >= 6660 && ts->addr.dest <= 6680) {
+		process_msgs = process_irc;
+	}
+	else if (ts->addr.dest == 5190 || ts->addr.dest == 9898) {
+		process_msgs = process_aim;
+	}
+	else if (ts->addr.dest == 5050) {
+		process_msgs = process_yahoo;
+	}
+	else if (ts->addr.dest == 1863) {
+		process_msgs = process_msn;
+	}
+	else return;
+	
+	switch (ts->nids_state) {
+		
+	case NIDS_JUST_EST:
+		ts->server.collect = 1;
+		ts->client.collect = 1;
+
+		i = 0;
+		SLIST_FOREACH(c, &client_list, next) {
+			if (c->ip == ts->addr.saddr) {
+				i = 1; break;
+			}
+		}
+		if (i == 0) {
+			if ((c = malloc(sizeof(*c))) == NULL)
+				nids_params.no_mem("sniff_msgs");
+			c->ip = ts->addr.saddr;
+			c->nick = strdup("unknown");
+			SLIST_INSERT_HEAD(&client_list, c, next);
+		}
+		*conn_save = (void *)c;
+		break;
+
+	case NIDS_DATA:
+		c = (struct client_info *)*conn_save;
+		
+		if (ts->server.count_new > 0) {
+			i = process_msgs(c, ts->server.data,
+					 ts->server.count - ts->server.offset);
+			nids_discard(ts, i);
+		}
+		else if (ts->client.count_new > 0) {
+			i = process_msgs(c, ts->client.data,
+					 ts->client.count - ts->client.offset);
+			nids_discard(ts, i);
+		}
+		fflush(stdout);
+		break;
+		
+	default:
+		c = (struct client_info *)*conn_save;
+		
+		if (ts->server.count > 0)
+			process_msgs(c, ts->server.data,
+				     ts->server.count - ts->server.offset);
+		else if (ts->client.count > 0)
+			process_msgs(c, ts->client.data,
+				     ts->client.count - ts->client.offset);
+		fflush(stdout);
+		break;
+	}
+}
+
+static void
+null_syslog(int type, int errnum, struct ip *iph, void *data)
+{
+}
+
+int
+main(int argc, char *argv[])
+{
+	extern char *optarg;
+	extern int optind;
+	int c;
+	
+	while ((c = getopt(argc, argv, "i:hv?V")) != -1) {
+		switch (c) {
+		case 'i':
+			nids_params.device = optarg;
+			break;
+		case 'v':
+			Opt_invert = 1;
+			break;
+		default:
+			usage();
+		}
+	}
+	argc -= optind;
+	argv += optind;
+	
+	if (argc > 0 && strlen(argv[0])) {
+		if ((pregex = (regex_t *) malloc(sizeof(*pregex))) == NULL)
+			err(1, "malloc");
+		if (regcomp(pregex, argv[0], REG_EXTENDED|REG_NOSUB) != 0)
+			errx(1, "invalid regular expression");
+	}
+	if (argc > 1)
+		nids_params.pcap_filter = copy_argv(argv + 1);
+	nids_params.scan_num_hosts = 0;
+	nids_params.syslog = null_syslog;
+	
+	if (!nids_init())
+		errx(1, "%s", nids_errbuf);
+
+	SLIST_INIT(&client_list);
+	
+	nids_register_tcp(sniff_msgs);
+
+	if (nids_params.pcap_filter != NULL) {
+		warnx("listening on %s [%s]", nids_params.device,
+		      nids_params.pcap_filter);
+	}
+	else warnx("listening on %s", nids_params.device);
+
+	nids_run();
+	
+	/* NOTREACHED */
+	
+	exit(0);
+}
diff --exclude='*~' -Naur dsniff-2.4.orig/pathnames.h dsniff-2.4/pathnames.h
--- dsniff-2.4.orig/pathnames.h	2006-01-21 18:56:04.000000000 -0200
+++ dsniff-2.4/pathnames.h	2006-01-21 18:56:50.000000000 -0200
@@ -12,7 +12,7 @@
 #define PATHNAMES_H
 
 #ifndef DSNIFF_LIBDIR
-#define DSNIFF_LIBDIR		"/usr/local/lib/"
+#define DSNIFF_LIBDIR		"/etc/dsniff/"
 #endif
 
 #define DSNIFF_SERVICES		"dsniff.services"
diff --exclude='*~' -Naur dsniff-2.4.orig/record.c dsniff-2.4/record.c
--- dsniff-2.4.orig/record.c	2006-01-21 18:56:04.000000000 -0200
+++ dsniff-2.4/record.c	2006-01-21 18:56:45.000000000 -0200
@@ -65,8 +65,8 @@
 	tm = localtime(&rec->time);
 	strftime(tstr, sizeof(tstr), "%x %X", tm);
 	
-	srcp = libnet_host_lookup(rec->src, Opt_dns);
-	dstp = libnet_host_lookup(rec->dst, Opt_dns);
+	srcp = libnet_addr2name4(rec->src, Opt_dns);
+	dstp = libnet_addr2name4(rec->dst, Opt_dns);
 
 	if ((pr = getprotobynumber(rec->proto)) == NULL)
 		protop = "unknown";
diff --exclude='*~' -Naur dsniff-2.4.orig/sshcrypto.c dsniff-2.4/sshcrypto.c
--- dsniff-2.4.orig/sshcrypto.c	2006-01-21 18:56:04.000000000 -0200
+++ dsniff-2.4/sshcrypto.c	2006-01-21 18:56:26.000000000 -0200
@@ -14,6 +14,8 @@
 
 #include <sys/types.h>
 #include <openssl/ssl.h>
+#include <openssl/blowfish.h>
+#include <openssl/des.h>
 
 #include <err.h>
 #include <stdio.h>
diff --exclude='*~' -Naur dsniff-2.4.orig/sshmitm.c dsniff-2.4/sshmitm.c
--- dsniff-2.4.orig/sshmitm.c	2006-01-21 18:56:04.000000000 -0200
+++ dsniff-2.4/sshmitm.c	2006-01-21 18:56:45.000000000 -0200
@@ -389,7 +389,7 @@
 	if (argc < 1)
 		usage();
 	
-	if ((ip = libnet_name_resolve(argv[0], 1)) == -1)
+	if ((ip = libnet_name2addr4(NULL, argv[0], LIBNET_RESOLVE)) == -1)
 		usage();
 
 	if (argc == 2 && (rport = atoi(argv[1])) == 0)
diff --exclude='*~' -Naur dsniff-2.4.orig/sshow.8 dsniff-2.4/sshow.8
--- dsniff-2.4.orig/sshow.8	2006-01-21 18:56:04.000000000 -0200
+++ dsniff-2.4/sshow.8	2006-01-21 18:56:40.000000000 -0200
@@ -9,7 +9,7 @@
 .na
 .nf
 .fi
-\fBsshow\fR [\fB-d\fR] [\fB-i \fIinterface\fR] [\fIexpression\fR]
+\fBsshow\fR [\fB-d\fR] [\fB-i \fIinterface\fR | \fB-p \fIpcapfile\fR] [\fIexpression\fR]
 .SH DESCRIPTION
 .ad
 .fi
@@ -28,6 +28,8 @@
 Enable verbose debugging output.
 .IP "\fB-i \fIinterface\fR"
 Specify the interface to listen on.
+.IP "\fB-p \fIpcapfile\fR"
+Process packets from the specified PCAP capture file instead of the network.
 .IP "\fIexpression\fR"
 Specify a tcpdump(8) filter expression to select traffic to sniff.
 .SH "SEE ALSO"
diff --exclude='*~' -Naur dsniff-2.4.orig/sshow.c dsniff-2.4/sshow.c
--- dsniff-2.4.orig/sshow.c	2006-01-21 18:56:04.000000000 -0200
+++ dsniff-2.4/sshow.c	2006-01-21 18:56:40.000000000 -0200
@@ -15,6 +15,7 @@
 
 #include <sys/types.h>
 #include <sys/times.h>
+#include <time.h>
 
 #include <netinet/in_systm.h>
 #include <netinet/in.h>
@@ -81,7 +82,7 @@
 static void
 usage(void)
 {
-	fprintf(stderr, "Usage: sshow [-d] [-i interface]\n");
+	fprintf(stderr, "Usage: sshow [-d] [-i interface | -p pcapfile]\n");
 	exit(1);
 }
 
@@ -615,7 +616,7 @@
 	extern int optind;
 	int c;
 	
-	while ((c = getopt(argc, argv, "di:h?")) != -1) {
+	while ((c = getopt(argc, argv, "di:p:h?")) != -1) {
 		switch (c) {
 		case 'd':
 			debug++;
@@ -623,6 +624,9 @@
 		case 'i':
 			nids_params.device = optarg;
 			break;
+		case 'p':
+			nids_params.filename = optarg;
+			break;
 		default:
 			usage();
 			break;
@@ -651,11 +655,24 @@
 	
 	nids_register_tcp(process_event);
 
-	if (nids_params.pcap_filter != NULL) {
-		warnx("listening on %s [%s]", nids_params.device,
-		      nids_params.pcap_filter);
-	}
-	else warnx("listening on %s", nids_params.device);
+        if (nids_params.pcap_filter != NULL) {
+                if (nids_params.filename == NULL) {
+                        warnx("listening on %s [%s]", nids_params.device,
+                              nids_params.pcap_filter);
+                }
+                else {
+                        warnx("using %s [%s]", nids_params.filename,
+                              nids_params.pcap_filter);
+                }
+        }
+        else {
+                if (nids_params.filename == NULL) {
+                    warnx("listening on %s", nids_params.device);
+                }
+                else {
+                    warnx("using %s", nids_params.filename);
+                }
+        }
 
 	nids_run();
 	
diff --exclude='*~' -Naur dsniff-2.4.orig/sshow.c.orig dsniff-2.4/sshow.c.orig
--- dsniff-2.4.orig/sshow.c.orig	1969-12-31 21:00:00.000000000 -0300
+++ dsniff-2.4/sshow.c.orig	2006-01-21 18:56:30.000000000 -0200
@@ -0,0 +1,664 @@
+/*
+ * sshow.c
+ *
+ * Passive SSH traffic analysis.
+ *
+ * http://www.openwall.com/advisories/OW-003-ssh-traffic-analysis.txt
+ *
+ * Copyright (c) 2000-2001 Solar Designer <solar@openwall.com>
+ * Copyright (c) 2000 Dug Song <dugsong@monkey.org>
+ *
+ * $Id: sshow.c,v 1.2 2001/03/19 06:52:15 dugsong Exp $
+ */
+
+#include "config.h"
+
+#include <sys/types.h>
+#include <sys/times.h>
+#include <time.h>
+
+#include <netinet/in_systm.h>
+#include <netinet/in.h>
+#include <netinet/ip.h>
+#include <netinet/tcp.h>
+#include <arpa/inet.h>
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+#include <unistd.h>
+#include <signal.h>
+#include <errno.h>
+#include <err.h>
+#include <nids.h>
+#include <pcap.h>
+
+#include "pcaputil.h"
+
+#if !defined(NIDS_MAJOR) || (NIDS_MAJOR == 1 && NIDS_MINOR < 15)
+#error This program requires libnids 1.15+
+#endif
+
+#define HISTORY_SIZE			16
+
+typedef struct {
+	u_int min, max;
+} range;
+
+typedef struct {
+	int direction;			/* 0 for client to server */
+	clock_t timestamp;		/* timestamp of this packet */
+	u_int cipher_size;		/* ciphertext size */
+	range plain_range;		/* possible plaintext sizes */
+} record;
+
+struct history {
+	record packets[HISTORY_SIZE];	/* recent packets (circular list) */
+	int index;			/* next (free) index into packets[] */
+	u_int directions;		/* recent directions (bitmask) */
+	clock_t timestamps[2];		/* last timestamps in each direction */
+};
+
+struct line {
+	int input_count;		/* input packets (client to server) */
+	int input_size;			/* input size (estimated) */
+	int input_last;			/* last input packet size */
+	int echo_count;			/* echo packets (server to client) */
+};
+
+struct session {
+	int protocol;		/* -1 not SSH, 0 unknown, 1 or 2 once known */
+	int state;		/* 1 after username, 2 after authentication */
+	int compressed;		/* whether compression is known to be used */
+	struct history history;	/* session history */
+	struct line line;	/* current command line */
+};
+
+static int debug = 0;
+
+static clock_t now;
+
+static void
+usage(void)
+{
+	fprintf(stderr, "Usage: sshow [-d] [-i interface]\n");
+	exit(1);
+}
+
+static clock_t
+add_history(struct session *session, int direction,
+	    u_int cipher_size, range *plain_range)
+{
+	record *current;
+	clock_t delay;
+
+	current = &session->history.packets[session->history.index++];
+	session->history.index %= HISTORY_SIZE;
+
+	current->direction = direction;
+	current->timestamp = now;
+	current->cipher_size = cipher_size;
+	current->plain_range = *plain_range;
+
+	session->history.directions <<= 1;
+	session->history.directions |= direction;
+
+	delay = now - session->history.timestamps[direction];
+	session->history.timestamps[direction] = now;
+
+	return (delay);
+}
+
+static record *
+get_history(struct session *session, int age)
+{
+	int index;
+
+	index = session->history.index + (HISTORY_SIZE - 1) - age;
+	index %= HISTORY_SIZE;
+
+	return (&session->history.packets[index]);
+}
+
+static char *
+s_saddr(struct tcp_stream *ts)
+{
+	static char output[32];
+
+	snprintf(output, sizeof(output), "%s:%u",
+		inet_ntoa(*((struct in_addr *)&ts->addr.saddr)),
+		ts->addr.source);
+	return (output);
+}
+
+static char *
+s_daddr(struct tcp_stream *ts)
+{
+	static char output[32];
+
+	snprintf(output, sizeof(output), "%s:%u",
+		inet_ntoa(*((struct in_addr *)&ts->addr.daddr)),
+		ts->addr.dest);
+	return (output);
+}
+
+static char *
+s_range(range *range)
+{
+	static char output[32];
+
+	snprintf(output, sizeof(output),
+		range->min == range->max ? "%u" : "%u to %u",
+		range->min, range->max);
+	return (output);
+}
+
+static void
+print_data(struct half_stream *stream, u_int count)
+{
+	u_int i;
+	int printable;
+
+	printable = 1;
+	for (i = 0; i < count; i++) {
+		printf("%02x%c", (int)(u_char)stream->data[i],
+			i < count - 1 && i % 24 != 23
+			? ' ' : '\n');
+		printable &=
+			isprint(stream->data[i]) ||
+			stream->data[i] == '\n';
+	}
+	if (printable && count >= 4 && !memcmp(stream->data, "SSH-", 4))
+		fwrite(stream->data, count, 1, stdout);
+}
+
+static u_int
+ssh1_plain_size(struct half_stream *stream)
+{
+	if (stream->count_new < 4) return (0);
+
+	return (u_int)(u_char)stream->data[3] |
+		((u_int)(u_char)stream->data[2] << 8) |
+		((u_int)(u_char)stream->data[1] << 16) |
+		((u_int)(u_char)stream->data[0] << 24);
+}
+
+static u_int
+ssh1_cipher_size(struct half_stream *stream)
+{
+	return (4 + ((ssh1_plain_size(stream) + 8) & ~7));
+}
+
+static range *
+ssh1_plain_range(struct half_stream *stream)
+{
+	static range output;
+
+	output.min = output.max = ssh1_plain_size(stream) - 5;
+	return (&output);
+}
+
+static range *
+ssh2_plain_range(struct half_stream *stream)
+{
+	static range output;
+
+	output.max = stream->count_new - 16;
+	/* Assume min padding + 8-byte cipher blocksize */
+	output.min = output.max - 7;
+	if ((int)output.min < 0) output.min = 0;
+	return (&output);
+}
+
+static void
+client_to_server(struct tcp_stream *ts, struct session *session,
+		 u_int cipher_size, range *plain_range)
+{
+	clock_t delay;
+	int payload;
+
+	delay = add_history(session, 0, cipher_size, plain_range);
+
+	if (debug)
+		printf("- %s -> %s: DATA (%s bytes, %.2f seconds)\n",
+			s_saddr(ts), s_daddr(ts), s_range(plain_range),
+			(float)delay / CLK_TCK);
+	if (debug > 1)
+		print_data(&ts->server, cipher_size);
+
+	payload = plain_range->min;
+	if (session->state == 2 && payload > 0) {
+		session->line.input_count++;
+		session->line.input_last = payload;
+		if (session->protocol == 1)
+			payload -= 4;
+		else {
+			payload -= 20 + 1;
+			/* Assume several SSH-2 packets in this IP packet */
+			if (payload % 44 == 0) {
+				session->line.input_count += payload / 44;
+				/* One character per SSH-2 packet (typical) */
+				payload += payload / 44;
+				payload %= 44;
+			}
+			payload++;
+		}
+		if (payload <= 0) {
+			if (payload < 0 && !session->compressed &&
+			    session->protocol == 1) {
+				session->compressed = 1;
+				printf("+ %s -> %s: Compression detected, "
+					"guesses will be much less reliable\n",
+					s_saddr(ts), s_daddr(ts));
+			}
+			payload = 1;
+		}
+		session->line.input_size += payload;
+	}
+}
+
+static void
+server_to_client(struct tcp_stream *ts, struct session *session,
+		 u_int cipher_size, range *plain_range)
+{
+	clock_t delay;
+	int skip;
+	range string_range;
+	
+	delay = add_history(session, 1, cipher_size, plain_range);
+	
+	if (debug)
+		printf("- %s <- %s: DATA (%s bytes, %.2f seconds)\n",
+		       s_saddr(ts), s_daddr(ts), s_range(plain_range),
+		       (float)delay / CLK_TCK);
+	if (debug > 1)
+		print_data(&ts->client, cipher_size);
+	
+/*
+ * Some of the checks may want to skip over multiple server responses.
+ * For example, there's a debugging packet sent for every option found
+ * in authorized_keys, but we can't use those packets in our pattern.
+ */
+	skip = 0;
+	while (((session->history.directions >> skip) & 3) == 3)
+		if (++skip > HISTORY_SIZE - 5) break;
+	
+	if (session->state == 0 &&
+	    session->protocol == 1 &&
+	    ((session->history.directions >> skip) & 7) == 5 &&
+	    plain_range->min == 0 &&
+	    get_history(session, skip + 1)->plain_range.min > 4 &&
+	    get_history(session, skip + 2)->plain_range.min == 0) {
+		session->state = 1;
+		string_range = get_history(session, skip + 1)->plain_range;
+		string_range.min -= 4; string_range.max -= 4;
+		printf("+ %s -> %s: GUESS: Username length is %s\n",
+		       s_saddr(ts), s_daddr(ts), s_range(&string_range));
+		return;
+	}
+	
+	if (session->state == 1 &&
+#ifdef USE_TIMING
+	    now - get_history(session, 2)->timestamp >= CLK_TCK &&
+#endif
+	    session->protocol == 1 &&
+	    (session->history.directions & 7) == 5 &&
+	    plain_range->min == 0 &&
+	    get_history(session, 1)->plain_range.min > 4 &&
+	    get_history(session, 2)->plain_range.min == 0) {
+		session->state = 2;
+		string_range = get_history(session, 1)->plain_range;
+		string_range.min -= 4; string_range.max -= 4;
+		printf("+ %s -> %s: GUESS: Password authentication, "
+		       "password length %s %s%s\n",
+		       s_saddr(ts), s_daddr(ts),
+		       string_range.min == 32 ? "appears to be" : "is",
+		       s_range(&string_range),
+		       string_range.min == 32 ? " (padded?)" : "");
+	}
+	
+	if (session->state == 0 &&
+	    session->protocol == 2 &&
+	    (session->history.directions & 7) == 5) {
+		if (plain_range->min == 4 + 9) {
+			string_range = get_history(session, 1)->plain_range;
+			
+			if (string_range.min > 500 && string_range.min < 600) {
+				session->state = 2;
+				printf("+ %s -> %s: GUESS: DSA "
+				       "authentication accepted\n",
+				       s_saddr(ts), s_daddr(ts));
+			} else
+				if (string_range.min > 42 + 9) {
+					session->state = 2;
+					printf("+ %s -> %s: GUESS: Password "
+					       "authentication accepted\n",
+					       s_saddr(ts), s_daddr(ts));
+				}
+		} else if (plain_range->min > 12 + 9 &&
+			   plain_range->min < 56 + 9) {
+			string_range = get_history(session, 1)->plain_range;
+			
+			if (string_range.min > 500 && string_range.min < 600)
+				printf("+ %s -> %s: GUESS: DSA "
+				       "authentication failed\n",
+				       s_saddr(ts), s_daddr(ts));
+			else if (string_range.min > 42 + 9)
+				printf("+ %s -> %s: GUESS: Password "
+				       "authentication failed\n",
+				       s_saddr(ts), s_daddr(ts));
+		}
+	}
+	
+	if (session->state == 1 &&
+	    session->protocol == 1 &&
+	    (session->history.directions & 3) == 1 &&
+	    plain_range->min == 0 &&
+	    get_history(session, 1)->plain_range.min == 130) {
+		printf("+ %s -> %s: GUESS: RSA authentication refused\n",
+		       s_saddr(ts), s_daddr(ts));
+	}
+	
+	if (session->state == 1 &&
+	    session->protocol == 1 &&
+	    skip >= 1 &&
+	    ((session->history.directions >> (skip - 1)) & 037) == 013 &&
+	    plain_range->min == 0 &&
+	    get_history(session, skip - 1 + 2)->plain_range.min == 16 &&
+	    get_history(session, skip - 1 + 3)->plain_range.min == 130 &&
+	    get_history(session, skip - 1 + 4)->plain_range.min == 130) {
+		char *what;
+		
+		switch (get_history(session, 1)->plain_range.min - 4) {
+		case 28:
+			/* "RSA authentication accepted." */
+			session->state = 2;
+			if (skip > 1 && (what = alloca(64))) {
+				snprintf(what, 64, "accepted "
+					 "(%d+ authorized_keys option%s)",
+					 skip - 1, skip - 1 == 1 ? "" : "s");
+				break;
+			}
+			what = "accepted";
+			break;
+			
+		case 47:
+			/* "Wrong response to RSA authentication challenge." */
+			what = "failed";
+			break;
+			
+		default:
+			what = "???";
+		}
+		printf("+ %s -> %s: GUESS: RSA authentication %s\n",
+		       s_saddr(ts), s_daddr(ts), what);
+	}
+	
+	if (session->state == 2) {
+		session->line.echo_count++;
+		
+		/* Check for backspace */
+		if (session->protocol == 1 && !session->compressed &&
+		    plain_range->min == 4 + 3 &&
+		    session->line.input_size >= 2)
+			session->line.input_size -= 2;
+		
+		if (plain_range->min > 4 + session->line.input_last &&
+		    session->line.input_count >= 2 &&
+		    session->line.input_size >= 2) {
+			int size;
+			char *what;
+			
+			size = session->line.input_size;
+			if (session->line.echo_count + 1 >=
+			    session->line.input_count &&
+			    size <= (session->line.input_count << 2) &&
+			    size < 0x100) {
+				what = "(command) line";
+			}
+			else {
+				if (session->line.echo_count <= 2 &&
+				    size <= (session->line.input_count << 1) &&
+				    size >= 2 + 1 && size <= 40 + 1) {
+					what = "password";
+				}
+				else what = NULL;
+			}
+			if (debug) {
+				printf("- %s -> %s: sent %d packets "
+				       "(%d characters), seen %d replies\n",
+				       s_saddr(ts), s_daddr(ts),
+				       session->line.input_count, size,
+				       session->line.echo_count);
+			}
+			if (what) {
+				printf("+ %s -> %s: GUESS: "
+				       "a %s of %d character%s\n",
+				       s_saddr(ts), s_daddr(ts),
+				       what, size - 1, size == 2 ? "" : "s");
+			}
+		}
+		if (plain_range->min <= 0 ||
+		    plain_range->min > 4 + session->line.input_last) {
+			session->line.input_count = 0;
+			session->line.input_size = 0;
+			session->line.echo_count = 0;
+		}
+	}
+}
+
+static void
+process_data(struct tcp_stream *ts, struct session *session)
+{
+	u_int have, need;
+	char *lf;
+	
+	if (session->protocol < 0) return;
+	
+	if (ts->client.count_new &&
+	    (have = ts->client.count - ts->client.offset)) {
+		switch (session->protocol) {
+		case 1:
+			if (have < (need = ssh1_cipher_size(&ts->client))) {
+				if (debug) {
+					printf("- %s <- %s: got %u of "
+					       "%u bytes\n", s_saddr(ts),
+					       s_daddr(ts), have, need);
+				}
+				nids_discard(ts, 0);
+				return;
+			}
+			if (have != need && debug) {
+				printf("- %s <- %s: left %u bytes\n",
+				       s_saddr(ts), s_daddr(ts),
+				       have - need);
+			}
+			nids_discard(ts, need);
+			server_to_client(ts, session, need,
+				ssh1_plain_range(&ts->client));
+			return;
+			
+		case 2:
+			server_to_client(ts, session, have,
+					 ssh2_plain_range(&ts->client));
+			return;
+			
+		default:
+			break;
+		}
+	}
+	if (ts->server.count_new &&
+	    (have = ts->server.count - ts->server.offset)) {
+		if (!session->protocol) {
+			lf = (char *)memchr(ts->server.data, '\n', have);
+			if (have < 7 || (!lf && have < 0x100)) {
+				nids_discard(ts, 0);
+				return;
+			}
+			if (lf && !memcmp(ts->server.data, "SSH-", 4))
+				session->protocol = ts->server.data[4] - '0';
+			/* some clients announce SSH-1.99 instead of SSH-2.0 */
+			if (session->protocol == 1 &&
+			    ts->server.data[5] == '.' &&
+			    ts->server.data[6] == '9') {
+				session->protocol = 2;
+			}
+			if (session->protocol != 1 && session->protocol != 2) {
+				session->protocol = -1;
+				if (debug) {
+					printf("- %s -> %s: not SSH\n",
+					       s_saddr(ts), s_daddr(ts));
+				}
+				return;
+			}
+			need = lf - ts->server.data + 1;
+			nids_discard(ts, need);
+			printf("+ %s -> %s: SSH protocol %d\n",
+			       s_saddr(ts), s_daddr(ts), session->protocol);
+			if (debug)
+				print_data(&ts->server, have);
+			return;
+		}
+		
+		switch (session->protocol) {
+		case 1:
+			if (have < (need = ssh1_cipher_size(&ts->server))) {
+				if (debug) {
+					printf("- %s -> %s: got %u of "
+					       "%u bytes\n", s_saddr(ts),
+					       s_daddr(ts), have, need);
+				}
+				nids_discard(ts, 0);
+				return;
+			}
+			if (have != need && debug) {
+				printf("- %s -> %s: left %u bytes\n",
+				       s_saddr(ts), s_daddr(ts),
+				       have - need);
+			}
+			nids_discard(ts, need);
+			client_to_server(ts, session, need,
+					 ssh1_plain_range(&ts->server));
+			return;
+			
+		case 2:
+			client_to_server(ts, session, have,
+					 ssh2_plain_range(&ts->server));
+		}
+	}
+}
+
+static void
+process_event(struct tcp_stream *ts, struct session **session)
+{
+	struct tms buf;
+	char *what;
+	
+	now = times(&buf);
+	what = NULL;
+	
+	switch (ts->nids_state) {
+	case NIDS_JUST_EST:
+		ts->client.collect = 1;
+		ts->server.collect = 1;
+		if (debug) {
+			printf("- %s -> %s: ESTABLISHED\n",
+			       s_saddr(ts), s_daddr(ts));
+		}
+		if (!(*session = calloc(1, sizeof(**session)))) {
+			err(1, "calloc");
+		}
+		(*session)->history.timestamps[0] = now;
+		(*session)->history.timestamps[1] = now;
+		return;
+		
+	case NIDS_CLOSE:
+		what = "CLOSED";
+		
+	case NIDS_RESET:
+		if (!what) what = "RESET";
+		
+	case NIDS_TIMED_OUT:
+		if (!what) what = "TIMED OUT";
+		if ((*session)->protocol > 0) {
+			printf("+ %s -- %s: %s\n",
+			       s_saddr(ts), s_daddr(ts), what);
+		}
+		else if (debug) {
+			printf("- %s -- %s: %s\n",
+			       s_saddr(ts), s_daddr(ts), what);
+		}
+		free(*session);
+		return;
+		
+	case NIDS_DATA:
+		process_data(ts, *session);
+		return;
+	}
+}
+
+static void
+null_syslog(int type, int errnum, struct ip *iph, void *data)
+{
+}
+
+static void
+cleanup(int signum)
+{
+	exit(0);	/* Just so that atexit(3) jobs are called */
+}
+
+int
+main(int argc, char *argv[])
+{
+	extern char *optarg;
+	extern int optind;
+	int c;
+	
+	while ((c = getopt(argc, argv, "di:h?")) != -1) {
+		switch (c) {
+		case 'd':
+			debug++;
+			break;
+		case 'i':
+			nids_params.device = optarg;
+			break;
+		default:
+			usage();
+			break;
+		}
+	}
+	argc -= optind;
+	argv += optind;
+	
+	signal(SIGTERM, cleanup);
+	signal(SIGINT, cleanup);
+	signal(SIGHUP, cleanup);
+	
+	setlinebuf(stdout);
+	
+	if (argc > 0) {
+		nids_params.pcap_filter = copy_argv(argv);
+	}
+	else nids_params.pcap_filter = "tcp";
+	
+	nids_params.syslog = null_syslog;
+	nids_params.scan_num_hosts = 0;
+	nids_params.one_loop_less = 1;
+	
+	if (!nids_init())
+		errx(1, "nids_init: %s", nids_errbuf);
+	
+	nids_register_tcp(process_event);
+
+	if (nids_params.pcap_filter != NULL) {
+		warnx("listening on %s [%s]", nids_params.device,
+		      nids_params.pcap_filter);
+	}
+	else warnx("listening on %s", nids_params.device);
+
+	nids_run();
+	
+	return (0);
+}
diff --exclude='*~' -Naur dsniff-2.4.orig/tcpkill.c dsniff-2.4/tcpkill.c
--- dsniff-2.4.orig/tcpkill.c	2006-01-21 18:56:04.000000000 -0200
+++ dsniff-2.4/tcpkill.c	2006-01-21 18:56:45.000000000 -0200
@@ -39,17 +39,18 @@
 static void
 tcp_kill_cb(u_char *user, const struct pcap_pkthdr *pcap, const u_char *pkt)
 {
-	struct libnet_ip_hdr *ip;
+	struct libnet_ipv4_hdr *ip;
 	struct libnet_tcp_hdr *tcp;
-	u_char ctext[64], buf[IP_H + TCP_H];
+	u_char ctext[64];
 	u_int32_t seq, win;
-	int i, *sock, len;
+	int i, len;
+	libnet_t *l;
 
-	sock = (int *)user;
+	l = (libnet_t *)user;
 	pkt += pcap_off;
 	len = pcap->caplen - pcap_off;
 
-	ip = (struct libnet_ip_hdr *)pkt;
+	ip = (struct libnet_ipv4_hdr *)pkt;
 	if (ip->ip_p != IPPROTO_TCP)
 		return;
 	
@@ -57,34 +58,31 @@
 	if (tcp->th_flags & (TH_SYN|TH_FIN|TH_RST))
 		return;
 
-	libnet_build_ip(TCP_H, 0, 0, 0, 64, IPPROTO_TCP,
-			ip->ip_dst.s_addr, ip->ip_src.s_addr,
-			NULL, 0, buf);
-
-	libnet_build_tcp(ntohs(tcp->th_dport), ntohs(tcp->th_sport),
-			 0, 0, TH_RST, 0, 0, NULL, 0, buf + IP_H);
-	
 	seq = ntohl(tcp->th_ack);
 	win = ntohs(tcp->th_win);
 	
 	snprintf(ctext, sizeof(ctext), "%s:%d > %s:%d:",
-		 libnet_host_lookup(ip->ip_src.s_addr, 0),
+		 libnet_addr2name4(ip->ip_src.s_addr, LIBNET_DONT_RESOLVE),
 		 ntohs(tcp->th_sport),
-		 libnet_host_lookup(ip->ip_dst.s_addr, 0),
+		 libnet_addr2name4(ip->ip_dst.s_addr, LIBNET_DONT_RESOLVE),
 		 ntohs(tcp->th_dport));
 	
-	ip = (struct libnet_ip_hdr *)buf;
-	tcp = (struct libnet_tcp_hdr *)(ip + 1);
-	
 	for (i = 0; i < Opt_severity; i++) {
-		ip->ip_id = libnet_get_prand(PRu16);
 		seq += (i * win);
-		tcp->th_seq = htonl(seq);
 		
-		libnet_do_checksum(buf, IPPROTO_TCP, TCP_H);
+		libnet_clear_packet(l);
+		
+		libnet_build_tcp(ntohs(tcp->th_dport), ntohs(tcp->th_sport),
+				 seq, 0, TH_RST, 0, 0, 0, LIBNET_TCP_H, 
+				 NULL, 0, l, 0);
+		
+		libnet_build_ipv4(LIBNET_IPV4_H + LIBNET_TCP_H, 0,
+				  libnet_get_prand(LIBNET_PRu16), 0, 64,
+				  IPPROTO_TCP, 0, ip->ip_dst.s_addr,
+				  ip->ip_src.s_addr, NULL, 0, l, 0);
 		
-		if (libnet_write_ip(*sock, buf, sizeof(buf)) < 0)
-			warn("write_ip");
+		if (libnet_write(l) < 0)
+			warn("write");
 		
 		fprintf(stderr, "%s R %lu:%lu(0) win 0\n", ctext, seq, seq);
 	}
@@ -95,8 +93,10 @@
 {
 	extern char *optarg;
 	extern int optind;
-	int c, sock;
+	int c;
 	char *p, *intf, *filter, ebuf[PCAP_ERRBUF_SIZE];
+	char libnet_ebuf[LIBNET_ERRBUF_SIZE];
+	libnet_t *l;
 	pcap_t *pd;
 	
 	intf = NULL;
@@ -136,14 +136,14 @@
 	if ((pcap_off = pcap_dloff(pd)) < 0)
 		errx(1, "couldn't determine link layer offset");
 	
-	if ((sock = libnet_open_raw_sock(IPPROTO_RAW)) == -1)
+	if ((l = libnet_init(LIBNET_RAW4, intf, libnet_ebuf)) == NULL)
 		errx(1, "couldn't initialize sending");
 	
-	libnet_seed_prand();
+	libnet_seed_prand(l);
 	
 	warnx("listening on %s [%s]", intf, filter);
 	
-	pcap_loop(pd, -1, tcp_kill_cb, (u_char *)&sock);
+	pcap_loop(pd, -1, tcp_kill_cb, (u_char *)l);
   
 	/* NOTREACHED */
 	
diff --exclude='*~' -Naur dsniff-2.4.orig/tcpnice.c dsniff-2.4/tcpnice.c
--- dsniff-2.4.orig/tcpnice.c	2006-01-21 18:56:04.000000000 -0200
+++ dsniff-2.4/tcpnice.c	2006-01-21 18:56:45.000000000 -0200
@@ -41,107 +41,106 @@
 }
 
 static void
-send_tcp_window_advertisement(int sock, struct libnet_ip_hdr *ip,
+send_tcp_window_advertisement(libnet_t *l, struct libnet_ipv4_hdr *ip,
 			     struct libnet_tcp_hdr *tcp)
 {
 	int len;
 	
 	ip->ip_hl = 5;
-	ip->ip_len = htons(IP_H + TCP_H);
-	ip->ip_id = libnet_get_prand(PRu16);
-	memcpy(buf, (u_char *)ip, IP_H);
+	ip->ip_len = htons(LIBNET_IPV4_H + LIBNET_TCP_H);
+	ip->ip_id = libnet_get_prand(LIBNET_PRu16);
+	memcpy(buf, (u_char *)ip, LIBNET_IPV4_H);
 	
 	tcp->th_off = 5;
 	tcp->th_win = htons(MIN_WIN);
-	memcpy(buf + IP_H, (u_char *)tcp, TCP_H);
+	memcpy(buf + LIBNET_IPV4_H, (u_char *)tcp, LIBNET_TCP_H);
 	
-	libnet_do_checksum(buf, IPPROTO_TCP, TCP_H);
+	libnet_do_checksum(l, buf, IPPROTO_TCP, LIBNET_TCP_H);
 	
-	len = IP_H + TCP_H;
+	len = LIBNET_IPV4_H + LIBNET_TCP_H;
 	
-	if (libnet_write_ip(sock, buf, len) != len)
+	if (libnet_write_raw_ipv4(l, buf, len) != len)
 		warn("write");
 	
 	fprintf(stderr, "%s:%d > %s:%d: . ack %lu win %d\n",
-		libnet_host_lookup(ip->ip_src.s_addr, 0), ntohs(tcp->th_sport),
-		libnet_host_lookup(ip->ip_dst.s_addr, 0), ntohs(tcp->th_dport),
+		libnet_addr2name4(ip->ip_src.s_addr, 0), ntohs(tcp->th_sport),
+		libnet_addr2name4(ip->ip_dst.s_addr, 0), ntohs(tcp->th_dport),
 		ntohl(tcp->th_ack), 1);
 }
 
 static void
-send_icmp_source_quench(int sock, struct libnet_ip_hdr *ip)
+send_icmp_source_quench(libnet_t *l, struct libnet_ipv4_hdr *ip)
 {
-	struct libnet_icmp_hdr *icmp;
+	struct libnet_icmpv4_hdr *icmp;
 	int len;
 	
 	len = (ip->ip_hl * 4) + 8;
 
-	libnet_build_ip(ICMP_ECHO_H + len, 0, libnet_get_prand(PRu16),
-			0, 64, IPPROTO_ICMP, ip->ip_dst.s_addr,
-			ip->ip_src.s_addr, NULL, 0, buf);
-	
-	icmp = (struct libnet_icmp_hdr *)(buf + IP_H);
+	icmp = (struct libnet_icmpv4_hdr *)(buf + LIBNET_IPV4_H);
 	icmp->icmp_type = ICMP_SOURCEQUENCH;
 	icmp->icmp_code = 0;
-	memcpy((u_char *)icmp + ICMP_ECHO_H, (u_char *)ip, len);
+	memcpy((u_char *)icmp + LIBNET_ICMPV4_ECHO_H, (u_char *)ip, len);
 	
-	libnet_do_checksum(buf, IPPROTO_ICMP, ICMP_ECHO_H + len);
+	len += LIBNET_ICMPV4_ECHO_H;
 	
-	len += (IP_H + ICMP_ECHO_H);
+	libnet_build_ipv4(LIBNET_IPV4_H + len, 0,
+			  libnet_get_prand(LIBNET_PRu16), 0, 64, IPPROTO_ICMP,
+			  0, ip->ip_dst.s_addr, ip->ip_src.s_addr,
+			  (u_int8_t *) icmp, len, l, 0);
 	
-	if (libnet_write_ip(sock, buf, len) != len)
+	if (libnet_write(l) != len)
 		warn("write");
 	
 	fprintf(stderr, "%s > %s: icmp: source quench\n",
-		libnet_host_lookup(ip->ip_dst.s_addr, 0),
-		libnet_host_lookup(ip->ip_src.s_addr, 0));
+		libnet_addr2name4(ip->ip_dst.s_addr, 0),
+		libnet_addr2name4(ip->ip_src.s_addr, 0));
 }
 
 static void
-send_icmp_frag_needed(int sock, struct libnet_ip_hdr *ip)
+send_icmp_frag_needed(libnet_t *l, struct libnet_ipv4_hdr *ip)
 {
-	struct libnet_icmp_hdr *icmp;
+	struct libnet_icmpv4_hdr *icmp;
 	int len;
 
 	len = (ip->ip_hl * 4) + 8;
 	
-	libnet_build_ip(ICMP_MASK_H + len, 4, libnet_get_prand(PRu16),
-			0, 64, IPPROTO_ICMP, ip->ip_dst.s_addr,
-			ip->ip_src.s_addr, NULL, 0, buf);
-
-	icmp = (struct libnet_icmp_hdr *)(buf + IP_H);
+	icmp = (struct libnet_icmpv4_hdr *)(buf + LIBNET_IPV4_H);
 	icmp->icmp_type = ICMP_UNREACH;
 	icmp->icmp_code = ICMP_UNREACH_NEEDFRAG;
 	icmp->hun.frag.pad = 0;
 	icmp->hun.frag.mtu = htons(MIN_MTU);
-	memcpy((u_char *)icmp + ICMP_MASK_H, (u_char *)ip, len);
+	memcpy((u_char *)icmp + LIBNET_ICMPV4_MASK_H, (u_char *)ip, len);
 
-	libnet_do_checksum(buf, IPPROTO_ICMP, ICMP_MASK_H + len);
-	
-	len += (IP_H + ICMP_MASK_H);
+	len += LIBNET_ICMPV4_MASK_H;
+
+	libnet_build_ipv4(LIBNET_IPV4_H + len, 4,
+			  libnet_get_prand(LIBNET_PRu16), 0, 64, IPPROTO_ICMP,
+			  0, ip->ip_dst.s_addr, ip->ip_src.s_addr,
+			  (u_int8_t *) icmp, len, l, 0);
 	
-	if (libnet_write_ip(sock, buf, len) != len)
+	if (libnet_write(l) != len)
 		warn("write");
 	
 	fprintf(stderr, "%s > %s: icmp: ",
-		libnet_host_lookup(ip->ip_dst.s_addr, 0),
-		libnet_host_lookup(ip->ip_src.s_addr, 0));
+		libnet_addr2name4(ip->ip_dst.s_addr, 0),
+		libnet_addr2name4(ip->ip_src.s_addr, 0));
 	fprintf(stderr, "%s unreachable - need to frag (mtu %d)\n",
-		libnet_host_lookup(ip->ip_src.s_addr, 0), MIN_MTU);
+		libnet_addr2name4(ip->ip_src.s_addr, 0), MIN_MTU);
 }
 
 static void
 tcp_nice_cb(u_char *user, const struct pcap_pkthdr *pcap, const u_char *pkt)
 {
-	struct libnet_ip_hdr *ip;
+	struct libnet_ipv4_hdr *ip;
 	struct libnet_tcp_hdr *tcp;
-	int *sock, len;
+	int len;
+	libnet_t *l;
 
-	sock = (int *)user;
+	l = (libnet_t *)user;
 	pkt += pcap_off;
 	len = pcap->caplen - pcap_off;
 
-	ip = (struct libnet_ip_hdr *)pkt;
+	ip = (struct libnet_ipv4_hdr *)pkt;
 	if (ip->ip_p != IPPROTO_TCP)
 		return;
 	
@@ -151,11 +150,11 @@
 	
 	if (ntohs(ip->ip_len) > (ip->ip_hl << 2) + (tcp->th_off << 2)) {
 		if (Opt_icmp)
-			send_icmp_source_quench(*sock, ip);
+			send_icmp_source_quench(l, ip);
 		if (Opt_win)
-			send_tcp_window_advertisement(*sock, ip, tcp);
+			send_tcp_window_advertisement(l, ip, tcp);
 		if (Opt_pmtu)
-			send_icmp_frag_needed(*sock, ip);
+			send_icmp_frag_needed(l, ip);
 	}
 }
 
@@ -164,8 +163,10 @@
 {
 	extern char *optarg;
 	extern int optind;
-	int c, sock;
+	int c;
 	char *intf, *filter, ebuf[PCAP_ERRBUF_SIZE];
+	char libnet_ebuf[LIBNET_ERRBUF_SIZE];
+	libnet_t *l;
 	pcap_t *pd;
 	
 	intf = NULL;
@@ -209,14 +210,14 @@
 	if ((pcap_off = pcap_dloff(pd)) < 0)
 		errx(1, "couldn't determine link layer offset");
 	
-	if ((sock = libnet_open_raw_sock(IPPROTO_RAW)) == -1)
+	if ((l = libnet_init(LIBNET_RAW4, intf, libnet_ebuf)) == NULL)
 		errx(1, "couldn't initialize sending");
 	
-	libnet_seed_prand();
+	libnet_seed_prand(l);
 	
 	warnx("listening on %s [%s]", intf, filter);
 	
-	pcap_loop(pd, -1, tcp_nice_cb, (u_char *)&sock);
+	pcap_loop(pd, -1, tcp_nice_cb, (u_char *)l);
 	
 	/* NOTREACHED */
 	
diff --exclude='*~' -Naur dsniff-2.4.orig/tcp_raw.c dsniff-2.4/tcp_raw.c
--- dsniff-2.4.orig/tcp_raw.c	2006-01-21 18:56:04.000000000 -0200
+++ dsniff-2.4/tcp_raw.c	2006-01-21 18:56:45.000000000 -0200
@@ -119,7 +119,7 @@
 }
 
 struct iovec *
-tcp_raw_input(struct libnet_ip_hdr *ip, struct libnet_tcp_hdr *tcp, int len)
+tcp_raw_input(struct libnet_ipv4_hdr *ip, struct libnet_tcp_hdr *tcp, int len)
 {
 	struct tha tha;
 	struct tcp_conn *conn;
@@ -131,7 +131,7 @@
 
 	/* Verify TCP checksum. */
 	cksum = tcp->th_sum;
-	libnet_do_checksum((u_char *) ip, IPPROTO_TCP, len);
+	libnet_do_checksum(NULL, (u_char *) ip, IPPROTO_TCP, len);
 
 	if (cksum != tcp->th_sum)
 		return (NULL);
diff --exclude='*~' -Naur dsniff-2.4.orig/tcp_raw.h dsniff-2.4/tcp_raw.h
--- dsniff-2.4.orig/tcp_raw.h	2006-01-21 18:56:04.000000000 -0200
+++ dsniff-2.4/tcp_raw.h	2006-01-21 18:56:45.000000000 -0200
@@ -15,7 +15,7 @@
 				   u_short sport, u_short dport,
 				   u_char *buf, int len);
 
-struct iovec   *tcp_raw_input(struct libnet_ip_hdr *ip,
+struct iovec   *tcp_raw_input(struct libnet_ipv4_hdr *ip,
 			      struct libnet_tcp_hdr *tcp, int len);
 
 void		tcp_raw_timeout(int timeout, tcp_raw_callback_t callback);
diff --exclude='*~' -Naur dsniff-2.4.orig/trigger.c dsniff-2.4/trigger.c
--- dsniff-2.4.orig/trigger.c	2006-01-21 18:56:04.000000000 -0200
+++ dsniff-2.4/trigger.c	2006-01-21 18:56:45.000000000 -0200
@@ -276,7 +276,7 @@
 }
 	
 void
-trigger_ip(struct libnet_ip_hdr *ip)
+trigger_ip(struct libnet_ipv4_hdr *ip)
 {
 	struct trigger *t, tr;
 	u_char *buf;
@@ -305,7 +305,7 @@
 
 /* libnids needs a nids_register_udp()... */
 void
-trigger_udp(struct libnet_ip_hdr *ip)
+trigger_udp(struct libnet_ipv4_hdr *ip)
 {
 	struct trigger *t, tr;
 	struct libnet_udp_hdr *udp;
@@ -437,7 +437,7 @@
 }
 
 void
-trigger_tcp_raw(struct libnet_ip_hdr *ip)
+trigger_tcp_raw(struct libnet_ipv4_hdr *ip)
 {
 	struct trigger *t, tr;
 	struct libnet_tcp_hdr *tcp;
diff --exclude='*~' -Naur dsniff-2.4.orig/trigger.h dsniff-2.4/trigger.h
--- dsniff-2.4.orig/trigger.h	2006-01-21 18:56:04.000000000 -0200
+++ dsniff-2.4/trigger.h	2006-01-21 18:56:45.000000000 -0200
@@ -24,10 +24,10 @@
 int	trigger_set_tcp(int port, char *name);
 int	trigger_set_rpc(int program, char *name);
 
-void	trigger_ip(struct libnet_ip_hdr *ip);
-void	trigger_udp(struct libnet_ip_hdr *ip);
+void	trigger_ip(struct libnet_ipv4_hdr *ip);
+void	trigger_udp(struct libnet_ipv4_hdr *ip);
 void	trigger_tcp(struct tcp_stream *ts, void **conn_save);
-void	trigger_tcp_raw(struct libnet_ip_hdr *ip);
+void	trigger_tcp_raw(struct libnet_ipv4_hdr *ip);
 void	trigger_tcp_raw_timeout(int signal);
 void	trigger_rpc(int program, int proto, int port);
 
diff --exclude='*~' -Naur dsniff-2.4.orig/urlsnarf.8 dsniff-2.4/urlsnarf.8
--- dsniff-2.4.orig/urlsnarf.8	2006-01-21 18:56:04.000000000 -0200
+++ dsniff-2.4/urlsnarf.8	2006-01-21 18:56:40.000000000 -0200
@@ -9,7 +9,7 @@
 .na
 .nf
 .fi
-\fBurlsnarf\fR [\fB-n\fR] [\fB-i \fIinterface\fR]  [[\fB-v\fR] \fIpattern [\fIexpression\fR]]
+\fBurlsnarf\fR [\fB-n\fR] [\fB-i \fIinterface\fR | \fB-p \fIpcapfile\fR]  [[\fB-v\fR] \fIpattern [\fIexpression\fR]]
 .SH DESCRIPTION
 .ad
 .fi
@@ -21,6 +21,9 @@
 .IP \fB-n\fR
 Do not resolve IP addresses to hostnames.
 .IP "\fB-i \fIinterface\fR"
+Specify the interface to listen on.
+.IP "\fB-p \fIpcapfile\fR"
+Process packets from the specified PCAP capture file instead of the network.
 .IP \fB-v\fR
 "Versus" mode. Invert the sense of matching, to select non-matching
 URLs.
diff --exclude='*~' -Naur dsniff-2.4.orig/urlsnarf.c dsniff-2.4/urlsnarf.c
--- dsniff-2.4.orig/urlsnarf.c	2006-01-21 18:56:04.000000000 -0200
+++ dsniff-2.4/urlsnarf.c	2006-01-21 18:56:45.000000000 -0200
@@ -41,7 +41,7 @@
 usage(void)
 {
 	fprintf(stderr, "Version: " VERSION "\n"
-		"Usage: urlsnarf [-n] [-i interface] [[-v] pattern [expression]]\n");
+		"Usage: urlsnarf [-n] [-i interface | -p pcapfile] [[-v] pattern [expression]]\n");
 	exit(1);
 }
 
@@ -68,7 +68,7 @@
 		 t->tm_hour - gmt.tm_hour);
 	tz = hours * 60 + t->tm_min - gmt.tm_min;
 	
-	len = strftime(tstr, sizeof(tstr), "%e/%b/%Y:%X", t);
+	len = strftime(tstr, sizeof(tstr), "%d/%b/%Y:%X", t);
 	if (len < 0 || len > sizeof(tstr) - 5)
 		return (NULL);
 	
@@ -145,14 +145,14 @@
 		if (user == NULL)
 			user = "-";
 		if (vhost == NULL)
-			vhost = libnet_host_lookup(addr->daddr, Opt_dns);
+			vhost = libnet_addr2name4(addr->daddr, Opt_dns);
 		if (referer == NULL)
 			referer = "-";
 		if (agent == NULL)
 			agent = "-";
 		
 		printf("%s - %s [%s] \"%s http://%s%s\" - - \"%s\" \"%s\"\n",
-		       libnet_host_lookup(addr->saddr, Opt_dns),
+		       libnet_addr2name4(addr->saddr, Opt_dns),
 		       user, timestamp(), req, vhost, uri, referer, agent);
 	}
 	fflush(stdout);
@@ -201,11 +201,14 @@
 	extern int optind;
 	int c;
 	
-	while ((c = getopt(argc, argv, "i:nvh?V")) != -1) {
+	while ((c = getopt(argc, argv, "i:p:nvh?V")) != -1) {
 		switch (c) {
 		case 'i':
 			nids_params.device = optarg;
 			break;
+		case 'p':
+			nids_params.filename = optarg;
+			break;
 		case 'n':
 			Opt_dns = 0;
 			break;
@@ -238,8 +241,24 @@
 	
 	nids_register_tcp(sniff_http_client);
 
-	warnx("listening on %s [%s]", nids_params.device,
-	      nids_params.pcap_filter);
+        if (nids_params.pcap_filter != NULL) {
+                if (nids_params.filename == NULL) {
+                        warnx("listening on %s [%s]", nids_params.device,
+                              nids_params.pcap_filter);
+                }
+                else {
+                        warnx("using %s [%s]", nids_params.filename,
+                              nids_params.pcap_filter);
+                }
+        }
+        else {
+                if (nids_params.filename == NULL) {
+                    warnx("listening on %s", nids_params.device);
+                }
+                else {
+                    warnx("using %s", nids_params.filename);
+                }
+        }
 
 	nids_run();
 	
diff --exclude='*~' -Naur dsniff-2.4.orig/webmitm.c dsniff-2.4/webmitm.c
--- dsniff-2.4.orig/webmitm.c	2006-01-21 18:56:04.000000000 -0200
+++ dsniff-2.4/webmitm.c	2006-01-21 18:56:45.000000000 -0200
@@ -242,7 +242,7 @@
 			word = buf_tok(&msg, "/", 1);
 			vhost = buf_strdup(word);
 		}
-		ssin.sin_addr.s_addr = libnet_name_resolve(vhost, 1);
+		ssin.sin_addr.s_addr = libnet_name2addr4(NULL, vhost, 1);
 		free(vhost);
 		
 		if (ssin.sin_addr.s_addr == ntohl(INADDR_LOOPBACK) ||
@@ -510,7 +510,7 @@
 	argv += optind;
 
 	if (argc == 1) {
-		if ((static_host = libnet_name_resolve(argv[0], 1)) == -1)
+		if ((static_host = libnet_name2addr4(NULL, argv[0], 1)) == -1)
 			usage();
 	}
 	else if (argc != 0) usage();
diff --exclude='*~' -Naur dsniff-2.4.orig/webspy.8 dsniff-2.4/webspy.8
--- dsniff-2.4.orig/webspy.8	2006-01-21 18:56:04.000000000 -0200
+++ dsniff-2.4/webspy.8	2006-01-21 18:56:40.000000000 -0200
@@ -9,7 +9,7 @@
 .na
 .nf
 .fi
-\fBwebspy\fR [\fB-i \fIinterface\fR] \fIhost\fR
+\fBwebspy\fR [\fB-i \fIinterface\fR | \fB-p \fIpcapfile\fR] \fIhost\fR
 .SH DESCRIPTION
 .ad
 .fi
@@ -20,6 +20,8 @@
 .SH OPTIONS
 .IP "\fB-i \fIinterface\fR"
 Specify the interface to listen on.
+.IP "\fB-p \fIpcapfile\fR"
+Process packets from the specified PCAP capture file instead of the network.
 .IP \fIhost\fR
 Specify the web client to spy on.
 .SH "SEE ALSO"
diff --exclude='*~' -Naur dsniff-2.4.orig/webspy.c dsniff-2.4/webspy.c
--- dsniff-2.4.orig/webspy.c	2006-01-21 18:56:04.000000000 -0200
+++ dsniff-2.4/webspy.c	2006-01-21 18:56:45.000000000 -0200
@@ -42,7 +42,7 @@
 usage(void)
 {
 	fprintf(stderr, "Version: " VERSION "\n"
-		"Usage: %s [-i interface] host\n", progname);
+		"Usage: %s [-i interface | -p pcapfile] host\n", progname);
 	exit(1);
 }
 
@@ -126,7 +126,7 @@
 		if (auth == NULL)
 			auth = "";
 		if (vhost == NULL)
-			vhost = libnet_host_lookup(addr->daddr, 0);
+			vhost = libnet_addr2name4(addr->daddr, 0);
 		
 		snprintf(cmd, sizeof(cmd), "openURL(http://%s%s%s%s)",
 			 auth, *auth ? "@" : "", vhost, uri);
@@ -184,11 +184,14 @@
 	extern int optind;
 	int c;
 	
-	while ((c = getopt(argc, argv, "i:h?V")) != -1) {
+	while ((c = getopt(argc, argv, "i:p:h?V")) != -1) {
 		switch (c) {
 		case 'i':
 			nids_params.device = optarg;
 			break;
+		case 'p':
+			nids_params.filename = optarg;
+			break;
 		default:
 			usage();
 		}
@@ -202,7 +205,7 @@
 	cmdtab[0] = cmd;
 	cmdtab[1] = NULL;
 	
-	if ((host = libnet_name_resolve(argv[0], 1)) == -1)
+	if ((host = libnet_name2addr4(NULL, argv[0], 1)) == -1)
 		errx(1, "unknown host");
 	
 	if ((dpy = XOpenDisplay(NULL)) == NULL)
@@ -216,7 +219,13 @@
 	
 	nids_register_tcp(sniff_http_client);
 
-	warnx("listening on %s", nids_params.device);
+        if (nids_params.filename == NULL) {
+                warnx("listening on %s", nids_params.device);
+        }
+        else {
+                warnx("using %s", nids_params.filename);
+        }
+
 
 	nids_run();
 	
diff --exclude='*~' -Naur dsniff-2.4.orig/webspy.c.orig dsniff-2.4/webspy.c.orig
--- dsniff-2.4.orig/webspy.c.orig	1969-12-31 21:00:00.000000000 -0300
+++ dsniff-2.4/webspy.c.orig	2006-01-21 18:56:40.000000000 -0200
@@ -0,0 +1,235 @@
+/*
+ * webspy.c
+ *
+ * Sniff a user's web session, follow it real-time in our browser.
+ *
+ * Copyright (c) 1999 Dug Song <dugsong@monkey.org>
+ *
+ * $Id: webspy.c,v 1.28 2001/03/15 08:33:05 dugsong Exp $
+ */
+
+#include "config.h"
+
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
+#include <netdb.h>
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <err.h>
+#include <X11/Xlib.h>
+#include <libnet.h>
+#include <nids.h>
+
+#include "base64.h"
+#include "buf.h"
+#include "version.h"
+
+/* for jwz's remote.c. */
+extern int mozilla_remote_commands (Display *, Window, char **);
+char	*expected_mozilla_version = "4.7";
+char	*progname = "webspy";
+
+Display		*dpy;
+char		 cmd[2048], *cmdtab[2];
+in_addr_t	 host;
+
+static void
+usage(void)
+{
+	fprintf(stderr, "Version: " VERSION "\n"
+		"Usage: %s [-i interface | -p pcapfile] host\n", progname);
+	exit(1);
+}
+
+static int
+is_display_uri(char *uri)
+{
+	static char *good_prefixes[] = { NULL };
+	static char *good_suffixes[] = { ".html", ".htm", "/", ".shtml",
+					 ".cgi", ".asp", ".php3", ".txt",
+					 ".xml", ".asc", NULL };
+	int len, slen;
+	char **pp, *p;
+	
+	/* Get URI length, without QUERY_INFO */
+	if ((p = strchr(uri, '?')) != NULL) {
+		len = p - uri;
+	}
+	else len = strlen(uri);
+	
+	for (pp = good_suffixes; *pp != NULL; pp++) {
+		if (len < (slen = strlen(*pp))) continue;
+		if (strncasecmp(&uri[len - slen], *pp, slen) == 0)
+			return (1);
+	}
+	for (pp = good_prefixes; *pp != NULL; pp++) {
+		if (len < (slen = strlen(*pp))) continue;
+		if (strncasecmp(uri, *pp, slen) == 0)
+			return (1);
+	}
+	return (0);
+}
+
+/*
+  XXX - we should really be sniffing (and HTML-parsing) the returned
+  pages, not just the request URLs. this is why we don't handle
+  frames, some CGIs, banner ads, etc. correctly.
+*/
+static int
+process_http_request(struct tuple4 *addr, u_char *data, int len)
+{
+	struct buf *msg, buf;
+	char *p, *req, *uri, *vhost, *auth;
+	int i;
+
+	buf_init(&buf, data, len);
+	
+	while ((i = buf_index(&buf, "\r\n\r\n", 4)) >= 0) {
+		msg = buf_tok(&buf, NULL, i);
+		msg->base[msg->end] = '\0';
+		buf_skip(&buf, 4);
+
+		req = strtok(buf_ptr(msg), "\r\n");
+
+		if (strncmp(req, "GET ", 4) != 0 &&
+		    strncmp(req, "POST ", 5) != 0 &&
+		    strncmp(req, "CONNECT ", 8) != 0)
+			continue;
+		
+		vhost = auth = NULL;
+		uri = strchr(req, ' '); *uri++ = '\0'; strtok(uri, " ");
+		
+		if (strncmp(uri, "http://", 7) == 0) {
+			vhost = uri + 7;
+			uri = strchr(vhost, '/');
+			memmove(uri + 1, uri, strlen(uri));
+		}
+		if (!is_display_uri(uri))
+			continue;
+		
+		while ((p = strtok(NULL, "\r\n")) != NULL) {
+			if (strncasecmp(p, "Authorization: Basic ", 21) == 0) {
+				p += 21;
+				i = base64_pton(p, p, strlen(p));
+				p[i] = '\0';
+				auth = p;
+			}
+			else if (strncasecmp(p, "Host: ", 6) == 0) {
+				vhost = p + 6;
+			}
+		}
+		if (auth == NULL)
+			auth = "";
+		if (vhost == NULL)
+			vhost = libnet_host_lookup(addr->daddr, 0);
+		
+		snprintf(cmd, sizeof(cmd), "openURL(http://%s%s%s%s)",
+			 auth, *auth ? "@" : "", vhost, uri);
+		fprintf(stderr, "%s\n", cmd);
+		
+		mozilla_remote_commands(dpy, 0, cmdtab);
+	}
+	return (len - buf_len(&buf));
+}
+
+static void
+sniff_http_client(struct tcp_stream *ts, void **yoda)
+{
+	int i;
+	
+	/* Only handle HTTP client traffic. */
+	if (ts->addr.saddr != host ||
+	    (ts->addr.dest != 80 && ts->addr.dest != 3128 &&
+	     ts->addr.dest != 8080))
+		return;
+	
+	switch (ts->nids_state) {
+	case NIDS_JUST_EST:
+		/* Collect data. */
+		ts->server.collect = 1;
+		
+	case NIDS_DATA:
+		if (ts->server.count_new != 0) {
+			i = process_http_request(&ts->addr, ts->server.data,
+						 ts->server.count -
+						 ts->server.offset);
+			nids_discard(ts, i);
+		}
+		break;
+		
+	default:
+		if (ts->server.count != 0) {
+			process_http_request(&ts->addr, ts->server.data,
+					     ts->server.count -
+					     ts->server.offset);
+		}
+		break;
+	}
+}
+
+static void
+null_syslog(int type, int errnum, struct ip *iph, void *data)
+{
+}
+
+int
+main(int argc, char *argv[])
+{
+	extern char *optarg;
+	extern int optind;
+	int c;
+	
+	while ((c = getopt(argc, argv, "i:p:h?V")) != -1) {
+		switch (c) {
+		case 'i':
+			nids_params.device = optarg;
+			break;
+		case 'p':
+			nids_params.filename = optarg;
+			break;
+		default:
+			usage();
+		}
+	}
+	argc -= optind;
+	argv += optind;
+	
+	if (argc != 1)
+		usage();
+	
+	cmdtab[0] = cmd;
+	cmdtab[1] = NULL;
+	
+	if ((host = libnet_name_resolve(argv[0], 1)) == -1)
+		errx(1, "unknown host");
+	
+	if ((dpy = XOpenDisplay(NULL)) == NULL)
+		errx(1, "connection to local X server failed!");
+	
+	nids_params.scan_num_hosts = 0;
+	nids_params.syslog = null_syslog;
+	
+	if (!nids_init())
+		errx(1, "%s", nids_errbuf);
+	
+	nids_register_tcp(sniff_http_client);
+
+        if (nids_params.filename == NULL) {
+                warnx("listening on %s", nids_params.device);
+        }
+        else {
+                warnx("using %s", nids_params.filename);
+        }
+
+
+	nids_run();
+	
+	/* NOTREACHED */
+	
+	exit(0);
+}

Added contrib/dsniff/dsniff-httppostfix.patch.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
--- decode_http.c.orig	2000-12-19 07:38:05.000000000 +0800
+++ decode_http.c	2006-03-05 22:32:14.000000000 +0800
@@ -139,14 +139,14 @@
 				host = p;
 			}
 			else if (req[0] == 'P') {
-				if (strncmp(p, "Content-type: ", 14) == 0) {
-					if (strncmp(p + 14, "application/"
+				if (strncasecmp(p, "Content-type: ", 14) == 0) {
+					if (strncasecmp(p + 14, "application/"
 						    "x-www-form-urlencoded",
 						    33) != 0) {
 						query = NULL;
 					}
 				}
-				else if (strncmp(p, "Content-length: ", 16) == 0) {
+				else if (strncasecmp(p, "Content-length: ", 16) == 0) {
 					p += 16;
 					i = atoi(p);
 					if ((msg = buf_tok(&inbuf, NULL, i)) == NULL)

Added contrib/dstat/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: Versatile resource statistics tool
# URL: http://dag.wieers.com/home-made/dstat/
# Maintainer: Mikhail Kolesnik, mike at openbunker dot org
# Depends on: python

name=dstat
version=0.6.7
release=1
source=(http://dag.wieers.com/home-made/$name/$name-$version.tar.bz2)

build() {
	cd $name-$version
	sed -i s'|mandir = $(datadir)/man|mandir = $(prefix)/man|' Makefile
	make
	make DESTDIR=$PKG install
}

Added contrib/dvdauthor/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: DVD authoring tools.
# URL: http://dvdauthor.sourceforge.net/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Matt Housh, jaeger at morpheus dot net
# Depends on: libxml2 libdvdnav libpng fribidi freetype

name=dvdauthor
version=0.7.0
release=1
source=(http://downloads.sourceforge.net/project/$name/$name/$version/$name-$version.tar.gz)

build() {
	cd $name

	./configure \
		--prefix=/usr \
		--mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added contrib/easytag/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Tag editor for MP3 etc.
# URL: http://easytag.sf.net/
# Maintainer: Antti Nykanen, aon at iki dot fi
# Depends on: gtk, id3lib
# Nice to have: libogg, libvorbis, flac

name=easytag
version=2.1
release=1
source=(http://dl.sf.net/easytag/easytag-$version.tar.bz2)

build() {
	cd easytag-$version
	./configure --prefix=/usr --disable-nls
	make
	make DESTDIR=$PKG install
	rm -rf $PKG/usr/share
}

Added contrib/ebtables/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: A firewalling tool to transparently filter network traffic passing a bridge
# URL: http://ebtables.sourceforge.net/
# Maintainer: Mikhail Kolesnik, mike at openbunker dot org
# Depends on:

name=ebtables
version=2.0.10-2
release=1
source=(http://download.sourceforge.net/$name/$name-v$version.tar.gz \
		$name-makefile.diff)

build() {
	cd $name-v$version
	patch -p1 -i $SRC/$name-makefile.diff
	make
	mkdir -p $PKG/usr/sbin
	make DESTDIR=$PKG install
	rm -rf $PKG/etc/{rc.d,sysconfig}
}

Added contrib/ebtables/README.























>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
README for ebtables

REQUIREMENTS

PRE-INSTALL

POST-INSTALL

RESOURCES
Some info on the kernel configuration is available at:
http://ebtables.sourceforge.net/download.html

Added contrib/ebtables/ebtables-makefile.diff.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
diff -Nru ebtables-v2.0.10-2-orig/Makefile ebtables-v2.0.10-2/Makefile
--- ebtables-v2.0.10-2-orig/Makefile	2011-12-02 18:19:17.150077039 +0200
+++ ebtables-v2.0.10-2/Makefile	2011-12-02 18:20:51.744854053 +0200
@@ -10,10 +10,10 @@
 
 # default paths
 LIBDIR:=/usr/lib
-MANDIR:=/usr/local/man
-BINDIR:=/usr/local/sbin
+MANDIR:=/usr/man
+BINDIR:=/usr/sbin
 ETCDIR:=/etc
-INITDIR:=/etc/rc.d/init.d
+INITDIR:=/etc/rc.d
 SYSCONFIGDIR:=/etc/sysconfig
 DESTDIR:=
 

Added contrib/efibootmgr/Pkgfile.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Description: manipulate efi boot managers
# URL: http://linux.dell.com/efibootmgr/
# Maintainer:  Thomas Penteker, tek at serverop dot de

name=efibootmgr
version=0.5.4
release=1
source=(http://linux.dell.com/efibootmgr/efibootmgr-$version.tar.gz)

build() {
  cd $name-$version
	make
  install -D src/efibootmgr/efibootmgr $PKG/usr/sbin/efibootmgr
  install -D src/man/man8/efibootmgr.8 $PKG/usr/man/man8/efibootmgr.8
}

Added contrib/egenix-mx-base/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Collection of professional quality Python software tools.
# URL: http://www.egenix.com/products/python/mxBase/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com
# Depends on: python

name=egenix-mx-base
version=3.1.2
release=1
source=(http://downloads.egenix.com/python/egenix-mx-base-$version.tar.gz)

build() {
	cd egenix-mx-base-$version
	python setup.py install --root=$PKG
	
	find $PKG -type d -name 'Doc' | xargs rm -rf '{}' \;
	find $PKG \( -name 'README' -o -name 'LICENSE' -o -name 'COPYRIGHT' \) -delete
}

Added contrib/elilo/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: ELILO EFI boot loader
# URL:         http://elilo.sf.net/
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Depends on:  gnu-efi

name=elilo
version=3.14
release=1
source=(http://download.sourceforge.net/${name}/${name}-${version}-all.tar.gz)
build() {
  tar xzf elilo-$version-source.tar.gz
  cd elilo
  make -j1
  install -D elilo.efi $PKG/usr/share/elilo/elilo.efi
  install -D tools/eliloalt $PKG/usr/sbin/eliloalt
}

Added contrib/elilo/README.







>
>
>
1
2
3
Note: for eliloalt to work you have to enable
  CONFIG_EFI_VARS
in your kernel config.

Added contrib/em8300/Pkgfile.





























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# Description:	Linux DXR3 and Hollywood+ Driver
# URL:		http://dxr3.sf.net
# Maintainer:	Alan Mizrahi, alan at mizrahi dot com dot ve
# Depends on:

name=em8300
version=0.15.4cvs2
release=2
source=(http://download.sourceforge.net/dxr3/$name-0.15.3.tar.gz em8300_kernel_2.6.17_2.patch.gz em8300_zoom.patch.gz em8300_ntsc_pos.patch.gz em8300_ntsc_default.patch.gz)

build () {
	cd $name-0.15.3
	# Changes to work with kernel 2.6.17 or superior
	zcat ../em8300_kernel_2.6.17_2.patch.gz | patch -p0
	# Enables the usage of a zoom factor in /sys/class/em8300/em8300-0/device/zoom
	zcat ../em8300_zoom.patch.gz | patch -p0
	# Fixes the position for ntsc video signal
	zcat ../em8300_ntsc_pos.patch.gz | patch -p0
	# Makes ntsc the default (you can change this with em8300setup, but you can comment this)
	zcat ../em8300_ntsc_default.patch.gz | patch -p1
	./configure --prefix=/usr
	make
	make DESTDIR=$PKG install
	cd modules
	make
	make DESTDIR=$PKG install
	rm -rf $PKG/usr/share/em8300 $PKG/usr/bin/{autocal,dhc,dxr3view}
#	mkdir -p $PKG/etc/udev/rules.d
#	install -m 644 em8300-udev.rules $PKG/etc/udev/rules.d/90-em8300.rules
}

Added contrib/em8300/README.



























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
REQUIREMENTS

PRE-INSTALL

POST-INSTALL

	* Run depmod -a

	* You may edit your /etc/modprobe.conf, I use this settings:

alias em8300-1 off
alias char-major-121 em8300
install em8300 /sbin/modprobe bt865 && /sbin/modprobe --ignore-install em8300
options em8300 dicom_fix=0 dicom_control=0 dicom_other_pal=0

	* Edit /etc/rc.modules to load the modules at boot time.

	* You may also run em8300setup to change the default parameters.

	* If you are using udev, you may want to create 
	  /etc/udev/rules.d/xx-em8300.rules with something like:

KERNEL=="em8300*", NAME="%k", OWNER="root", GROUP="em8300", MODE="660"


PRECAUTION
	This port builds em8300 with NTSC by default.
	After installing this port you need to rebuild mplayer to
	add dxr3 support.

Added contrib/em8300/em8300-ntsc.diff.























>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
--- em8300-0.15.3/modules/Makefile.orig	2006-04-09 23:29:04.000000000 -0400
+++ em8300-0.15.3/modules/Makefile	2006-04-09 23:29:59.000000000 -0400
@@ -69,7 +69,7 @@
 endif
 
 EXTRA_CFLAGS := -I$(EM8300_DIR)/include \
-		-DEM8300_VIDEOMODE_DEFAULT=EM8300_VIDEOMODE_PAL \
+		-DEM8300_VIDEOMODE_DEFAULT=EM8300_VIDEOMODE_NTSC \
 		-DEM8300_AUDIOMODE_DEFAULT=EM8300_AUDIOMODE_ANALOG \
 		-DEM8300_VERSION=\"$(EM8300_VERSION)\" \
 		-DCONFIG_ADV717X_PIXELPORT16BIT -DCONFIG_ADV717X_PIXELPORTPAL \

Added contrib/em8300/em8300_kernel_2.6.17_2.patch.gz.

cannot compute difference between binary files

Added contrib/em8300/em8300_ntsc_default.patch.gz.

cannot compute difference between binary files

Added contrib/em8300/em8300_ntsc_pos.patch.gz.

cannot compute difference between binary files

Added contrib/em8300/em8300_zoom.patch.gz.

cannot compute difference between binary files

Added contrib/enchant/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description: Generic Spell Checking Library.
# URL: http://www.abisource.com/enchant/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: James Mills, prologic at shortcircuit dot net dot au
# Depends on: aspell glib

name=enchant
version=1.6.0
release=1
source=(http://www.abisource.com/downloads/enchant/$version/enchant-$version.tar.gz)

build() {
	cd enchant-$version

	./configure \
		--prefix=/usr \
		--mandir=/usr/man \
		--disable-dependency-tracking

	make
	make DESTDIR=$PKG install
}

Added contrib/enemy-territory/Pkgfile.

























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# Description: (FPS) computer game, and a standalone sequel to Return to Castle Wolfenstein.
# URL: http://www.enemy-territory.com/
# Maintainer: Jose V Beneyto, sepen at users dot sourceforge dot net
# Packager: Jose V Beneyto, sepen at users dot sourceforge dot net
# Depends on: xorg

name=enemy-territory
version=2.60b
release=5
source=(ftp://ftp.ntua.gr/pub/vendors/idgames/idstuff/et/linux/et-linux-2.60.x86.run \
        ftp://ftp.ntua.gr/pub/vendors/idgames/idstuff/et/ET-2.60b.zip \
        et ${name}.desktop)

build() {
  chmod +x et-linux-2.60.x86.run
  ./et-linux-2.60.x86.run --noexec --target tmp
  install -d ${PKG}/usr/share/${name}/{etmain/video,pb/htm}
  install -m 0644 tmp/etmain/*.{pk3,so,cfg,dat} ${PKG}/usr/share/${name}/etmain
  install -m 0644 tmp/etmain/video/* ${PKG}/usr/share/${name}/etmain/video
  install -m 0644 tmp/pb/*.{so,x86,db} ${PKG}/usr/share/${name}/pb
  install -m 0644 tmp/pb/htm/* ${PKG}/usr/share/${name}/pb/htm
  install -D -m 0644 tmp/ET.xpm ${PKG}/usr/share/pixmaps/et.xpm
  install -D -m 0644 ${SRC}/${name}.desktop ${PKG}/usr/share/applications/${name}.desktop
  # 2.60b patch
  install -m 0755 Enemy\ Territory\ 2.60b/linux/*.x86 ${PKG}/usr/share/${name}
  install -D -m 0755 ${SRC}/et ${PKG}/usr/bin/et
  ln -sf /usr/bin/et ${PKG}/usr/bin/${name}
}

Added contrib/enemy-territory/README.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

README for enemy-territory 2.60b


POST-INSTALL

  To have punkbuster up to date you need to download the lastest pbsetup.run
  (http://websec.evenbalance.com/downloads/linux/pbsetup.run)
  Execute it and setup the game you want in grafical mode (gtk) or from the 
  command line as shown:

  $ cd /tmp; wget http://websec.evenbalance.com/downloads/linux/pbsetup.run
  $ chmod +x pbsetup.run; ./pbsetup.run -l
  $ sed -i 's|/usr/local/games/enemy-territory|/usr/share/enemy-territory|' pbgame.htm
  $ ./pbsetup.run --i-accept-the-pb-eula --add-game=et

Added contrib/enemy-territory/enemy-territory.desktop.



















>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
[Desktop Entry]
Encoding=UTF-8
Name=Enemy Territory
Comment=Wolfstein Enemy Territory
Exec=/usr/bin/enemy-territory
Icon=et.xpm
Terminal=false
Type=Application
Categories=Application;Games;

Added contrib/enemy-territory/et.

















>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
#!/bin/sh

cd /usr/share/enemy-territory
./et.x86 $@
cd -

# End of File

Added contrib/ethtool/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: Linux net driver diagnostic and tuning tool
# URL: http://sourceforge.net/projects/gkernel/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Manuel Ruiz, manuel dot tienza at gmail dot com
# Depends on:

name=ethtool
version=2.6.36
release=1
source=(http://download.sourceforge.net/gkernel/$name-$version.tar.gz)

build() {
  cd $name-$version

  ./configure --prefix=/usr \
              --mandir=/usr/man

  make
  make DESTDIR=$PKG install
}

Added contrib/eventlog/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description: replacement of the simple syslog() API
# URL:         http://www.balabit.com/network-security/syslog-ng/opensource-logging-system
# Maintainer:  Thomas Penteker, tek at serverop dot de
#
# Depends on:

name=eventlog
version=0.2.12
release=1
source=(http://ftp.uni-erlangen.de/pub/mirrors/gentoo/distfiles/${name}_${version}.tar.gz)

build() {
   cd $name-$version

   ./configure \
      --prefix=/usr \
      --disable-nls \
      --mandir=/usr/man

   make && make DESTDIR=$PKG install
   rm -rf $PKG/usr/doc
}

Added contrib/exiftool/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: Perl library and a command-line application for manipulating some media files meta information
# URL: http://www.sno.phy.queensu.ca/~phil/exiftool/
# Maintainer: Mikhail Kolesnik, mike at openbunker dot org
# Depends on:

name=exiftool
version=8.80
release=1
source=(http://www.sno.phy.queensu.ca/~phil/exiftool/Image-ExifTool-$version.tar.gz)

build() {
	cd Image-ExifTool-$version
	perl Makefile.PL
	make OPTIMIZE="${CFLAGS}"
	make DESTDIR=${PKG} install
	rm $PKG/usr/lib/perl5/site_perl/5.??/Image/ExifTool/README
	find $PKG -name "perllocal.pod" -delete
	find $PKG -name ".packlist" -delete
	find $PKG -depth -type d -empty -delete
}

Added contrib/exiv2/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description:	Exif and Iptc metadata manipulation library and tools.
# URL:		http://home.arcor.de/ahuggel/exiv2/index.html
# Maintainer:	Alan Mizrahi, alan at mizrahi dot com dot ve
# Depends on:

name=exiv2
version=0.21.1
release=1
source=(http://www.exiv2.org/exiv2-$version.tar.gz)

build() {
	cd $name-$version
	./configure --prefix=/usr --disable-nls
	make
	make prefix=$PKG/usr install
	mv $PKG/usr/share/man $PKG/usr
	rmdir $PKG/usr/share
}

Added contrib/extremetuxracer/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: Downhill racing game starring Tux.
# URL: http://extremetuxracer.com/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com
# Depends on: freetype libpng sdl_mixer tcl xorg-libxi xorg-libxmu

name=extremetuxracer
version=0.5beta
release=2
source=(http://downloads.sourceforge.net/project/$name/extreme-tuxracer/$version/$name-$version.tar.gz
	extreme-tuxracer-0.5beta-png.patch)

build() {
	cd extreme-tuxracer-$version
	patch -p 1 -i $SRC/extreme-tuxracer-0.5beta-png.patch
	./configure --prefix=/usr
	make
	make DESTDIR=$PKG install
	rm -r $PKG/usr/share/locale
}

Added contrib/extremetuxracer/extreme-tuxracer-0.5beta-png.patch.



























>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
diff -pruN extreme-tuxracer-0.5beta.orig/src/ppgltk/images/png_reader.h extreme-tuxracer-0.5beta/src/ppgltk/images/png_reader.h
--- extreme-tuxracer-0.5beta.orig/src/ppgltk/images/png_reader.h	2011-05-12 14:27:02.647999007 +0000
+++ extreme-tuxracer-0.5beta/src/ppgltk/images/png_reader.h	2011-05-12 14:30:52.270998929 +0000
@@ -19,6 +19,9 @@
 #ifndef _PNG_READER_H
 #define _PNG_READER_H
 
+#define png_infopp_NULL (png_infopp)NULL
+#define int_p_NULL (int*)NULL
+
 #include "image.h"
 
 #include <png.h>

Added contrib/faac/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: Free MPEG-4 audio codecs from AudioCoding.com
# URL: http://www.audiocoding.com/
# Maintainer: Matt Housh, jaeger at morpheus dot net
# Depends on: faad2

name=faac
version=1.28
release=2
source=(http://download.sourceforge.net/$name/$name-$version.tar.bz2 \
	$name-$version-external-libmp4v2.patch)

build () {
	cd $name-$version
	patch -p1 -i $SRC/$name-$version-external-libmp4v2.patch
	chmod +x bootstrap
	./bootstrap
	./configure --prefix=/usr
	make CFLAGS="$CFLAGS"
	make prefix=$PKG/usr mandir=$PKG/usr/man install
}

Added contrib/faac/faac-1.28-external-libmp4v2.patch.































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
diff -ur faac-1.28.orig/configure.in faac-1.28/configure.in
--- faac-1.28.orig/configure.in	2009-02-05 02:55:38.000000000 +0200
+++ faac-1.28/configure.in	2009-07-10 13:21:34.000000000 +0300
@@ -28,14 +28,17 @@
 AC_CHECK_LIB(gnugetopt, getopt_long)
 
 AM_CONDITIONAL(WITH_MP4V2, false)
+AM_CONDITIONAL(WITH_EXTERNAL_MP4V2, false)
 
 AC_CHECK_DECLS([MP4Create, MP4MetadataDelete],
                AC_CHECK_LIB(mp4v2, MP4MetadataDelete, external_mp4v2=yes,
                             external_mp4v2=no, -lstdc++),
-               external_mp4v2=no, [#include <mp4.h>])
+               external_mp4v2=no, [#include <mp4v2/mp4v2.h>])
 
 if test x$external_mp4v2 = xyes; then
   AC_MSG_NOTICE([*** Building with external mp4v2 ***])
+  MY_DEFINE(HAVE_LIBMP4V2)
+  AM_CONDITIONAL(WITH_EXTERNAL_MP4V2, true)
 else
   if test x$WITHMP4V2 = xyes; then
      AC_MSG_NOTICE([*** Building with internal mp4v2 ***])
diff -ur faac-1.28.orig/frontend/main.c faac-1.28/frontend/main.c
--- faac-1.28.orig/frontend/main.c	2009-01-24 03:10:20.000000000 +0200
+++ faac-1.28/frontend/main.c	2009-07-10 13:22:18.000000000 +0300
@@ -30,7 +30,7 @@
 #endif
 
 #ifdef HAVE_LIBMP4V2
-# include <mp4.h>
+# include <mp4v2/mp4v2.h>
 #endif
 
 #define DEFAULT_TNS     0
diff -ur faac-1.28.orig/frontend/Makefile.am faac-1.28/frontend/Makefile.am
--- faac-1.28.orig/frontend/Makefile.am	2008-12-16 02:56:00.000000000 +0200
+++ faac-1.28/frontend/Makefile.am	2009-07-10 13:21:55.000000000 +0300
@@ -8,5 +8,9 @@
 LDADD = $(top_builddir)/libfaac/libfaac.la $(top_srcdir)/common/mp4v2/libmp4v2.a -lm -lstdc++
 else
 INCLUDES = -I$(top_srcdir)/include 
+if WITH_EXTERNAL_MP4V2
+LDADD = $(top_builddir)/libfaac/libfaac.la -lm -lmp4v2
+else
 LDADD = $(top_builddir)/libfaac/libfaac.la -lm
 endif
+endif

Added contrib/faad2/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: An HE, LC, MAIN and LTP profile MPEG2 and MPEG-4 AAC decoder
# URL: http://www.audiocoding.com/
# Maintainer: Matt Housh, jaeger at morpheus dot net
# Depends on: libsndfile, id3lib, libmp4v2

name=faad2
version=2.7
release=1
source=(http://download.sourceforge.net/faac/$name-$version.tar.bz2)

build() {
	cd $name-$version
	./configure --prefix=/usr \
		--enable-mp4v2
	(cd libfaad && make DESTDIR=$PKG install)
	(cd common && make DESTDIR=$PKG install)
	install -m 0644 common/mp4ff/mp4ff_int_types.h $PKG/usr/include
}

Added contrib/fbgrab/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: framebuffer screenshot program
# URL:         http://hem.bredband.net/gmogmo/fbgrab/
# Maintainer:  Bartlomiej Palmowski, rotwang at crux dot org dot pl
# Depends on:  libpng 

name=fbgrab
version=1.0
release=4
source=(http://hem.bredband.net/gmogmo/$name/$name-$version.tar.gz)

build() {
    cd $name-$version
    gcc $CFLAGS fbgrab.c -lpng -lz -o fbgrab
    install -D -m 0755 $name $PKG/usr/bin/$name
    install -D -m 0644 $name.1.man $PKG/usr/man/man1/$name.1
}

Added contrib/fbshot/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: A screenshot capturing program for the framebuffer console
# URL:         http://www.sfires.net/fbshot/
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Depends on:  libpng

name=fbshot
version=0.3
release=1
source=(http://distro.ibiblio.org/pub/linux/distributions/amigolinux/download/Utils/$name/$name-$version.tar.gz)

build() {
   cd $name-$version
   sed -i -e "s|/usr/|$PKG/usr/|g" Makefile
   install -d $PKG/usr/bin $PKG/usr/man/man1
   make && make install
}

Added contrib/feedparser/Pkgfile.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Description: Parse RSS and Atom feeds in Python
# URL: http://feedparser.org/
# Maintainer: Jose V Beneyto, sepen at users dot sourceforge dot net
# Packager: James Mills, prologic at shortcircuit dot net dot au
# Depends on: python

name=feedparser
version=5.0
release=1
source=(http://feedparser.googlecode.com/files/$name-$version.tar.bz2)

build() {
  cd $name-$version
  python setup.py install --root=$PKG
}

Added contrib/feh/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: A fast commandline-driven image viewer for X.
# URL:         http://linuxbrit.co.uk/software/feh
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    Vincenzo Colosimo vico at bicisport dot de
# Depends on:  giblib

name=feh
version=2.5
release=1
source=(https://derf.homelinux.org/projects/feh/feh-$version.tar.bz2)

build() {
   cd $name-$version

   sed -i 's|share/man|man|g' config.mk
   make PREFIX=/usr && make PREFIX=/usr DESTDIR=$PKG install
   rm -rf $PKG/usr/share/doc
}

Added contrib/ffmpeg/Pkgfile.



















































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# Description: Complete solution to record, convert and stream audio and video.
# URL: http://ffmpeg.org/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Matt Housh, jaeger at crux dot nu
# Depends on: faac imlib2 lame libsdl libtheora libxvid x264 opencore-amr speex libva

name=ffmpeg
version=0.10.2
release=1
source=(http://ffmpeg.org/releases/$name-$version.tar.bz2)

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--mandir=/usr/man \
		--enable-vaapi \
		--enable-gpl \
		--enable-version3 \
		--enable-avfilter \
		--enable-libopencore-amrnb \
		--enable-libopencore-amrwb \
		--enable-libfaac \
		--enable-libmp3lame \
		--enable-libspeex \
		--enable-libtheora \
		--enable-libvorbis \
		--enable-libx264 \
		--enable-libxvid \
		--enable-shared \
		--enable-pthreads \
		--enable-postproc \
		--enable-x11grab \
		--enable-nonfree \
		--disable-debug \
		--disable-doc

	make SHARED_PP='yes'
	make DESTDIR=$PKG install install-man
}

Added contrib/fftw/Pkgfile.































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# Description: C subroutine library for computing discrete Fourier transform.
# URL: http://www.fftw.org/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: acrux, acrux at linuxmail dot org
# Depends on: 
# Optional: gcc-fortran

name=fftw
version=3.3.1
release=1
source=(http://www.fftw.org/$name-$version.tar.gz)

build() {
	cd $name-$version

	local config="\
--prefix=/usr \
--mandir=/usr/man \
--enable-threads \
--with-gnu-ld \
--enable-shared"

	# compiling long double precision library
	./configure \
		$config \
		--enable-long-double

	make
	make DESTDIR=$PKG install
	make clean

	# compiling single precision library
	./configure \
		$config \
		--enable-single

	make
	make DESTDIR=$PKG install
	make clean

	# compiling double precision library
	./configure $config

	make
	make DESTDIR=$PKG install
	rm -r $PKG/usr/share
}

Added contrib/fgetty/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Small getty for Linux
# URL: http://www.fefe.de/fgetty/
# Maintainer:	Alan Mizrahi, alan at mizrahi dot com dot ve
# Depends on: dietlibc

name=fgetty
version=0.6
release=1
source=(http://www.fefe.de/$name/$name-$version.tar.bz2 $name-$version.patch)

build() {
	cd $name-$version
	patch -p1 < ../$name-$version.patch
	make DIET="/usr/dietlibc/bin/diet"
	mkdir -p $PKG/usr/man/man8
	make DESTDIR=$PKG install
	rm -f $PKG/bin/{login1,login2,checkpassword.login}
}

Added contrib/fgetty/README.



























>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
REQUIREMENTS

PRE-INSTALL

POST-INSTALL

	* Add fgetty to your /etc/inittab, I use this:
c1:123:respawn:/sbin/fgetty tty1
c2:23:respawn:/sbin/fgetty tty2
c3:23:respawn:/sbin/fgetty tty3
c4:23:respawn:/sbin/fgetty tty4

PRECAUTION

Added contrib/fgetty/fgetty-0.6.patch.

















































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
--- fgetty-0.6/fgetty.c.orig	2005-11-25 12:35:04.000000000 -0400
+++ fgetty-0.6/fgetty.c	2005-11-25 12:35:47.000000000 -0400
@@ -10,9 +10,13 @@
 #include <sys/ioctl.h>
 #include <errno.h>
 #include <termios.h>
+#include <stdlib.h>
 
 #include "fmt.h"
 
+#undef TEST
+#undef DEBUG
+
 static struct utsname uts;
 static char hn[MAXHOSTNAMELEN + 6]="HOST=";
 static int hn_len=5;
@@ -21,8 +25,12 @@
 
 static int noclear=0;
 
-void error(char *message,int exitcode) {
+void whine(const char* message) {
   write(2,message,strlen(message));
+}
+
+void error(char *message,int exitcode) {
+  whine(message);
   exit(exitcode);
 }
 
@@ -77,22 +85,26 @@
   struct sigaction sa;
   int fd;
   if (chown(tty,0,0) || chmod(tty,0600))
-    error("could not chown/chmod tty device\n",1);
+    error("fgetty: could not chown/chmod tty device\n",1);
   sa.sa_handler=SIG_IGN;
   sa.sa_flags=0;
   sigemptyset(&sa.sa_mask);
   sigaction(SIGHUP,&sa,NULL);
   sa.sa_handler=sigquit_handler;
   sigaction(SIGQUIT,&sa,NULL);
-  if ((fd=open(tty, O_RDWR, 0))<0 || ioctl (fd, TIOCSCTTY, (void *)1)==-1)
-    error("could not open tty device\n",3);
+  setsid();
+  if ((fd=open(tty, O_RDWR, 0))<0)
+    error("fgetty: could not open tty device\n",3);
   if (!isatty(fd))
-    error("\"not a typewriter\" ;-)\n",4);
-  if (vhangup())	/* linux specific */
-    error("vhangup failed\n",5);
+    error("fgetty: \"not a typewriter\" ;-)\n",4);
+  if (ioctl (fd, TIOCSCTTY, (void *)1)==0) {
+    if (vhangup())	/* linux specific */
+      error("fgetty: vhangup failed\n",5);
+  } else
+    whine("fgetty: warning: could not set controlling tty!\n");
   close(2); close(1); close(0); close(fd);
   if (open(tty,O_RDWR,0) != 0)
-    error("could not open tty\n",6);
+    error("fgetty: could not open tty\n",6);
   if (dup(0) != 1 || dup(0) != 2)
     error("could not dup stdout and stderr\n",7);
   if (!noclear)
@@ -211,7 +223,7 @@
   write(1," login: ",8);
 }
 
-static inline int isprint(char c) {
+static inline int _isprint(char c) {
   return ((c>='A' && c<='Z') ||
           (c>='a' && c<='z') ||
           (c>='0' && c<='9') ||
@@ -233,7 +245,7 @@
       if (*c == '\n' || *c == '\r') {
 	*c=0;
 	break;
-      } else if (!isprint(*c))
+      } else if (!_isprint(*c))
 	error("unprintable character in login name\n",10);
       else if (c-logname >= sizeof(logname)-1)
 	error("login name too long\n",11);
@@ -260,9 +272,20 @@
   int  i;
   char hostname_end='.';
   tty=argv[1];
+  if (!tty)
+    error("usage: fgetty 1\n"
+	  "       fgetty vc/1\n"
+	  "       fgetty /dev/tty1\n",111);
   if (tty[0]=='/')
     strncpy(ttybuf,tty,15);
-  else
+  else if (isdigit(tty[0])) {
+    struct stat ss;
+    /* try prepending /dev/vc/1 and /dev/tty1 */
+    strcpy(ttybuf,"/dev/vc/"); strncpy(ttybuf+8,tty,3);
+    if (stat(ttybuf,&ss) && errno==ENOENT) {
+      ttybuf[5]=ttybuf[6]='t'; ttybuf[7]='y';
+    }
+  } else
     strncpy(ttybuf+5,tty,10);
   tty=ttybuf;
   strcpy(ttybuf2+4,ttybuf);

Added contrib/figlet/Pkgfile.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Description: make large letters out of ordinary text
# URL:         http://www.figlet.org
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Depends on:  

name=figlet
version=2.2.4
release=1
source=(ftp://ftp.figlet.org/pub/figlet/program/unix/$name-$version.tar.gz)

build () {
  cd $name-$version
  sed -i -e 's|DEFAULTFONTDIR.*|DEFAULTFONTDIR = "/usr/share/figlet/"|' Makefile
  echo '#include <stdlib.h>' 
  gcc -DDEFAULTFONTDIR=\"/usr/share/figlet\" \
      -DDEFAULTFONTFILE=\"standard.flf\" \
      figlet.c zipio.c crc.c inflate.c -o figlet
  gcc -o chkfont chkfont.c
  install -D -m 755 figlet $PKG/usr/bin/figlet
  install -D -m 755 chkfont $PKG/usr/bin/chkfont
  install -D -m 755 figlet.6 $PKG/usr/man/man6/figlet.6
  install -d -m 755 $PKG/usr/share/figlet
  cp -a fonts/* $PKG/usr/share/figlet
}

Added contrib/filezilla/Pkgfile.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Description: ftp client
# URL:         http://filezilla-project.org
# Maintainer:  Bartlomiej Palmowski, rotwang at crux dot org dot pl
# Depends on:  wxgtk libidn gnutls xdg-utils tinyxml

name=filezilla
version=3.5.3
release=1
source=(http://downloads.sourceforge.net/project/$name/FileZilla_Client/$version/FileZilla_${version}_src.tar.bz2)

build() {
    cd $name-$version
    ./configure \
        --mandir=/usr/man \
        --disable-manualupdatecheck \
        --disable-static \
        --disable-locales \
        --prefix=/usr \
        --without-dbus
    make
    make DESTDIR=$PKG install
    rm -rf $PKG/usr/share/locale
}

Added contrib/fim/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: display / zoom images in framebuffer
# URL:         https://www.autistici.org/dezperado/
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Depends on:  libungif, libtiff, libpng

name=fim
version=0.3-beta-prerelease
release=2
source=(http://download.savannah.nongnu.org/releases/fbi-improved/$name-$version.tar.gz)

build() {
   cd $name-$version
   LDFLAGS="-lncurses" LIBGIF="-lungif" \
    ./configure --prefix=/usr \
                --mandir=/usr/man
   make DESTDIR=$PKG install
   rm -r $PKG/usr/share
}

Added contrib/firefox-djvu-plugin/Pkgfile.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Description: Firefox plugin for DjVu format
# URL: http://djvu.sourceforge.net/
# Maintainer: Mikhail Kolesnik, mike at openbunker dot org
# Depends on: djview4

name=firefox-djvu-plugin
version=3.x.x
release=1
source=()

build() {
	mkdir -p $PKG/usr/lib/firefox/plugins
	ln -s /usr/lib/netscape/plugins/nsdejavu.so \
		$PKG/usr/lib/firefox/plugins
}

Added contrib/flashplayer/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: MacroMedia Flash Player for Linux
# URL:         http://www.adobe.com/shockwave/download/alternates/
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    James Mills, prologic at shortcircuit dot net dot au
#
# Depends on:

name=flashplayer
version=9
release=9
source=(http://download.macromedia.com/pub/flashplayer/updaters/9/flash_player_9_linux_dev.tar.gz)

build() {
  cd flash_player_9_linux_dev/standalone/release
  tar zxvf flashplayer.tar.gz
  mkdir -p $PKG/usr/bin/
  cp flashplayer $PKG/usr/bin/
}

Added contrib/flock/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description: Flock is an amazing new web browser that makes it easier to share media and connect to other people online.
# URL: http://www.flock.com/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Jose V Beneyto, sepen at crux dot nu
# Depends on: gtk

name=flock
version=2.6.1
release=1
source=(http://dl01.flock.com/releases/$version/$name-$version.en-US.linux-i686.tar.bz2 \
        $name-browser $name.desktop)

build() {
  install -d $PKG/usr/{bin,lib}
  rm -f $name/.autoreg
  mv $name $PKG/usr/lib

  install -D -m 0755 $SRC/$name-browser $PKG/usr/bin/$name-browser
  install -D -m 0644 $SRC/$name.desktop $PKG/usr/share/applications/$name.desktop
  install -D -m 0644 $PKG/usr/lib/flock/chrome/icons/default/default48.png \
    $PKG/usr/share/pixmaps/$name.png
}

Added contrib/flock/flock-browser.























>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
#!/bin/sh

FLOCK_HOME=/usr/lib/flock

cd $FLOCK_HOME
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$FLOCK_HOME/components
export PATH=$PATH:$FLOCK_HOME

./flock-bin

# End of file

Added contrib/flock/flock.desktop.



















>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
[Desktop Entry]
Encoding=UTF-8
Name=Flock
Comment=Web Browser
Exec=/usr/bin/flock-browser
Icon=flock.png
Terminal=false
Type=Application
Categories=Application;Network;

Added contrib/floppyd/Pkgfile.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Description: Utilities to access MS-DOS disks without mounting them
# URL: http://mtools.linux.lu/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Jose V Beneyto, sepen at crux dot nu
# Depends on: xorg-libxt

name=floppyd
version=4.0.17
release=1
source=(ftp://ftp.gnu.org/gnu/mtools/mtools-$version.tar.bz2)

build() {
  cd mtools-$version

  ./configure --prefix=/usr \
              --sysconfdir=/etc \
              --enable-floppyd

  make $name ${name}_installtest

  install -d $PKG/usr/{bin,man/man1}
  install -m 0755 $name ${name}_installtest $PKG/usr/bin
  install -m 0644 $name.1 ${name}_installtest.1 $PKG/usr/man/man1
}

Added contrib/fltk/Pkgfile.























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# Description: Cross-platform C++ GUI toolkit for Unix, Windows and Mac OS X.
# URL: http://www.fltk.org/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Ivan Lyanguzov, tzong at tzong dot spb dot ru
# Depends on: alsa-lib libjpeg libpng mesa3d xorg-libxft xorg-libxinerama

name=fltk
version=1.3.0
release=1
source=(http://ftp.easysw.com/pub/fltk/$version/fltk-$version-source.tar.gz)

build() {
	cd fltk-$version

	./configure \
		--prefix=/usr \
		--mandir=/usr/man \
		--enable-threads \
		--disable-static \
		--enable-shared \
		--enable-xft

	make
	make DESTDIR=$PKG install
	chmod a-x $PKG/usr/lib/*.a
	rm -r $PKG/usr/{share,man/cat?}
}

Added contrib/fluidsynth/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: A real-time software synthesizer.
# URL: http://www.fluidsynth.org/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Olle Gustafsson, ogg at linux dot se
# Depends on:

name=fluidsynth
version=1.1.3
release=1
source=(http://download.sourceforge.net/$name/$name-$version.tar.gz)

build() {
  cd $name-$version
  ./configure --prefix=/usr \
              --mandir=/usr/man \
              --disable-debug \
              --disable-nls
  make
  make DESTDIR=$PKG install
}

Added contrib/flup/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: Python modules for setting up a FastCGI server (ex. lighttpd)
# URL: http://trac.saddi.com/flup
# Maintainer: Mikhail Kolesnik, mike at openbunker dot org
# Packager: Lucas Hazel, lucas at die dot net dot au
# Depends on: setuptools

name=flup
version=1.0.2
release=2
source=(http://www.saddi.com/software/$name/dist/$name-$version.tar.gz)

build() {
	cd $name-$version
	python setup.py install --root=$PKG
	find $PKG -name '*egg-info' | xargs rm -rf
}

Added contrib/fluxbox/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: A blackbox based windowmanager
# URL:         http://fluxbox.sf.net
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Depends on:  xorg, imlib2

name=fluxbox
version=1.3.2
release=1
source=(http://download.sourceforge.net/$name/$name-$version.tar.bz2)

build() {
   cd $name-$version

   ./configure \
      --prefix=/usr \
      --disable-nls \
      --mandir=/usr/man

   make && make DESTDIR=$PKG install
   rm -rf $PKG/usr/doc
}

Added contrib/fluxbox/README.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
README for fluxbox

REQUIREMENTS

PRE-INSTALL

POST-INSTALL

RESOURCES

PRECAUTION
The new (v1.1.1) fluxbox binary will convert your 'old' ~/.fluxbox/*-files as
necessary during its first startup. If you want the root-menu to appear if you
right-click the desktop make sure to add the following lines to your
~/.fluxbox/keys:

OnDesktop Mouse1 :hideMenus
OnDesktop Mouse3 :RootMenu

Added contrib/fmod/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: A music & sound effects system.
# URL: http://www.fmod.org/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Jose V Beneyto, sepen at crux dot nu
# Depends on:

name=fmod
version=4.30.04
release=1

source=(http://www.fmod.org/index.php/release/version/${name}api${version[@]//./}linux.tar.gz)

build() {
  install -d $PKG/usr/{lib/$name/plugins,include/$name}
  install -m 0755 ${name}api${version[@]//./}linux/api/{lib/*,plugins/*} $PKG/usr/lib/$name
  install -m 0644 ${name}api${version[@]//./}linux/api/inc/* $PKG/usr/include/$name
  install -m 0755 ${name}api${version[@]//./}linux/fmoddesignerapi/api/lib/* $PKG/usr/lib/$name
  install -m 0644 ${name}api${version[@]//./}linux/fmoddesignerapi/api/inc/* $PKG/usr/include/$name
}

Added contrib/foobillard/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: OpenGL billard game.
# URL: http://foobillard.sourceforge.net/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Daniel Walpole, daniel at walpole dot id dot au
# Depends on: libpng libsdl freetype xorg-libxaw xorg-libxi

name=foobillard
version=3.0a
release=2
source=(http://downloads.sourceforge.net/project/$name/FooBillard-Sources/$name-$version.tar.gz
	foobillard-ttf-$version.patch)

build() {
	cd $name-$version
	patch -p 1 -i ../foobillard-ttf-$version.patch
	./configure --prefix=/usr
	make
	make DESTDIR=$PKG install
}

Added contrib/foobillard/foobillard-ttf-3.0a.patch.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
diff -Nru foobillard-3.0a-orig/src/options.h foobillard-3.0a/src/options.h
--- foobillard-3.0a-orig/src/options.h	2003-11-27 05:32:54.000000000 +0200
+++ foobillard-3.0a/src/options.h	2007-05-07 23:37:43.000000000 +0300
@@ -97,9 +97,9 @@
 #define options_shared_data_path   "/usr/local/shared/foobillard"
 
 #define options_player_fontname    "iomanoid.ttf"
-#define options_help_fontname      "youregon.ttf"
-#define options_menu_fontname      "youregon.ttf"
-#define options_winner_fontname    "youregon.ttf"
+#define options_help_fontname      "bluebold.ttf"
+#define options_menu_fontname      "bluebold.ttf"
+#define options_winner_fontname    "bluebold.ttf"
 #define options_ball_fontname      "bluebold.ttf"
 #define options_score_fontname     "bluebold.ttf"
 #define options_roster_fontname    "bluebold.ttf"

Added contrib/fortune/Pkgfile.





































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# Description: Display a random fortune
# URL: http://www.ibiblio.org/pub/Linux/games/amusements/fortune/
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager: Daniel Mueller, daniel at danm dot de

name=fortune
version=0.2
release=5
source=(http://www.ibiblio.org/pub/Linux/games/amusements/$name/$name-$version.tar.gz \
        $name-$version.patch \
  http://crux.nu/~tek/fortune_big.zip \
  http://www.schwarzvogel.de/pkgs/kernelcookies-8.tar.gz \
  http://www.splitbrain.org/_media/projects/fortunes/fortune-simpsons-chalkboard.tgz \
  http://www.splitbrain.org/_media/projects/fortunes/fortune-discworld.tgz \
  http://crux.nu/files/distfiles/fortune-mod-prog-style.tar.gz)

build(){
  local cookie
  cd $name-$version

  patch -p1 < ../$name-$version.patch
  make

  mkdir -p $PKG/usr/{bin,man/man6,share/games/fortunes}

  install -m 755 $name $PKG/usr/bin/$name
  install -m 644 debian/$name.6 $PKG/usr/man/man6/

  cd $SRC
  for cookie in */prog-style */discworld */chalkboard */kernelcookies fortune
  do
    install -m 644 $cookie $PKG/usr/share/games/fortunes/
  done
}

Added contrib/fortune/fortune-0.2.patch.















































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
diff -Nru fortune-0.2/fortune.c fortune-0.2-new/fortune.c
--- fortune-0.2/fortune.c	1998-10-25 01:05:19.000000000 +0200
+++ fortune-0.2-new/fortune.c	2002-09-15 18:46:36.000000000 +0200
@@ -30,7 +30,7 @@
 #warn Your system headers say that mmap is not supported!
 #endif
 
-#define VERSION "0.1"
+#define VERSION "0.2"
 #define FORTUNEDIR "/usr/share/games/fortunes"
 
 struct option const long_options[] =
@@ -38,6 +38,8 @@
   {"help",     no_argument,       0, 'h'},
   {"help",     no_argument,       0, '?'},
   {"match",    required_argument, 0, 'm'},
+  {"set",      no_argument,       0, 's'},
+  {"out",      no_argument,       0, 'o'},
   {"version",  no_argument,       0, 'V'},
   {(char *)0,  0,                 0, (char)0}
 };
@@ -140,7 +142,7 @@
   char *re;
 
   progname=argv[0]; re=NULL;
-  while ((c = getopt_long(argc, argv, "h?m:V",
+  while ((c = getopt_long(argc, argv, "h?som:V",
 			  long_options, (int *) 0)) != EOF) {
     switch (c) {
       case 0  : break;
@@ -150,6 +152,8 @@
                 return 0;
       case 'V': fprintf(stderr,"%s version %s\n", progname, VERSION);
 		return 0;
+      case 'o': break;
+      case 's': break;
       case 'm': re=optarg;
       default : break;
     }

Added contrib/fpc/Pkgfile.



















































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# Description: A Free Pascal compiler.
# URL: http://www.freepascal.org/
# Packager: Danny Rawlins, monster dot romster at gmail dot com
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com

name=fpc
version=2.4.4
release=2
source=(ftp://ftp.freepascal.org/pub/fpc/dist/$version/source/fpcbuild-$version.tar.gz
	ftp://ftp.freepascal.org/pub/fpc/dist/$version/bootstrap/i386-linux-ppc386.bz2
	ftp://ftp.freepascal.org/pub/fpc/contrib/libgdb/v7.0.1/libgdb_mingw701.zip)

build() {
	bunzip2 i386-linux-ppc386.bz2
	chmod 0755 i386-linux-ppc386

	export LIBGDBDIR=$SRC/libgdb/win32/i386/

	cd fpcbuild-$version/fpcsrc/
	
	make -j 1 PP=$SRC/i386-linux-ppc386 build

	cp $SRC/fpcbuild-$version/fpcsrc/compiler/ppc386 \
		$SRC/fpcbuild-$version/fpcsrc/compiler/ppc386.new

	make -j 1 PP=$SRC/fpcbuild-$version/fpcsrc/compiler/ppc386.new build
	rm $SRC/fpcbuild-$version/fpcsrc/compiler/ppc386.new

	make -j 1 PP=$SRC/fpcbuild-$version/fpcsrc/compiler/ppc386 rtl_clean
	make -j 1 PP=$SRC/fpcbuild-$version/fpcsrc/compiler/ppc386 rtl packages_all utils

	set -- PP=$SRC/fpcbuild-$version/fpcsrc/compiler/ppc386 \
		FPCMAKE=$SRC/fpcbuild-$version/fpcsrc/utils/fpcm/fpcmake \
		INSTALL_PREFIX=$PKG/usr \
		INSTALL_DOCDIR=$PKG/usr/share/doc/fpcbuild \
		INSTALL_MANDIR=$PKG/usr/share/man \
		INSTALL_SOURCEDIR=$PKG/usr/lib/fpc/fpcbuild-$version/source

	make -j 1 "$@" compiler_install rtl_install packages_install utils_install
	ln -sf /usr/lib/fpc/$version/ppc386 $PKG/usr/bin/ppc386
}

Added contrib/fping/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: fping - send ICMP ECHO_REQUEST packets to network hosts.
# URL:         http://www.fping.com/
# Packager:    James Mills, prologic at shortcircuit dot net dot au
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Depends on:

name=fping
version=2.4b2_to
release=1
source=(http://www.mirrorservice.org/sites/ftp.wiretapped.net/pub/security/network-mapping/fping/$name-$version.tar.gz)

build () {
   cd $name-$version
   ./configure --prefix=/usr
   sed -i "/^CFLAGS/s/-O2 -pipe/$CFLAGS/" Makefile
   install -d $PKG/usr/bin
   make && make prefix=$PKG/usr install
   sed "s|$PKG||g" $SRC/$name-$version/$name.8 > $PKG/usr/man/man8/$name.8
   chmod u+s $PKG/usr/sbin/$name
   ln -sf /usr/sbin/$name $PKG/usr/bin/$name
}

Added contrib/freealut/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description: A free implementation of OpenAL's ALUT standard.
# URL: http://connect.creativelabs.com/openal
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Matt Housh, jaeger at crux dot nu
# Depends on: openal

name=freealut
version=1.1.0
release=1
source=(http://connect.creativelabs.com/openal/Downloads/ALUT/freealut-$version.tar.gz)

build() {
	cd freealut-$version

	./configure \
		--prefix=/usr \
		--disable-static

	make
	make DESTDIR=$PKG install
}

Added contrib/freeciv/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Free Civilisation Clone
# URL:         http://www.freeciv.org
# Packager:    James Mills, prologic at shortcircuit dot net dot au
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Depends on:  gtk, sdl_mixer

name=freeciv
version=2.3.2
release=1
source=(http://prdownloads.sf.net/freeciv/$name-$version.tar.bz2)

build() {
   cd $name-$version
   ./configure --prefix=/usr --without-ggz-client --mandir=/usr/man

   make && make DESTDIR=$PKG install
   rm -rf $PKG/usr/share/locale/
}

Added contrib/fribidi/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: Unicode Bidirectional (BiDi) Algorithm.
# URL: http://fribidi.org/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: sten, nick dot steeves at shaw dot ca

name=fribidi
version=0.19.2
release=1
source=(http://fribidi.org/download/$name-$version.tar.gz)

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--mandir=/usr/man \
		--disable-static

	make
	make DESTDIR=$PKG install
}

Added contrib/frozen-bubble/Pkgfile.





















































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# Description: Shoot balls and get 3 of the same colour in a group to make them drop.
# URL: http://www.frozen-bubble.org/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com
# Depends on: p5-sdl1-perl sdl_pango p5-locale-gettext

name=frozen-bubble
version=2.2.0
release=1
source=(http://www.frozen-bubble.org/data/$name-$version.tar.bz2
	$name.desktop)

build() {
	cd $name-$version
	
	sed -i settings.mk \
		-e "s|PREFIX = .*|PREFIX = /usr|" \
		-e 's|MANDIR = .*|MANDIR = $(PREFIX)/man|'

	make
	make DESTDIR=$PKG install
	rm -r $PKG/usr/share/locale

	# install icons
	install -D -m 0644 icons/frozen-bubble-icon-16x16.png $PKG/usr/share/icons/hicolor/16x16/apps/frozen-bubble.png
	install -D -m 0644 icons/frozen-bubble-icon-32x32.png $PKG/usr/share/icons/hicolor/32x32/apps/frozen-bubble.png
	install -D -m 0644 icons/frozen-bubble-icon-48x48.png $PKG/usr/share/icons/hicolor/48x48/apps/frozen-bubble.png
	install -D -m 0644 icons/frozen-bubble-icon-64x64.png $PKG/usr/share/icons/hicolor/64x64/apps/frozen-bubble.png

	# install menu entry
	install -D -m 0644 $SRC/frozen-bubble.desktop $PKG/usr/share/applications/frozen-bubble.desktop

	# Remove perlcrap
	find $PKG \( \
		-name '.packlist' -o \
		-name '*.bs' -o \
		-name 'autosplit.ix' -o \
		-name 'perllocal.pod' \) -delete

	# Remove empty directories
	find $PKG -depth -empty -delete
}

Added contrib/frozen-bubble/frozen-bubble.desktop.

























>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
[Desktop Entry]
Encoding=UTF-8
Exec=frozen-bubble
Icon=frozen-bubble
Type=Application
Terminal=false
MultipleArgs=false
Name=Frozen Bubble
GenericName=Arcade Puzzle Game
MimeType=text/html
StartupNotify=false
Categories=Application;Game;Puzzle;Arcade;

Added contrib/fsam7440-console/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: Wireless switch for Fujitsu-Siemens Amilo M7440 laptop
# URL: http://fsam7440.sourceforge.net/index2.html
# Maintainer: Mikhail Kolesnik, mike at openbunker dot org
# Depends on:

name=fsam7440-console
version=0.2
release=2
source=(http://download.sourceforge.net/fsam7440/$name-$version.tar.bz2)

build() {
	cd $name-$version
	./configure --prefix=/usr
	make
	/usr/bin/install -D -m 755 fsam7440 $PKG/usr/sbin/fsam7440
}

Added contrib/ftgl/Pkgfile.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Description: Font rendering library for OpenGL
# URL: http://homepages.paradise.net.nz/henryj/code/
# Maintainer: Jose V Beneyto, sepen at users dot sourceforge dot net
# Packager: Jose V Beneyto, sepen at users dot sourceforge dot net
# Depends on: freetype, freeglut

name=ftgl
version=2.1.3-rc5
release=1
source=(http://download.sourceforge.net/$name/$name-$version.tar.bz2)

build() {
  cd $name-2.1.3~rc5
  ./configure --prefix=/usr \
              --with-x \
              --disable-nls \
              --disable-docs \
              --disable-static \
              --disable-freetypetest
  make
  make DESTDIR=$PKG install
  rm -rf $PKG/usr/share
}

Added contrib/fuse-python/Pkgfile.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Description: Python bindings for FUSE.
# URL: http://fuse.sourceforge.net/wiki/index.php/FusePython
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: James Mills, prologic at shortcircuit dot net dot au
# Depends on: setuptools fuse

name=fuse-python
version=0.2.1
release=1
source=(http://downloads.sourceforge.net/project/fuse/$name/$version/$name-$version.tar.gz)

build() {
	cd $name-$version
	python setup.py install --root=$PKG
}

Added contrib/gajim/Pkgfile.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Description: A Jabber Instant Messenger
# URL: http://www.gajim.org
# Maintainer: Mikhail Kolesnik, mike at openbunker dot org
# Packager: Artur Tulyulya, artur at idt dot org dot ua
# Depends on: pygtk pyopenssl pycrypto libasyncns-python
# Nice to have: gtkspell dbus-python gnome-python-extras bind docutils libxss notify-python
# you'll want nslookup (from bind) OR libasyncns-python

name=gajim
version=0.14.4
release=1
source=(http://www.gajim.org/downloads/0.14/$name-$version.tar.bz2)

build() {
	cd $name-$version
	wget http://xmpp.org/services/services.xml -O data/other/servers.xml
	./configure --prefix=/usr \
				--disable-nls \
				--mandir=/usr/man
	make
	make DESTDIR=$PKG install
	rm -rf $PKG/usr/share/doc
}

Added contrib/gamin/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: file and directory monitoring system
# URL:         http://www.gnome.org/~veillard/gamin/
# Packager:    Matt Housh, jaeger at morpheus dot net
# Maintainer:  Bartlomiej Palmowski, rotwang at crux dot org dot pl
# Depends on:  glib python

name=gamin
version=0.1.10
release=2
source=(http://www.gnome.org/~veillard/$name/sources/$name-$version.tar.gz)

build() {
    cd $name-$version
    ./configure \
        --prefix=/usr \
        --disable-static \
        --libexecdir=/usr/sbin
        make
        make DESTDIR=$PKG install
}

Added contrib/gcc-fortran-ccache-bindings/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Masquerade directory to use ccache with gcc-fortran.
# URL: http://gcc.gnu.org/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com
# Depends on: gcc-fortran ccache

name=gcc-fortran-ccache-bindings
version=1
release=1
source=()

build() {
	install -d $PKG/usr/lib/ccache
	ln -s ../../bin/ccache $PKG/usr/lib/ccache/f90
	ln -s ../../bin/ccache $PKG/usr/lib/ccache/f95
	ln -s ../../bin/ccache $PKG/usr/lib/ccache/gfortran
}

Added contrib/gcc-fortran-distcc-bindings/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Masquerade directory to use distcc with gcc-fortran.
# URL: http://gcc.gnu.org/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com
# Depends on: gcc-fortran distcc

name=gcc-fortran-distcc-bindings
version=1
release=1
source=()

build() {
	install -d $PKG/usr/lib/distcc
	ln -s ../../bin/distcc $PKG/usr/lib/distcc/f90
	ln -s ../../bin/distcc $PKG/usr/lib/distcc/f95
	ln -s ../../bin/distcc $PKG/usr/lib/distcc/gfortran
}

Added contrib/gcc-fortran/Pkgfile.



























































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# URL: http://gcc.gnu.org/fortran
# Description: Fortran (f95) add-on for GNU GCC compiler.
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: acrux, acrux at linuxmail dot org
# Depends on: libmpfr

name=gcc-fortran
version=4.4.2
release=1
source=(ftp://sources.redhat.com/pub/gcc/releases/gcc-$version/gcc-{core,fortran}-$version.tar.bz2
	gcc-nocheck-fixincludes.patch test-demangle.c.diff)

build() {
	patch -d gcc-$version -p 1 -i $SRC/gcc-nocheck-fixincludes.patch
	patch -d gcc-$version -p 0 -i $SRC/test-demangle.c.diff

	mkdir build
	cd build

	../gcc-$version/configure \
		--with-pkgversion="(CRUX)" \
		--prefix=/usr \
		--libexecdir=/usr/lib \
		--enable-languages=fortran \
		--enable-threads=posix \
		--enable-__cxa_atexit \
		--enable-clocale=gnu \
		--enable-shared \
		--disable-nls \
		--with-x=no

	if [ -n "$(pkginfo -i | grep '^ccache ')" ]; then
		make STAGE_CC_WRAPPER='/usr/bin/ccache' BOOT_CFLAGS="$CFLAGS" bootstrap
	elif [ -n "$(pkginfo -i | grep '^distcc ')" ]; then
		make STAGE_CC_WRAPPER='/usr/bin/distcc' BOOT_CFLAGS="$CFLAGS" bootstrap
	else
		make BOOT_CFLAGS="$CFLAGS" bootstrap
	fi

	make -j 1 check
	make -j 1 DESTDIR=$PKG install

	ln -fs gfortran $PKG/usr/bin/f90
	ln -fs gfortran $PKG/usr/bin/f95

	# remove un-needed files
	find $PKG -name 'README' -delete

	rm \
		$PKG/usr/lib/libiberty.a \
		$PKG/usr/bin/*-linux-gnu-* \
		$PKG/usr/man/man1/{cpp,gcc,gcov}.1

	rm -r \
		$PKG/usr/info \
		$PKG/usr/man/man7 \
		$PKG/usr/lib/gcc/*/$version/install-tools \
		$PKG/usr/lib/gcc/*/$version/include-fixed \
		$PKG/usr/lib/gcc/*/$version/include		

	# remove files already on the system out of the port
	for i in $(pkginfo -l gcc | sed -e "s|^|/|"); do
		if [ -e "$i" ] && [ ! -d "$i" ]; then
			if [ -e "$PKG$i" ]; then
				rm "$PKG$i"
			fi
		fi
	done

	# Remove empty directories
	find $PKG -depth -empty -exec rm -r {} \;

	# remove build paths from *.la files
	for i in $(find $PKG -name '*.la' | sed -e "s|$PKG|/|"); do
		sed -i "s|-L$SRC[^ ]* ||g" $PKG/$i
	done
}

Added contrib/gcc-fortran/gcc-nocheck-fixincludes.patch.





























>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
diff -Nru gcc-4.2.1.orig/fixincludes/Makefile.in gcc-4.2.1/fixincludes/Makefile.in
--- gcc-4.2.1.orig/fixincludes/Makefile.in	2007-08-15 13:45:59.000000000 +0200
+++ gcc-4.2.1/fixincludes/Makefile.in	2007-08-15 14:21:16.000000000 +0200
@@ -169,9 +169,7 @@
 	cp $(srcdir)/../gcc/aclocal.m4 .
 
 check : all
-	autogen -T $(srcdir)/check.tpl $(srcdir)/inclhack.def
-	$(SHELL) ./check.sh $(srcdir)/tests/base
-	@rm -f ./check.sh
+	echo "No check here.."
 
 install : all
 	-rm -rf $(DESTDIR)$(itoolsdir)

Added contrib/gcc-fortran/test-demangle.c.diff.

















































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39752

Index: libiberty/testsuite/test-demangle.c
===================================================================
--- libiberty/testsuite/test-demangle.c	(revision 145957)
+++ libiberty/testsuite/test-demangle.c	(working copy)
@@ -46,7 +46,7 @@
 #define LINELEN 80
 
 static void
-getline(buf)
+get_line(buf)
      struct line *buf;
 {
   char *data = buf->data;
@@ -196,12 +196,12 @@
     {
       const char *inp;
       
-      getline (&format);
+      get_line (&format);
       if (feof (stdin))
 	break;
 
-      getline (&input);
-      getline (&expect);
+      get_line (&input);
+      get_line (&expect);
 
       inp = protect_end (input.data);
 
@@ -322,7 +322,7 @@
 
       if (no_params)
 	{
-	  getline (&expect);
+	  get_line (&expect);
 	  result = cplus_demangle (inp, DMGL_ANSI|DMGL_TYPES);
 
 	  if (result

Added contrib/gcc34-ccache-bindings/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: Masquerade directory to use ccache with gcc34.
# URL: http://gcc.gnu.org/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com
# Depends on: gcc34 ccache

name=gcc34-ccache-bindings
version=1
release=1
source=()

build() {
	install -d $PKG/usr/lib/ccache
	ln -s ../../bin/ccache $PKG/usr/lib/ccache/cc-3.4
	ln -s ../../bin/ccache $PKG/usr/lib/ccache/c++-3.4
	ln -s ../../bin/ccache $PKG/usr/lib/ccache/gcc-3.4
	ln -s ../../bin/ccache $PKG/usr/lib/ccache/g++-3.4
}

Added contrib/gcc34-distcc-bindings/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: Masquerade directory to use distcc with gcc34.
# URL: http://gcc.gnu.org/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com
# Depends on: gcc34 distcc

name=gcc34-distcc-bindings
version=1
release=1
source=()

build() {
	install -d $PKG/usr/lib/distcc
	ln -s ../../bin/distcc $PKG/usr/lib/distcc/cc-3.4
	ln -s ../../bin/distcc $PKG/usr/lib/distcc/c++-3.4
	ln -s ../../bin/distcc $PKG/usr/lib/distcc/gcc-3.4
	ln -s ../../bin/distcc $PKG/usr/lib/distcc/g++-3.4
}

Added contrib/gcc34/Pkgfile.



































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# Description: The GNU Compiler Collection.
# URL: http://gcc.gnu.org/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Antonio SJ Musumeci

name=gcc34
version=3.4.6
release=2
source=(ftp://sources.redhat.com/pub/gcc/releases/gcc-$version/gcc-$version.tar.bz2 \
	gcc-$version-linkonce.patch
	gcc-$version-unlink-if-ordinary.patch
	gcc-$version-visibility.patch)

build() {
	local SUFFIX=-${version%.*}
	patch -d gcc-$version -p 1 -i ../gcc-$version-linkonce.patch
	patch -d gcc-$version -p 1 -i ../gcc-$version-unlink-if-ordinary.patch
	patch -d gcc-$version -p 1 -i ../gcc-$version-visibility.patch

	mkdir build
	cd build

	CFLAGS='-march=i686 -O2 -pipe'
	CXXFLAGS='-march=i686 -O2 -pipe'

	../gcc-$version/configure \
		--prefix=/usr \
		--libexecdir=/usr/lib \
		--program-suffix=$SUFFIX \
		--enable-languages=c,c++,objc \
		--enable-threads=posix \
		--enable-__cxa_atexit \
		--enable-clocale=gnu \
		--enable-shared \
		--disable-nls \
		--with-x=no

	if [ -n "$(pkginfo -i | grep '^ccache ')" ]; then
		make STAGE_CC_WRAPPER='/usr/bin/ccache' BOOT_CFLAGS="$CFLAGS" bootstrap
	elif [ -n "$(pkginfo -i | grep '^distcc ')" ]; then
		make STAGE_CC_WRAPPER='/usr/bin/distcc' BOOT_CFLAGS="$CFLAGS" bootstrap
	else
		make BOOT_CFLAGS="$CFLAGS" bootstrap
	fi

#	make check
	make -j 1 DESTDIR=$PKG install

	install -d $PKG/lib
	ln -sf ../usr/bin/cpp$SUFFIX $PKG/lib/cpp$SUFFIX
	ln -sf gcc$SUFFIX $PKG/usr/bin/cc$SUFFIX
	ln -sf g++$SUFFIX $PKG/usr/bin/c++$SUFFIX

	rm -r \
		$PKG/usr/man \
		$PKG/usr/lib/lib{stdc++,supc++,gcc_s,objc}.* \
		$PKG/usr/lib/gcc/*/$version/install-tools

	rm -rf $PKG/usr/info

	rm \
		$PKG/usr/lib/libiberty.a \
		$PKG/usr/bin/*-linux-gnu-* \
		$PKG/usr/lib/gcc/*/$version/include/README
}

Added contrib/gcc34/gcc-3.4.6-linkonce.patch.

































































































































































































































































































































































































































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
Description: Fixes linkone/comdat issue
Origin: Original patch from LFS against 3.4.3.
	This patch is re-diffed against gcc 3.4.4.
Upstream status: Unknown

diff -Nru gcc-3.4.4/gcc/config/alpha/alpha.c gcc-3.4.4-new/gcc/config/alpha/alpha.c
--- gcc-3.4.4/gcc/config/alpha/alpha.c	2004-11-12 10:11:33.000000000 +0100
+++ gcc-3.4.4-new/gcc/config/alpha/alpha.c	2005-07-21 21:22:56.000000000 +0200
@@ -10175,6 +10175,8 @@
 # define TARGET_SECTION_TYPE_FLAGS unicosmk_section_type_flags
 # undef TARGET_ASM_UNIQUE_SECTION
 # define TARGET_ASM_UNIQUE_SECTION unicosmk_unique_section
+#undef TARGET_ASM_FUNCTION_RODATA_SECTION
+#define TARGET_ASM_FUNCTION_RODATA_SECTION default_no_function_rodata_section
 # undef TARGET_ASM_GLOBALIZE_LABEL
 # define TARGET_ASM_GLOBALIZE_LABEL hook_void_FILEptr_constcharptr
 #endif
diff -Nru gcc-3.4.4/gcc/config/arm/pe.h gcc-3.4.4-new/gcc/config/arm/pe.h
--- gcc-3.4.4/gcc/config/arm/pe.h	2004-02-24 15:25:22.000000000 +0100
+++ gcc-3.4.4-new/gcc/config/arm/pe.h	2005-07-21 21:22:56.000000000 +0200
@@ -97,6 +97,7 @@
 #define MULTIPLE_SYMBOL_SPACES
 
 #define TARGET_ASM_UNIQUE_SECTION arm_pe_unique_section
+#define TARGET_ASM_FUNCTION_RODATA_SECTION default_no_function_rodata_section
 
 #define SUPPORTS_ONE_ONLY 1
 
diff -Nru gcc-3.4.4/gcc/config/avr/avr.c gcc-3.4.4-new/gcc/config/avr/avr.c
--- gcc-3.4.4/gcc/config/avr/avr.c	2005-03-20 22:14:28.000000000 +0100
+++ gcc-3.4.4-new/gcc/config/avr/avr.c	2005-07-21 21:22:56.000000000 +0200
@@ -229,6 +229,8 @@
 #define TARGET_ASM_FUNCTION_EPILOGUE avr_output_function_epilogue
 #undef TARGET_ATTRIBUTE_TABLE
 #define TARGET_ATTRIBUTE_TABLE avr_attribute_table
+#undef TARGET_ASM_FUNCTION_RODATA_SECTION
+#define TARGET_ASM_FUNCTION_RODATA_SECTION default_no_function_rodata_section
 #undef TARGET_INSERT_ATTRIBUTES
 #define TARGET_INSERT_ATTRIBUTES avr_insert_attributes
 #undef TARGET_SECTION_TYPE_FLAGS
diff -Nru gcc-3.4.4/gcc/config/darwin.h gcc-3.4.4-new/gcc/config/darwin.h
--- gcc-3.4.4/gcc/config/darwin.h	2004-09-11 22:32:17.000000000 +0200
+++ gcc-3.4.4-new/gcc/config/darwin.h	2005-07-21 21:22:56.000000000 +0200
@@ -686,6 +686,9 @@
 #undef	TARGET_ASM_SELECT_RTX_SECTION
 #define TARGET_ASM_SELECT_RTX_SECTION machopic_select_rtx_section
 
+#undef  TARGET_ASM_FUNCTION_RODATA_SECTION
+#define TARGET_ASM_FUNCTION_RODATA_SECTION default_no_function_rodata_section
+
 #define ASM_DECLARE_UNRESOLVED_REFERENCE(FILE,NAME)			\
     do {								\
 	 if (FILE) {							\
diff -Nru gcc-3.4.4/gcc/config/i386/cygming.h gcc-3.4.4-new/gcc/config/i386/cygming.h
--- gcc-3.4.4/gcc/config/i386/cygming.h	2004-06-08 08:30:13.000000000 +0200
+++ gcc-3.4.4-new/gcc/config/i386/cygming.h	2005-07-21 21:22:56.000000000 +0200
@@ -255,6 +255,7 @@
 
 extern void i386_pe_unique_section (TREE, int);
 #define TARGET_ASM_UNIQUE_SECTION i386_pe_unique_section
+#define TARGET_ASM_FUNCTION_RODATA_SECTION default_no_function_rodata_section
 
 #define SUPPORTS_ONE_ONLY 1
 
diff -Nru gcc-3.4.4/gcc/config/i386/i386-interix.h gcc-3.4.4-new/gcc/config/i386/i386-interix.h
--- gcc-3.4.4/gcc/config/i386/i386-interix.h	2004-01-31 07:18:20.000000000 +0100
+++ gcc-3.4.4-new/gcc/config/i386/i386-interix.h	2005-07-21 21:22:56.000000000 +0200
@@ -344,6 +344,7 @@
 
 extern void i386_pe_unique_section (tree, int);
 #define TARGET_ASM_UNIQUE_SECTION i386_pe_unique_section
+#define TARGET_ASM_FUNCTION_RODATA_SECTION default_no_function_rodata_section
 
 #define SUPPORTS_ONE_ONLY 1
 #endif /* 0 */
diff -Nru gcc-3.4.4/gcc/config/ip2k/ip2k.c gcc-3.4.4-new/gcc/config/ip2k/ip2k.c
--- gcc-3.4.4/gcc/config/ip2k/ip2k.c	2004-01-31 07:18:25.000000000 +0100
+++ gcc-3.4.4-new/gcc/config/ip2k/ip2k.c	2005-07-21 21:22:56.000000000 +0200
@@ -98,6 +98,9 @@
 #undef TARGET_ASM_UNIQUE_SECTION
 #define TARGET_ASM_UNIQUE_SECTION unique_section
 
+#undef TARGET_ASM_FUNCTION_RODATA_SECTION
+#define TARGET_ASM_FUNCTION_RODATA_SECTION default_no_function_rodata_section
+
 #undef TARGET_ATTRIBUTE_TABLE
 #define TARGET_ATTRIBUTE_TABLE ip2k_attribute_table
 
diff -Nru gcc-3.4.4/gcc/config/mcore/mcore.c gcc-3.4.4-new/gcc/config/mcore/mcore.c
--- gcc-3.4.4/gcc/config/mcore/mcore.c	2004-01-31 07:18:29.000000000 +0100
+++ gcc-3.4.4-new/gcc/config/mcore/mcore.c	2005-07-21 21:22:56.000000000 +0200
@@ -165,6 +165,8 @@
 #define TARGET_ATTRIBUTE_TABLE 		mcore_attribute_table
 #undef  TARGET_ASM_UNIQUE_SECTION
 #define TARGET_ASM_UNIQUE_SECTION 	mcore_unique_section
+#undef  TARGET_ASM_FUNCTION_RODATA_SECTION
+#define TARGET_ASM_FUNCTION_RODATA_SECTION default_no_function_rodata_section
 #undef  TARGET_ENCODE_SECTION_INFO
 #define TARGET_ENCODE_SECTION_INFO 	mcore_encode_section_info
 #undef  TARGET_STRIP_NAME_ENCODING
diff -Nru gcc-3.4.4/gcc/config/rs6000/xcoff.h gcc-3.4.4-new/gcc/config/rs6000/xcoff.h
--- gcc-3.4.4/gcc/config/rs6000/xcoff.h	2004-01-31 07:18:34.000000000 +0100
+++ gcc-3.4.4-new/gcc/config/rs6000/xcoff.h	2005-07-21 21:22:56.000000000 +0200
@@ -172,6 +172,7 @@
 #define TARGET_ASM_SELECT_SECTION  rs6000_xcoff_select_section
 #define TARGET_ASM_SELECT_RTX_SECTION  rs6000_xcoff_select_rtx_section
 #define TARGET_ASM_UNIQUE_SECTION  rs6000_xcoff_unique_section
+#define TARGET_ASM_FUNCTION_RODATA_SECTION default_no_function_rodata_section
 #define TARGET_STRIP_NAME_ENCODING  rs6000_xcoff_strip_name_encoding
 #define TARGET_SECTION_TYPE_FLAGS  rs6000_xcoff_section_type_flags
 
diff -Nru gcc-3.4.4/gcc/doc/tm.texi gcc-3.4.4-new/gcc/doc/tm.texi
--- gcc-3.4.4/gcc/doc/tm.texi	2005-01-16 17:01:28.000000000 +0100
+++ gcc-3.4.4-new/gcc/doc/tm.texi	2005-07-21 21:22:56.000000000 +0200
@@ -6003,6 +6003,15 @@
 Whatever the actual target object format, this is often good enough.
 @end deftypefn
 
+@deftypefn {Target Hook} void TARGET_ASM_FUNCTION_RODATA_SECTION (tree @var{decl})
+Switches to a readonly data section associated with
+@samp{DECL_SECTION_NAME (@var{decl})}.
+The default version of this function switches to @code{.gnu.linkonce.r.name}
+section if function's section is @code{.gnu.linkonce.t.name}, to
+@code{.rodata.name} if function is in @code{.text.name} section
+and otherwise switches to the normal readonly data section.
+@end deftypefn
+
 @deftypefn {Target Hook} void TARGET_ASM_SELECT_RTX_SECTION (enum machine_mode @var{mode}, rtx @var{x}, unsigned HOST_WIDE_INT @var{align})
 Switches to the appropriate section for output of constant pool entry
 @var{x} in @var{mode}.  You can assume that @var{x} is some kind of
diff -Nru gcc-3.4.4/gcc/final.c gcc-3.4.4-new/gcc/final.c
--- gcc-3.4.4/gcc/final.c	2004-01-18 23:39:57.000000000 +0100
+++ gcc-3.4.4-new/gcc/final.c	2005-07-21 21:22:56.000000000 +0200
@@ -1881,7 +1881,7 @@
 		{
 		  int log_align;
 
-		  readonly_data_section ();
+		  targetm.asm_out.function_rodata_section (current_function_decl);
 
 #ifdef ADDR_VEC_ALIGN
 		  log_align = ADDR_VEC_ALIGN (NEXT_INSN (insn));
diff -Nru gcc-3.4.4/gcc/output.h gcc-3.4.4-new/gcc/output.h
--- gcc-3.4.4/gcc/output.h	2004-01-18 23:39:57.000000000 +0100
+++ gcc-3.4.4-new/gcc/output.h	2005-07-21 21:22:56.000000000 +0200
@@ -500,6 +500,8 @@
 					  unsigned HOST_WIDE_INT, int);
 extern void default_unique_section (tree, int);
 extern void default_unique_section_1 (tree, int, int);
+extern void default_function_rodata_section (tree);
+extern void default_no_function_rodata_section (tree);
 extern void default_select_rtx_section (enum machine_mode, rtx,
 					unsigned HOST_WIDE_INT);
 extern void default_elf_select_rtx_section (enum machine_mode, rtx,
diff -Nru gcc-3.4.4/gcc/target-def.h gcc-3.4.4-new/gcc/target-def.h
--- gcc-3.4.4/gcc/target-def.h	2004-08-23 20:02:40.000000000 +0200
+++ gcc-3.4.4-new/gcc/target-def.h	2005-07-21 21:22:56.000000000 +0200
@@ -78,6 +78,10 @@
 #define TARGET_ASM_UNIQUE_SECTION default_unique_section
 #endif
 
+#ifndef TARGET_ASM_FUNCTION_RODATA_SECTION
+#define TARGET_ASM_FUNCTION_RODATA_SECTION default_function_rodata_section
+#endif
+
 #ifndef TARGET_ASM_SELECT_RTX_SECTION
 #define TARGET_ASM_SELECT_RTX_SECTION default_select_rtx_section
 #endif
@@ -201,6 +205,7 @@
 			TARGET_ASM_SELECT_SECTION,		\
 			TARGET_ASM_SELECT_RTX_SECTION,		\
 			TARGET_ASM_UNIQUE_SECTION,		\
+			TARGET_ASM_FUNCTION_RODATA_SECTION,	\
 			TARGET_ASM_CONSTRUCTOR,			\
 			TARGET_ASM_DESTRUCTOR,                  \
                         TARGET_ASM_OUTPUT_MI_THUNK,             \
diff -Nru gcc-3.4.4/gcc/target.h gcc-3.4.4-new/gcc/target.h
--- gcc-3.4.4/gcc/target.h	2004-08-23 20:02:41.000000000 +0200
+++ gcc-3.4.4-new/gcc/target.h	2005-07-21 21:22:56.000000000 +0200
@@ -118,6 +118,10 @@
        for SELECT_SECTION.  */
     void (* unique_section) (tree, int);
 
+    /* Tell assembler to switch to the readonly data section associated
+       with function DECL.  */
+    void (* function_rodata_section) (tree); 
+
     /* Output a constructor for a symbol with a given priority.  */
     void (* constructor) (rtx, int);
 
diff -Nru gcc-3.4.4/gcc/testsuite/g++.old-deja/g++.other/comdat4-aux.cc gcc-3.4.4-new/gcc/testsuite/g++.old-deja/g++.other/comdat4-aux.cc
--- gcc-3.4.4/gcc/testsuite/g++.old-deja/g++.other/comdat4-aux.cc	1970-01-01 01:00:00.000000000 +0100
+++ gcc-3.4.4-new/gcc/testsuite/g++.old-deja/g++.other/comdat4-aux.cc	2005-07-21 21:22:56.000000000 +0200
@@ -0,0 +1,40 @@
+extern void
+bar (int x);
+
+inline void
+foo (int i)
+{
+  switch (i)
+    {
+    case 3:
+    case 5:
+    case 6:
+    case 9:
+    case 15:
+      bar (1);
+      break;
+    case 2:
+    case 4:
+    case 7:
+    case 10:
+    case 11:
+    case 12:
+      bar (2);
+      break;
+    case 0:
+    case 1:
+    case 8:
+    case 13:
+    case 16:
+      bar (3);
+      break;
+    case 14:
+      bar (4);
+      break;
+    default:
+      bar (5);
+      break;
+    }
+}
+
+void *fooaddr2 = (void *) foo;
diff -Nru gcc-3.4.4/gcc/testsuite/g++.old-deja/g++.other/comdat4.C gcc-3.4.4-new/gcc/testsuite/g++.old-deja/g++.other/comdat4.C
--- gcc-3.4.4/gcc/testsuite/g++.old-deja/g++.other/comdat4.C	1970-01-01 01:00:00.000000000 +0100
+++ gcc-3.4.4-new/gcc/testsuite/g++.old-deja/g++.other/comdat4.C	2005-07-21 21:22:56.000000000 +0200
@@ -0,0 +1,57 @@
+// PR c++/16276
+// { dg-do link }
+// { dg-additional-sources " comdat4-aux.cc" }
+// { dg-options "-O2" }
+
+extern void
+bar (int x);
+
+inline void
+foo (int i)
+{
+  switch (i)
+    {
+    case 3:
+    case 5:
+    case 6:
+    case 9:
+    case 15:
+      bar (1);
+      break;
+    case 2:
+    case 4:
+    case 7:
+    case 10:
+    case 11:
+    case 12:
+      bar (2);
+      break;
+    case 0:
+    case 1:
+    case 8:
+    case 13:
+    case 16:
+      bar (3);
+      break;
+    case 14:
+      bar (4);
+      break;
+    default:
+      bar (5);
+      break;
+    }
+}
+
+void *fooaddr = (void *) foo;
+
+void
+bar (int x)
+{
+  __asm __volatile ("" : : "r" (x));
+}
+
+int
+main (void)
+{
+  return 0;
+}
diff -Nru gcc-3.4.4/gcc/varasm.c gcc-3.4.4-new/gcc/varasm.c
--- gcc-3.4.4/gcc/varasm.c	2005-03-02 21:57:48.000000000 +0100
+++ gcc-3.4.4-new/gcc/varasm.c	2005-07-21 21:22:56.000000000 +0200
@@ -535,6 +535,53 @@
     text_section ();
 }
 
+/* Switch to read-only data section associated with function DECL.  */
+
+void
+default_function_rodata_section (tree decl)
+{
+  if (decl != NULL_TREE && DECL_SECTION_NAME (decl))
+    {
+      const char *name = TREE_STRING_POINTER (DECL_SECTION_NAME (decl));
+
+      /* For .gnu.linkonce.t.foo we want to use .gnu.linkonce.r.foo.  */
+      if (DECL_ONE_ONLY (decl) && strncmp (name, ".gnu.linkonce.t.", 16) == 0)
+	{
+	  size_t len = strlen (name) + 1;
+	  char *rname = alloca (len);
+
+	  memcpy (rname, name, len);
+	  rname[14] = 'r';
+	  named_section_flags (rname, SECTION_LINKONCE);
+	  return;
+	}
+      /* For .text.foo we want to use .rodata.foo.  */
+      else if (flag_function_sections && flag_data_sections
+	       && strncmp (name, ".text.", 6) == 0)
+	{
+	  size_t len = strlen (name) + 1;
+	  char *rname = alloca (len + 2);
+
+	  memcpy (rname, ".rodata", 7);
+	  memcpy (rname + 7, name + 5, len - 5);
+	  named_section_flags (rname, 0);
+	  return;
+	}
+    }
+
+  readonly_data_section ();
+}
+
+/* Switch to read-only data section associated with function DECL
+   for targets where that section should be always the single
+   readonly data section.  */
+
+void
+default_no_function_rodata_section (tree decl ATTRIBUTE_UNUSED)
+{
+  readonly_data_section ();
+}
+
 /* Switch to section for variable DECL.  RELOC is the same as the
    argument to SELECT_SECTION.  */
 

Added contrib/gcc34/gcc-3.4.6-unlink-if-ordinary.patch.





























































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
Following the logic of the binutils change upstream (the addition of the 
new unlink_if_ordinary() function), we update collect2 so that it will 
only unlink files if they are 'ordinary' (in other words, a regular file 
or a symlink).

This allows us to do fun things like `gcc test.c -o /dev/null` and not 
have to worry about the toolchain doing unlink(/dev/null) on us (cause 
that sucks huge wang).  For example, this is common on a parisc/mips 
machine:
# gcc test.c -o /dev/null
/usr/hppa2.0-unknown-linux-gnu/bin/ld: final link failed: Nonrepresentable section on output
collect2: ld returned 1 exit status
# ls /dev/null
ls: /dev/null: No such file or directory

http://bugs.gentoo.org/show_bug.cgi?id=79836

--- gcc/gcc/collect2.c
+++ gcc/gcc/collect2.c
@@ -34,6 +34,12 @@
 #if ! defined( SIGCHLD ) && defined( SIGCLD )
 #  define SIGCHLD SIGCLD
 #endif
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#if HAVE_SYS_STAT_H
+#include <sys/stat.h>
+#endif
 
 #ifdef vfork /* Autoconf may define this to fork for us.  */
 # define VFORK_STRING "fork"
@@ -1574,14 +1603,24 @@
   do_wait (prog);
 }
 
-/* Unlink a file unless we are debugging.  */
-
+/* Unlink a file unless we are debugging or file is not normal.  */
+#ifndef S_ISLNK
+#ifdef S_IFLNK
+#define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK)
+#else
+#define S_ISLNK(m) 0
+#define lstat stat
+#endif
+#endif
 static void
 maybe_unlink (const char *file)
 {
-  if (!debug)
-    unlink (file);
-  else
+  if (!debug) {
+    struct stat st;
+    if (lstat (file, &st) == 0
+        && (S_ISREG (st.st_mode) || S_ISLNK (st.st_mode)))
+      unlink (file);
+  } else
     notice ("[Leaving %s]\n", file);
 }
 

Added contrib/gcc34/gcc-3.4.6-visibility.patch.

































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
diff -Nurp gcc-3.4.4.orig/gcc/c-common.c gcc-3.4.4/gcc/c-common.c
--- gcc-3.4.4.orig/gcc/c-common.c	2005-01-07 14:58:51.000000000 -0500
+++ gcc-3.4.4/gcc/c-common.c	2006-02-10 01:38:12.000000000 -0500
@@ -832,7 +832,7 @@ const struct attribute_spec c_common_att
 			      handle_deprecated_attribute },
   { "vector_size",	      1, 1, false, true, false,
 			      handle_vector_size_attribute },
-  { "visibility",	      1, 1, true,  false, false,
+  { "visibility",	      1, 1, false, false, false,
 			      handle_visibility_attribute },
   { "tls_model",	      1, 1, true,  false, false,
 			      handle_tls_model_attribute },
@@ -4925,7 +4925,16 @@ handle_visibility_attribute (tree *node,
 
   *no_add_attrs = true;
 
-  if (decl_function_context (decl) != 0 || ! TREE_PUBLIC (decl))
+  if (TYPE_P (*node))
+    {
+      if (TREE_CODE (*node) != RECORD_TYPE && TREE_CODE (*node) != UNION_TYPE)
+       {
+         warning ("`%s' attribute ignored on non-class types",
+                  IDENTIFIER_POINTER (name));
+         return NULL_TREE;
+       }
+    }
+  else if (decl_function_context (decl) != 0 || ! TREE_PUBLIC (decl))
     {
       warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
       return NULL_TREE;
@@ -4936,6 +4945,14 @@ handle_visibility_attribute (tree *node,
       error ("visibility arg not a string");
       return NULL_TREE;
     }
+  
+  /*  If this is a type, set the visibility on the type decl.  */
+  if (TYPE_P (decl))
+    {
+      decl = TYPE_NAME (decl);
+      if (! decl)
+        return NULL_TREE;
+    }
 
   if (strcmp (TREE_STRING_POINTER (id), "default") == 0)
     DECL_VISIBILITY (decl) = VISIBILITY_DEFAULT;
@@ -4947,6 +4964,14 @@ handle_visibility_attribute (tree *node,
     DECL_VISIBILITY (decl) = VISIBILITY_PROTECTED;
   else
     error ("visibility arg must be one of \"default\", \"hidden\", \"protected\" or \"internal\"");
+  DECL_VISIBILITY_SPECIFIED (decl) = 1;
+
+  /* For decls only, go ahead and attach the attribute to the node as well.
+     This is needed so we can determine whether we have VISIBILITY_DEFAULT
+     because the visibility was not specified, or because it was explicitly
+     overridden from the class visibility.  */
+  if (DECL_P (*node))
+    *no_add_attrs = false;
 
   return NULL_TREE;
 }
diff -Nurp gcc-3.4.4.orig/gcc/c-decl.c gcc-3.4.4/gcc/c-decl.c
--- gcc-3.4.4.orig/gcc/c-decl.c	2005-05-01 06:43:46.000000000 -0400
+++ gcc-3.4.4/gcc/c-decl.c	2006-02-10 01:38:12.000000000 -0500
@@ -1164,9 +1164,8 @@ diagnose_mismatched_decls (tree newdecl,
     }
 
   /* warnings */
-  /* All decls must agree on a non-default visibility.  */
-  if (DECL_VISIBILITY (newdecl) != VISIBILITY_DEFAULT
-      && DECL_VISIBILITY (olddecl) != VISIBILITY_DEFAULT
+  /* All decls must agree on a visibility.  */
+  if (DECL_VISIBILITY_SPECIFIED (newdecl) && DECL_VISIBILITY_SPECIFIED (olddecl)
       && DECL_VISIBILITY (newdecl) != DECL_VISIBILITY (olddecl))
     {
       warning ("%Jredeclaration of '%D' with different visibility "
@@ -1366,9 +1365,12 @@ merge_decls (tree newdecl, tree olddecl,
      Currently, it can only be defined in the prototype.  */
   COPY_DECL_ASSEMBLER_NAME (olddecl, newdecl);
 
-  /* If either declaration has a nondefault visibility, use it.  */
-  if (DECL_VISIBILITY (olddecl) != VISIBILITY_DEFAULT)
-    DECL_VISIBILITY (newdecl) = DECL_VISIBILITY (olddecl);
+  /* Use visibility of whichever declaration had it specified */
+  if (DECL_VISIBILITY_SPECIFIED (olddecl))
+    {
+      DECL_VISIBILITY (newdecl) = DECL_VISIBILITY (olddecl);
+      DECL_VISIBILITY_SPECIFIED (newdecl) = 1;
+    }
 
   if (TREE_CODE (newdecl) == FUNCTION_DECL)
     {
diff -Nurp gcc-3.4.4.orig/gcc/c-opts.c gcc-3.4.4/gcc/c-opts.c
--- gcc-3.4.4.orig/gcc/c-opts.c	2005-03-08 20:00:56.000000000 -0500
+++ gcc-3.4.4/gcc/c-opts.c	2006-02-10 01:38:12.000000000 -0500
@@ -920,6 +920,10 @@ c_common_handle_option (size_t scode, co
     case OPT_fuse_cxa_atexit:
       flag_use_cxa_atexit = value;
       break;
+      
+    case OPT_fvisibility_inlines_hidden:
+      visibility_options.inlines_hidden = value;
+      break;
 
     case OPT_fweak:
       flag_weak = value;
diff -Nurp gcc-3.4.4.orig/gcc/c-pragma.c gcc-3.4.4/gcc/c-pragma.c
--- gcc-3.4.4.orig/gcc/c-pragma.c	2004-05-07 03:07:30.000000000 -0400
+++ gcc-3.4.4/gcc/c-pragma.c	2006-02-10 01:38:12.000000000 -0500
@@ -481,6 +481,86 @@ maybe_apply_renaming_pragma (tree decl, 
   return asmname;
 }
 
+
+#ifdef HANDLE_PRAGMA_VISIBILITY
+static void handle_pragma_visibility (cpp_reader *);
+
+/* Sets the default visibility for symbols to something other than that
+   specified on the command line.  */
+static void
+handle_pragma_visibility (cpp_reader *dummy ATTRIBUTE_UNUSED)
+{ /* Form is #pragma GCC visibility push(hidden)|pop */
+  static int visstack [16], visidx;
+  tree x;
+  enum cpp_ttype token;
+  enum { bad, push, pop } action = bad;
+ 
+  token = c_lex (&x);
+  if (token == CPP_NAME)
+    {
+      const char *op = IDENTIFIER_POINTER (x);
+      if (!strcmp (op, "push"))
+        action = push;
+      else if (!strcmp (op, "pop"))
+        action = pop;
+    }
+  if (bad == action)
+    GCC_BAD ("#pragma GCC visibility must be followed by push or pop");
+  else
+    {
+      if (pop == action)
+        {
+          if (!visidx)
+            {
+              GCC_BAD ("No matching push for '#pragma GCC visibility pop'");
+            }
+          else
+            {
+              default_visibility = visstack[--visidx];
+              visibility_options.inpragma = (visidx>0);
+            }
+        }
+      else
+        {
+          if (c_lex (&x) != CPP_OPEN_PAREN)
+            GCC_BAD ("missing '(' after '#pragma GCC visibility push' - ignored");
+          token = c_lex (&x);
+          if (token != CPP_NAME)
+            {
+              GCC_BAD ("malformed #pragma GCC visibility push");
+            }
+          else if (visidx >= 16)
+            {
+              GCC_BAD ("No more than sixteen #pragma GCC visibility pushes allowed at once");
+            }
+          else
+            {
+              const char *str = IDENTIFIER_POINTER (x);
+              visstack[visidx++] = default_visibility;
+              if (!strcmp (str, "default"))
+                default_visibility = VISIBILITY_DEFAULT;
+              else if (!strcmp (str, "internal"))
+                default_visibility = VISIBILITY_INTERNAL;
+              else if (!strcmp (str, "hidden"))
+                default_visibility = VISIBILITY_HIDDEN;  
+              else if (!strcmp (str, "protected"))
+                default_visibility = VISIBILITY_PROTECTED;
+              else
+                {
+                  GCC_BAD ("#pragma GCC visibility push() must specify default, internal, hidden or protected");
+                }
+              visibility_options.inpragma = 1;
+            }
+          if (c_lex (&x) != CPP_CLOSE_PAREN)
+            GCC_BAD ("missing '(' after '#pragma GCC visibility push' - ignored");
+        }
+    }
+  if (c_lex (&x) != CPP_EOF)
+    warning ("junk at end of '#pragma GCC visibility'");
+}
+
+#endif
+
 /* Front-end wrapper for pragma registration to avoid dragging
    cpplib.h in almost everywhere.  */
 void
@@ -506,6 +586,9 @@ init_pragma (void)
 #ifdef HANDLE_PRAGMA_EXTERN_PREFIX
   c_register_pragma (0, "extern_prefix", handle_pragma_extern_prefix);
 #endif
+#ifdef HANDLE_PRAGMA_VISIBILITY
+  c_register_pragma ("GCC", "visibility", handle_pragma_visibility);
+#endif
 
 #ifdef REGISTER_TARGET_PRAGMAS
   REGISTER_TARGET_PRAGMAS ();
diff -Nurp gcc-3.4.4.orig/gcc/c-pragma.h gcc-3.4.4/gcc/c-pragma.h
--- gcc-3.4.4.orig/gcc/c-pragma.h	2004-01-31 01:18:05.000000000 -0500
+++ gcc-3.4.4/gcc/c-pragma.h	2006-02-10 01:38:12.000000000 -0500
@@ -44,6 +44,11 @@ extern struct cpp_reader* parse_in;
 #define HANDLE_PRAGMA_PACK 1
 #endif /* HANDLE_PRAGMA_PACK_PUSH_POP */
 
+/* It's safe to always leave visibility pragma enabled as if
+   visibility is not supported on the host OS platform the
+   statements are ignored.  */
+#define HANDLE_PRAGMA_VISIBILITY 1
+
 extern void init_pragma (void);
 
 /* Front-end wrapper for pragma registration to avoid dragging
diff -Nurp gcc-3.4.4.orig/gcc/c.opt gcc-3.4.4/gcc/c.opt
--- gcc-3.4.4.orig/gcc/c.opt	2005-03-19 15:30:38.000000000 -0500
+++ gcc-3.4.4/gcc/c.opt	2006-02-10 01:38:12.000000000 -0500
@@ -656,6 +656,10 @@ fuse-cxa-atexit
 C++ ObjC++
 Use __cxa_atexit to register destructors
 
+fvisibility-inlines-hidden
+C++
+Marks all inlined methods as having hidden visibility
+
 fvtable-gc
 C++ ObjC++
 Discard unused virtual functions
diff -Nurp gcc-3.4.4.orig/gcc/common.opt gcc-3.4.4/gcc/common.opt
--- gcc-3.4.4.orig/gcc/common.opt	2004-10-27 23:43:09.000000000 -0400
+++ gcc-3.4.4/gcc/common.opt	2006-02-10 01:38:12.000000000 -0500
@@ -718,6 +718,11 @@ fverbose-asm
 Common
 Add extra commentary to assembler output
 
+fvisibility=
+Common Joined RejectNegative
+-fvisibility=[default|internal|hidden|protected]	Set the default symbol visibility
+
+
 fvpt
 Common
 Use expression value profiles in optimizations
diff -Nurp gcc-3.4.4.orig/gcc/cp/class.c gcc-3.4.4/gcc/cp/class.c
--- gcc-3.4.4.orig/gcc/cp/class.c	2005-05-09 07:47:53.000000000 -0400
+++ gcc-3.4.4/gcc/cp/class.c	2006-02-10 01:38:15.000000000 -0500
@@ -6799,14 +6799,9 @@ initialize_vtable (tree binfo, tree init
 static void
 initialize_array (tree decl, tree inits)
 {
-  tree context;
-
-  context = DECL_CONTEXT (decl);
-  DECL_CONTEXT (decl) = NULL_TREE;
   DECL_INITIAL (decl) = build_constructor (NULL_TREE, inits);
   TREE_HAS_CONSTRUCTOR (DECL_INITIAL (decl)) = 1;
   cp_finish_decl (decl, DECL_INITIAL (decl), NULL_TREE, 0);
-  DECL_CONTEXT (decl) = context;
 }
 
 /* Build the VTT (virtual table table) for T.
diff -Nurp gcc-3.4.4.orig/gcc/cp/cp-tree.h gcc-3.4.4/gcc/cp/cp-tree.h
--- gcc-3.4.4.orig/gcc/cp/cp-tree.h	2005-05-09 07:47:57.000000000 -0400
+++ gcc-3.4.4/gcc/cp/cp-tree.h	2006-02-10 01:38:15.000000000 -0500
@@ -75,6 +75,7 @@ struct diagnostic_context;
           or FIELD_DECL).
       NEED_TEMPORARY_P (in REF_BIND, BASE_CONV)
       IDENTIFIER_TYPENAME_P (in IDENTIFIER_NODE)
+      DECL_TINFO_P (in VAR_DECL)
    5: C_IS_RESERVED_WORD (in IDENTIFIER_NODE)
       DECL_VTABLE_OR_VTT_P (in VAR_DECL)
    6: For future expansion
@@ -1008,7 +1009,12 @@ enum languages { lang_c, lang_cplusplus,
 #define PUBLICLY_UNIQUELY_DERIVED_P(PARENT, TYPE) \
   (lookup_base ((TYPE), (PARENT),  ba_not_special | ba_quiet, NULL) \
    != NULL_TREE)
-
+
+/* Gives the visibility specification for a class type.  */
+#define CLASSTYPE_VISIBILITY(TYPE)		DECL_VISIBILITY (TYPE_NAME (TYPE))
+#define CLASSTYPE_VISIBILITY_SPECIFIED(TYPE)	DECL_VISIBILITY_SPECIFIED (TYPE_NAME (TYPE))
+
+
 /* This is a few header flags for 'struct lang_type'.  Actually,
    all but the first are used only for lang_type_class; they
    are put in this structure to save space.  */
@@ -2064,6 +2070,10 @@ struct lang_decl GTY(())
   (DECL_CONTEXT (NODE) \
    && TREE_CODE (DECL_CONTEXT (NODE)) == FUNCTION_DECL)
 
+/* 1 iff VAR_DECL node NODE is a type-info decl.  This flag is set for
+   both the primary typeinfo object and the associated NTBS name.  */
+#define DECL_TINFO_P(NODE) TREE_LANG_FLAG_4 (VAR_DECL_CHECK (NODE))
+
 /* 1 iff VAR_DECL node NODE is virtual table or VTT.  */
 #define DECL_VTABLE_OR_VTT_P(NODE) TREE_LANG_FLAG_5 (VAR_DECL_CHECK (NODE))
 
@@ -3669,7 +3679,7 @@ extern int init_type_desc			(void);
 extern tree check_tag_decl			(tree);
 extern tree shadow_tag				(tree);
 extern tree groktypename			(tree);
-extern tree start_decl				(tree, tree, int, tree, tree);
+extern tree start_decl				(tree, tree, int, tree, tree, bool *);
 extern void start_decl_1			(tree);
 extern void cp_finish_decl			(tree, tree, tree, int);
 extern void finish_decl				(tree, tree, tree);
@@ -3754,6 +3764,7 @@ extern tree finish_table (tree, tree, tr
 extern tree coerce_new_type (tree);
 extern tree coerce_delete_type (tree);
 extern void comdat_linkage (tree);
+extern void determine_visibility (tree);
 extern void import_export_vtable (tree, tree, int);
 extern void import_export_decl (tree);
 extern void import_export_tinfo	(tree, tree, bool);
diff -Nurp gcc-3.4.4.orig/gcc/cp/decl.c gcc-3.4.4/gcc/cp/decl.c
--- gcc-3.4.4.orig/gcc/cp/decl.c	2005-03-19 09:00:45.000000000 -0500
+++ gcc-3.4.4/gcc/cp/decl.c	2006-02-10 01:38:15.000000000 -0500
@@ -1889,17 +1889,20 @@ duplicate_decls (tree newdecl, tree oldd
   DECL_COMMON (newdecl) = DECL_COMMON (olddecl);
   COPY_DECL_ASSEMBLER_NAME (olddecl, newdecl);
 
-  /* If either declaration has a nondefault visibility, use it.  */
-  if (DECL_VISIBILITY (olddecl) != VISIBILITY_DEFAULT)
+  /* Warn about conflicting visibility specifications.  */
+  if (DECL_VISIBILITY_SPECIFIED (olddecl) 
+      && DECL_VISIBILITY_SPECIFIED (newdecl)
+      && DECL_VISIBILITY (newdecl) != DECL_VISIBILITY (olddecl))
+    {
+      warning ("%J'%D': visibility attribute ignored because it",
+	       newdecl, newdecl);
+      warning ("%Jconflicts with previous declaration here", olddecl);
+    }
+  /* Choose the declaration which specified visibility.  */
+  if (DECL_VISIBILITY_SPECIFIED (olddecl))
     {
-      if (DECL_VISIBILITY (newdecl) != VISIBILITY_DEFAULT
-	  && DECL_VISIBILITY (newdecl) != DECL_VISIBILITY (olddecl))
-	{
-	  warning ("%J'%D': visibility attribute ignored because it",
-		   newdecl, newdecl);
-	  warning ("%Jconflicts with previous declaration here", olddecl);
-	}
       DECL_VISIBILITY (newdecl) = DECL_VISIBILITY (olddecl);
+      DECL_VISIBILITY_SPECIFIED (newdecl) = 1;
     }
 
   if (TREE_CODE (newdecl) == FUNCTION_DECL)
@@ -3321,6 +3324,10 @@ build_library_fn_1 (tree name, enum tree
   TREE_NOTHROW (fn) = 1;
   SET_OVERLOADED_OPERATOR_CODE (fn, operator_code);
   SET_DECL_LANGUAGE (fn, lang_c);
+  /* Runtime library routines are, by definition, available in an
+     external shared object.  */
+  DECL_VISIBILITY (fn) = VISIBILITY_DEFAULT;
+  DECL_VISIBILITY_SPECIFIED (fn) = 1;
   return fn;
 }
 
@@ -3684,7 +3691,8 @@ start_decl (tree declarator, 
             tree declspecs, 
             int initialized, 
             tree attributes, 
-            tree prefix_attributes)
+            tree prefix_attributes,
+            bool *pop_scope_p)
 {
   tree decl;
   tree type, tem;
@@ -3720,14 +3728,11 @@ start_decl (tree declarator, 
 
   context = DECL_CONTEXT (decl);
 
-  if (initialized && context && TREE_CODE (context) == NAMESPACE_DECL
-      && context != current_namespace && TREE_CODE (decl) == VAR_DECL)
-    {
-      /* When parsing the initializer, lookup should use the object's
-	 namespace.  */
-      push_decl_namespace (context);
-    }
-
+  if (context)
+    *pop_scope_p = push_scope (context);
+  else
+    *pop_scope_p = false;
+  
   /* We are only interested in class contexts, later.  */
   if (context && TREE_CODE (context) == NAMESPACE_DECL)
     context = NULL_TREE;
@@ -3783,8 +3788,6 @@ start_decl (tree declarator, 
 
   if (context && COMPLETE_TYPE_P (complete_type (context)))
     {
-      push_nested_class (context);
-
       if (TREE_CODE (decl) == VAR_DECL)
 	{
 	  tree field = lookup_field (context, DECL_NAME (decl), 0, false);
@@ -4820,20 +4823,10 @@ cp_finish_decl (tree decl, tree init, tr
       && (DECL_INITIAL (decl) || init))
     DECL_INITIALIZED_IN_CLASS_P (decl) = 1;
 
-  if (TREE_CODE (decl) == VAR_DECL
-      && DECL_CONTEXT (decl)
-      && TREE_CODE (DECL_CONTEXT (decl)) == NAMESPACE_DECL
-      && DECL_CONTEXT (decl) != current_namespace
-      && init)
-    {
-      /* Leave the namespace of the object.  */
-      pop_decl_namespace ();
-    }
-
   type = TREE_TYPE (decl);
 
   if (type == error_mark_node)
-    goto finish_end0;
+    goto finish_end;
 
   if (TYPE_HAS_MUTABLE_P (type))
     TREE_READONLY (decl) = 0;
@@ -4850,7 +4843,7 @@ cp_finish_decl (tree decl, tree init, tr
 	  && !DECL_PRETTY_FUNCTION_P (decl)
 	  && !dependent_type_p (TREE_TYPE (decl)))
 	maybe_deduce_size_from_array_init (decl, init);
-      goto finish_end0;
+      goto finish_end;
     }
 
   /* Parameters are handled by store_parm_decls, not cp_finish_decl.  */
@@ -4943,6 +4936,9 @@ cp_finish_decl (tree decl, tree init, tr
 	     the class specifier.  */
 	  if (!DECL_EXTERNAL (decl))
 	    var_definition_p = true;
+	  /* The variable is being defined, so determine its
+	     visibility.  */
+	  determine_visibility (decl);
 	}
       /* If the variable has an array type, lay out the type, even if
 	 there is no initializer.  It is valid to index through the
@@ -5028,26 +5024,6 @@ cp_finish_decl (tree decl, tree init, tr
 	  if (var_definition_p && TREE_STATIC (decl))
 	    expand_static_init (decl, init); 
 	}
-    finish_end0:
-
-      /* Undo call to `pushclass' that was done in `start_decl'
-	 due to initialization of qualified member variable.
-	 I.e., Foo::x = 10;  */
-      {
-	tree context = CP_DECL_CONTEXT (decl);
-	if (context
-	    && TYPE_P (context)
-	    && (TREE_CODE (decl) == VAR_DECL
-		/* We also have a pushclass done that we need to undo here
-		   if we're at top level and declare a method.  */
-		|| TREE_CODE (decl) == FUNCTION_DECL)
-	    /* If size hasn't been set, we're still defining it,
-	       and therefore inside the class body; don't pop
-	       the binding level..  */
-	    && COMPLETE_TYPE_P (context)
-	    && context == current_class_type)
-	  pop_nested_class ();
-      }
     }
 
   /* If a CLEANUP_STMT was created to destroy a temporary bound to a
@@ -10244,6 +10220,9 @@ start_function (tree declspecs, tree dec
       && lookup_attribute ("noinline", attrs))
     warning ("%Jinline function '%D' given attribute noinline", decl1, decl1);
 
+  /* Determine the ELF visibility attribute for the function.  */
+  determine_visibility (decl1);
+
   if (DECL_MAYBE_IN_CHARGE_CONSTRUCTOR_P (decl1))
     /* This is a constructor, we must ensure that any default args
        introduced by this definition are propagated to the clones
diff -Nurp gcc-3.4.4.orig/gcc/cp/decl2.c gcc-3.4.4/gcc/cp/decl2.c
--- gcc-3.4.4.orig/gcc/cp/decl2.c	2004-10-11 10:42:36.000000000 -0400
+++ gcc-3.4.4/gcc/cp/decl2.c	2006-02-10 01:38:24.000000000 -0500
@@ -1658,6 +1658,63 @@ maybe_emit_vtables (tree ctype)
   return true;
 }
 
+/* Determine the ELF symbol visibility for DECL.  */
+
+void
+determine_visibility (tree decl)
+{
+  tree class_type;
+
+  /* Cloned constructors and destructors get the same visibility as
+     the underlying function.  That should be set up in
+     maybe_clone_body.  */
+  if (DECL_CLONED_FUNCTION_P (decl))
+    return;
+
+  if (DECL_CLASS_SCOPE_P (decl))
+    class_type = DECL_CONTEXT (decl);
+  else if (TREE_CODE (decl) == VAR_DECL
+	   && DECL_TINFO_P (decl)
+	   && CLASS_TYPE_P (TREE_TYPE (DECL_NAME (decl))))
+    class_type = TREE_TYPE (DECL_NAME (decl));
+  else
+    {
+      /* Virtual tables have DECL_CONTEXT set to their associated class,
+	 so they are automatically handled above.  */
+      my_friendly_assert (!(TREE_CODE (decl) == VAR_DECL
+			    && DECL_VTABLE_OR_VTT_P (decl)), 20040803);
+      /* Entities not associated with any class just get the
+	 visibility specified by their attributes.  */
+      return;
+    }
+
+  /* By default, static data members and function members receive
+     the visibility of their containing class.  */
+  if (class_type
+      && (TREE_CODE (decl) == VAR_DECL 
+	  || TREE_CODE (decl) == FUNCTION_DECL)
+      && !lookup_attribute ("visibility", DECL_ATTRIBUTES (decl)))
+    {
+      if (TREE_CODE (decl) == FUNCTION_DECL
+	  && DECL_DECLARED_INLINE_P (decl)
+	  && visibility_options.inlines_hidden)
+	{
+	  /* Don't change it if it has been set explicitly by user.  */
+	  if (!DECL_VISIBILITY_SPECIFIED (decl))
+	    {
+	      DECL_VISIBILITY (decl) = VISIBILITY_HIDDEN;
+	      DECL_VISIBILITY_SPECIFIED (decl) = 1;
+	    }
+	}
+      else
+	{
+	  DECL_VISIBILITY (decl) = CLASSTYPE_VISIBILITY (class_type);
+	  DECL_VISIBILITY_SPECIFIED (decl)
+	    = CLASSTYPE_VISIBILITY_SPECIFIED (class_type);
+	}
+    }
+}
+
 /* Determines the proper settings of TREE_PUBLIC and DECL_EXTERNAL for an
    inline function or template instantiation at end-of-file.  */
 
diff -Nurp gcc-3.4.4.orig/gcc/cp/method.c gcc-3.4.4/gcc/cp/method.c
--- gcc-3.4.4.orig/gcc/cp/method.c	2005-05-09 07:48:01.000000000 -0400
+++ gcc-3.4.4/gcc/cp/method.c	2006-02-10 01:38:15.000000000 -0500
@@ -398,6 +398,8 @@ use_thunk (tree thunk_fndecl, bool emit_
      rewrite.  */
   TREE_PUBLIC (thunk_fndecl) = TREE_PUBLIC (function);
   DECL_VISIBILITY (thunk_fndecl) = DECL_VISIBILITY (function);
+  DECL_VISIBILITY_SPECIFIED (thunk_fndecl)
+    = DECL_VISIBILITY_SPECIFIED (function);
 
   if (flag_syntax_only)
     {
diff -Nurp gcc-3.4.4.orig/gcc/cp/optimize.c gcc-3.4.4/gcc/cp/optimize.c
--- gcc-3.4.4.orig/gcc/cp/optimize.c	2004-02-07 20:52:50.000000000 -0500
+++ gcc-3.4.4/gcc/cp/optimize.c	2006-02-10 01:38:12.000000000 -0500
@@ -155,6 +155,7 @@ maybe_clone_body (tree fn)
       DECL_NOT_REALLY_EXTERN (clone) = DECL_NOT_REALLY_EXTERN (fn);
       TREE_PUBLIC (clone) = TREE_PUBLIC (fn);
       DECL_VISIBILITY (clone) = DECL_VISIBILITY (fn);
+      DECL_VISIBILITY_SPECIFIED (clone) = DECL_VISIBILITY_SPECIFIED (fn);
 
       /* Adjust the parameter names and locations.  */
       parm = DECL_ARGUMENTS (fn);
diff -Nurp gcc-3.4.4.orig/gcc/cp/parser.c gcc-3.4.4/gcc/cp/parser.c
--- gcc-3.4.4.orig/gcc/cp/parser.c	2005-04-04 19:43:47.000000000 -0400
+++ gcc-3.4.4/gcc/cp/parser.c	2006-02-10 01:38:15.000000000 -0500
@@ -5881,10 +5881,13 @@ cp_parser_condition (cp_parser* parser)
 	 for sure.  */
       if (cp_parser_parse_definitely (parser))
 	{
+	  bool pop_p;
+
 	  /* Create the declaration.  */
 	  decl = start_decl (declarator, type_specifiers, 
 			     /*initialized_p=*/true,
-			     attributes, /*prefix_attributes=*/NULL_TREE);
+			     attributes, /*prefix_attributes=*/NULL_TREE,
+			     &pop_p);
 	  /* Parse the assignment-expression.  */
 	  initializer = cp_parser_assignment_expression (parser);
 	  
@@ -5893,7 +5896,9 @@ cp_parser_condition (cp_parser* parser)
 			  initializer, 
 			  asm_specification, 
 			  LOOKUP_ONLYCONVERTING);
-	  
+	  if (pop_p)
+	    pop_scope (DECL_CONTEXT (decl));
+
 	  return convert_from_reference (decl);
 	}
     }
@@ -10109,12 +10114,12 @@ cp_parser_init_declarator (cp_parser* pa
 	  have_extern_spec = false;
 	}
       decl = start_decl (declarator, decl_specifiers,
-			 is_initialized, attributes, prefix_attributes);
+			 is_initialized, attributes, prefix_attributes,
+			 &pop_p);
     }
-
-  /* Enter the SCOPE.  That way unqualified names appearing in the
-     initializer will be looked up in SCOPE.  */
-  if (scope)
+  else if (scope)
+    /* Enter the SCOPE.  That way unqualified names appearing in the
+       initializer will be looked up in SCOPE.  */
     pop_p = push_scope (scope);
 
   /* Perform deferred access control checks, now that we know in which
@@ -10161,17 +10166,13 @@ cp_parser_init_declarator (cp_parser* pa
     if (cp_parser_attributes_opt (parser))
       warning ("attributes after parenthesized initializer ignored");
 
-  /* Leave the SCOPE, now that we have processed the initializer.  It
-     is important to do this before calling cp_finish_decl because it
-     makes decisions about whether to create DECL_STMTs or not based
-     on the current scope.  */
-  if (pop_p)
-    pop_scope (scope);
-
   /* For an in-class declaration, use `grokfield' to create the
      declaration.  */
   if (member_p)
     {
+      if (pop_p)
+	pop_scope (scope);
+
       decl = grokfield (declarator, decl_specifiers,
 			initializer, /*asmspec=*/NULL_TREE,
 			/*attributes=*/NULL_TREE);
@@ -10182,15 +10183,19 @@ cp_parser_init_declarator (cp_parser* pa
   /* Finish processing the declaration.  But, skip friend
      declarations.  */
   if (!friend_p && decl)
-    cp_finish_decl (decl, 
-		    initializer, 
-		    asm_specification,
-		    /* If the initializer is in parentheses, then this is
-		       a direct-initialization, which means that an
-		       `explicit' constructor is OK.  Otherwise, an
-		       `explicit' constructor cannot be used.  */
-		    ((is_parenthesized_init || !is_initialized)
-		     ? 0 : LOOKUP_ONLYCONVERTING));
+    {
+      cp_finish_decl (decl, 
+		      initializer, 
+		      asm_specification,
+		      /* If the initializer is in parentheses, then this is
+			 a direct-initialization, which means that an
+			 `explicit' constructor is OK.  Otherwise, an
+			 `explicit' constructor cannot be used.  */
+		      ((is_parenthesized_init || !is_initialized)
+		       ? 0 : LOOKUP_ONLYCONVERTING));
+      if (pop_p)
+	pop_scope (DECL_CONTEXT (decl));
+    }
 
   /* Remember whether or not variables were initialized by
      constant-expressions.  */
diff -Nurp gcc-3.4.4.orig/gcc/cp/pt.c gcc-3.4.4/gcc/cp/pt.c
--- gcc-3.4.4.orig/gcc/cp/pt.c	2005-03-06 11:59:08.000000000 -0500
+++ gcc-3.4.4/gcc/cp/pt.c	2006-02-10 01:38:15.000000000 -0500
@@ -11265,20 +11265,13 @@ instantiate_decl (tree d, int defer_ok)
 	}
       else
 	{
-	  /* This is done in analogous to `start_decl'.  It is
-	     required for correct access checking.  */
+	  /* Enter the scope of D so that access-checking works correctly.  */
 	  push_nested_class (DECL_CONTEXT (d));
 	  cp_finish_decl (d, 
 			  (!DECL_INITIALIZED_IN_CLASS_P (d) 
 			   ? DECL_INITIAL (d) : NULL_TREE),
 			  NULL_TREE, 0);
-	  /* Normally, pop_nested_class is called by cp_finish_decl
-	     above.  But when instantiate_decl is triggered during
-	     instantiate_class_template processing, its DECL_CONTEXT
-	     is still not completed yet, and pop_nested_class isn't
-	     called.  */
-	  if (!COMPLETE_TYPE_P (DECL_CONTEXT (d)))
-	    pop_nested_class ();
+	  pop_nested_class ();
 	}
       /* We're not deferring instantiation any more.  */
       TI_PENDING_TEMPLATE_FLAG (DECL_TEMPLATE_INFO (d)) = 0;
diff -Nurp gcc-3.4.4.orig/gcc/cp/rtti.c gcc-3.4.4/gcc/cp/rtti.c
--- gcc-3.4.4.orig/gcc/cp/rtti.c	2004-07-12 18:26:39.000000000 -0400
+++ gcc-3.4.4/gcc/cp/rtti.c	2006-02-10 01:38:15.000000000 -0500
@@ -354,17 +354,16 @@ get_tinfo_decl (tree type)
       TREE_READONLY (d) = 1;
       TREE_STATIC (d) = 1;
       DECL_EXTERNAL (d) = 1;
+      DECL_TINFO_P (d) = 1;
       DECL_COMDAT (d) = 1;
       TREE_PUBLIC (d) = 1;
       SET_DECL_ASSEMBLER_NAME (d, name);
-
-      pushdecl_top_level_and_finish (d, NULL_TREE);
-
+      /* Remember the type it is for.  */
+      TREE_TYPE (name) = type;
       if (CLASS_TYPE_P (type))
 	CLASSTYPE_TYPEINFO_VAR (TYPE_MAIN_VARIANT (type)) = d;
 
-      /* Remember the type it is for.  */
-      TREE_TYPE (name) = type;
+      pushdecl_top_level_and_finish (d, NULL_TREE);
 
       /* Add decl to the global array of tinfo decls.  */
       my_friendly_assert (unemitted_tinfo_decls != 0, 20030312);
@@ -751,19 +750,20 @@ tinfo_base_init (tree desc, tree target)
                      NULL_TREE);
     tree name_string = tinfo_name (target);
 
+    /* Determine the name of the variable -- and remember with which
+       type it is associated.  */
     name_name = mangle_typeinfo_string_for_type (target);
+    TREE_TYPE (name_name) = target;
+
     name_decl = build_lang_decl (VAR_DECL, name_name, name_type);
-    
+    SET_DECL_ASSEMBLER_NAME (name_decl, name_name);
     DECL_ARTIFICIAL (name_decl) = 1;
     TREE_READONLY (name_decl) = 1;
     TREE_STATIC (name_decl) = 1;
     DECL_EXTERNAL (name_decl) = 0;
+    DECL_TINFO_P (name_decl) = 1;
     TREE_PUBLIC (name_decl) = 1;
     import_export_tinfo (name_decl, target, typeinfo_in_lib_p (target));
-    /* External name of the string containing the type's name has a
-       special name.  */
-    SET_DECL_ASSEMBLER_NAME (name_decl,
-			     mangle_typeinfo_string_for_type (target));
     DECL_INITIAL (name_decl) = name_string;
     mark_used (name_decl);
     pushdecl_top_level_and_finish (name_decl, name_string);
diff -Nurp gcc-3.4.4.orig/gcc/doc/invoke.texi gcc-3.4.4/gcc/doc/invoke.texi
--- gcc-3.4.4.orig/gcc/doc/invoke.texi	2005-04-22 02:49:59.000000000 -0400
+++ gcc-3.4.4/gcc/doc/invoke.texi	2006-02-10 01:38:12.000000000 -0500
@@ -183,7 +183,8 @@ in the following sections.
 -fno-optional-diags  -fpermissive @gol
 -frepo  -fno-rtti  -fstats  -ftemplate-depth-@var{n} @gol
 -fuse-cxa-atexit  -fno-weak  -nostdinc++ @gol
--fno-default-inline  -Wabi  -Wctor-dtor-privacy @gol
+-fno-default-inline  -fvisibility-inlines-hidden @gol
+-Wabi  -Wctor-dtor-privacy @gol
 -Wnon-virtual-dtor  -Wreorder @gol
 -Weffc++  -Wno-deprecated @gol
 -Wno-non-template-friend  -Wold-style-cast @gol
@@ -678,7 +679,8 @@ in the following sections.
 -fargument-alias  -fargument-noalias @gol
 -fargument-noalias-global  -fleading-underscore @gol
 -ftls-model=@var{model} @gol
--ftrapv  -fwrapv  -fbounds-check}
+-ftrapv  -fwrapv  -fbounds-check @gol
+-fvisibility}
 @end table
 
 @menu
@@ -1437,6 +1439,20 @@ This option is required for fully standa
 destructors, but will only work if your C library supports
 @code{__cxa_atexit}.
 
+@item -fvisibility-inlines-hidden
+@opindex fvisibility-inlines-hidden
+Causes all inlined methods to be marked with
+@code{__attribute__ ((visibility ("hidden")))} so that they do not
+appear in the export table of a DSO and do not require a PLT indirection
+when used within the DSO. Enabling this option can have a dramatic effect
+on load and link times of a DSO as it massively reduces the size of the
+dynamic export table when the library makes heavy use of templates. While
+it can cause bloating through duplication of code within each DSO where
+it is used, often the wastage is less than the considerable space occupied
+by a long symbol name in the export table which is typical when using
+templates and namespaces. For even more savings, combine with the
+@code{-fvisibility=hidden} switch.
+
 @item -fno-weak
 @opindex fno-weak
 Do not use weak symbol support, even if it is provided by the linker.
@@ -11270,6 +11286,54 @@ The @var{model} argument should be one o
 
 The default without @option{-fpic} is @code{initial-exec}; with
 @option{-fpic} the default is @code{global-dynamic}.
+
+@item -fvisibility=@var{default|internal|hidden|protected}
+@opindex fvisibility
+Set the default ELF image symbol visibility to the specified option - all
+symbols will be marked with this unless overrided within the code.
+Using this feature can very substantially improve linking and
+load times of shared object libraries, produce more optimised
+code, provide near-perfect API export and prevent symbol clashes.
+It is @strong{strongly} recommended that you use this in any shared objects
+you distribute.
+     
+Despite the nomenclature, @code{default} always means public ie;
+available to be linked against from outside the shared object.
+@code{protected} and @code{internal} are pretty useless in real-world
+usage so the only other commonly used option will be @code{hidden}.
+The default if -fvisibility isn't specified is @code{default} ie; make every
+symbol public - this causes the same behaviour as previous versions of
+GCC.
+     
+A good explanation of the benefits offered by ensuring ELF
+symbols have the correct visibility is given by ``How To Write
+Shared Libraries'' by Ulrich Drepper (which can be found at
+@w{@uref{http://people.redhat.com/~drepper/}}) - however a superior
+solution made possible by this option to marking things hidden when
+the default is public is to make the default hidden and mark things
+public. This is the norm with DLL's on Windows and with @option{-fvisibility=hidden}
+and @code{__attribute__ ((visibility("default")))} instead of
+@code{__declspec(dllexport)} you get almost identical semantics with
+identical syntax. This is a great boon to those working with
+cross-platform projects.
+
+For those adding visibility support to existing code, you may find
+@samp{#pragma GCC visibility} of use. This works by you enclosing
+the declarations you wish to set visibility for with (for example)
+@samp{#pragma GCC visibility push(hidden)} and
+@samp{#pragma GCC visibility pop}. These can be nested up to sixteen
+times. Bear in mind that symbol visibility should be viewed @strong{as
+part of the API interface contract} and thus all new code should
+always specify visibility when it is not the default ie; declarations
+only for use within the local DSO should @strong{always} be marked explicitly
+as hidden as so to avoid PLT indirection overheads - making this
+abundantly clear also aids readability and self-documentation of the code.
+Note that due to ISO C++ specification requirements, operator new and
+operator delete must always be of default visibility.
+
+An overview of these techniques, their benefits and how to use them
+is at @w{@uref{http://www.nedprod.com/programs/gccvisibility.html}}.
+
 @end table
 
 @c man end
diff -Nurp gcc-3.4.4.orig/gcc/flags.h gcc-3.4.4/gcc/flags.h
--- gcc-3.4.4.orig/gcc/flags.h	2004-02-17 19:09:04.000000000 -0500
+++ gcc-3.4.4/gcc/flags.h	2006-02-10 01:38:12.000000000 -0500
@@ -60,6 +60,30 @@ extern bool use_gnu_debug_info_extension
 /* Nonzero means emit debugging information only for symbols which are used.  */
 extern int flag_debug_only_used_symbols;
 
+/* Enumerate visibility settings.  */
+#ifndef SYMBOL_VISIBILITY_DEFINED
+#define SYMBOL_VISIBILITY_DEFINED
+enum symbol_visibility
+{
+  VISIBILITY_DEFAULT,
+  VISIBILITY_INTERNAL,
+  VISIBILITY_HIDDEN,
+  VISIBILITY_PROTECTED
+};
+#endif
+
+/* The default visibility for all symbols (unless overridden).  */
+extern enum symbol_visibility default_visibility;
+
+struct visibility_flags
+{
+  unsigned inpragma : 1;	/* True when in #pragma GCC visibility.  */
+  unsigned inlines_hidden : 1;	/* True when -finlineshidden in effect.  */
+};
+
+/* Global visibility options.  */
+extern struct visibility_flags visibility_options;
+
 /* Nonzero means do optimizations.  -opt.  */
 
 extern int optimize;
diff -Nurp gcc-3.4.4.orig/gcc/opts.c gcc-3.4.4/gcc/opts.c
--- gcc-3.4.4.orig/gcc/opts.c	2004-02-17 19:09:04.000000000 -0500
+++ gcc-3.4.4/gcc/opts.c	2006-02-10 01:38:12.000000000 -0500
@@ -142,6 +142,12 @@ enum debug_info_level debug_info_level =
    write_symbols is set to DBX_DEBUG, XCOFF_DEBUG, or DWARF_DEBUG.  */
 bool use_gnu_debug_info_extensions;
 
+/* The default visibility for all symbols (unless overridden) */
+enum symbol_visibility default_visibility = VISIBILITY_DEFAULT;
+
+/* Global visibility options.  */
+struct visibility_flags visibility_options;
+
 /* Columns of --help display.  */
 static unsigned int columns = 80;
 
@@ -1214,6 +1220,21 @@ common_handle_option (size_t scode, cons
       flag_profile_values = value;
       break;
 
+    case OPT_fvisibility_:
+      {
+        if (!strcmp(arg, "default"))
+          default_visibility = VISIBILITY_DEFAULT;
+        else if (!strcmp(arg, "internal"))
+          default_visibility = VISIBILITY_INTERNAL;
+        else if (!strcmp(arg, "hidden"))
+          default_visibility = VISIBILITY_HIDDEN;
+        else if (!strcmp(arg, "protected"))
+          default_visibility = VISIBILITY_PROTECTED;
+        else
+          error ("unrecognised visibility value \"%s\"", arg);
+      }
+      break;
+
     case OPT_fvpt:
       flag_value_profile_transformations_set = value;
       flag_value_profile_transformations = value;
diff -Nurp gcc-3.4.4.orig/gcc/testsuite/g++.dg/ext/visibility/assign1.C gcc-3.4.4/gcc/testsuite/g++.dg/ext/visibility/assign1.C
--- gcc-3.4.4.orig/gcc/testsuite/g++.dg/ext/visibility/assign1.C	1969-12-31 19:00:00.000000000 -0500
+++ gcc-3.4.4/gcc/testsuite/g++.dg/ext/visibility/assign1.C	2006-02-10 01:38:18.000000000 -0500
@@ -0,0 +1,17 @@
+/* { dg-do compile } */
+/* { dg-require-visibility "" } */
+/* { dg-final { scan-hidden "_ZN1DaSERKS_" } } */
+
+struct B {
+  B& operator=(const B&);
+};
+
+struct D : public B {
+  // The implicit assignment operator should be hidden.
+} __attribute__((visibility("hidden")));
+
+D d1, d2;
+
+void f() {
+  d1 = d2;
+}
diff -Nurp gcc-3.4.4.orig/gcc/testsuite/g++.dg/ext/visibility/fvisibility-inlines-hidden.C gcc-3.4.4/gcc/testsuite/g++.dg/ext/visibility/fvisibility-inlines-hidden.C
--- gcc-3.4.4.orig/gcc/testsuite/g++.dg/ext/visibility/fvisibility-inlines-hidden.C	1969-12-31 19:00:00.000000000 -0500
+++ gcc-3.4.4/gcc/testsuite/g++.dg/ext/visibility/fvisibility-inlines-hidden.C	2006-02-10 01:38:18.000000000 -0500
@@ -0,0 +1,18 @@
+/* Test that -fvisibility-inlines-hidden affects class members. */
+/* { dg-do compile } */
+/* { dg-require-visibility "" } */
+/* { dg-options "-fvisibility-inlines-hidden" } */
+/* { dg-final { scan-hidden "_ZN3Foo6methodEv" } } */
+
+class Foo
+{
+public:
+  void method() { }
+};
+
+int main(void)
+{
+  Foo f;
+  f.method();
+  return 0;
+}
diff -Nurp gcc-3.4.4.orig/gcc/testsuite/g++.dg/ext/visibility/fvisibility-override1.C gcc-3.4.4/gcc/testsuite/g++.dg/ext/visibility/fvisibility-override1.C
--- gcc-3.4.4.orig/gcc/testsuite/g++.dg/ext/visibility/fvisibility-override1.C	1969-12-31 19:00:00.000000000 -0500
+++ gcc-3.4.4/gcc/testsuite/g++.dg/ext/visibility/fvisibility-override1.C	2006-02-10 01:38:13.000000000 -0500
@@ -0,0 +1,12 @@
+/* Test that -fvisibility does not override class member specific settings. */
+/* { dg-do compile } */
+/* { dg-require-visibility "" } */
+/* { dg-options "-fvisibility=hidden" } */
+/* { dg-final { scan-assembler "\\.internal.*Foo.methodEv" } } */
+
+class __attribute__ ((visibility ("internal"))) Foo
+{
+  void method();
+};
+
+void Foo::method() { }
diff -Nurp gcc-3.4.4.orig/gcc/testsuite/g++.dg/ext/visibility/fvisibility-override2.C gcc-3.4.4/gcc/testsuite/g++.dg/ext/visibility/fvisibility-override2.C
--- gcc-3.4.4.orig/gcc/testsuite/g++.dg/ext/visibility/fvisibility-override2.C	1969-12-31 19:00:00.000000000 -0500
+++ gcc-3.4.4/gcc/testsuite/g++.dg/ext/visibility/fvisibility-override2.C	2006-02-10 01:38:13.000000000 -0500
@@ -0,0 +1,12 @@
+/* Test that -fvisibility does not override class member specific settings. */
+/* { dg-do compile } */
+/* { dg-require-visibility "" } */
+/* { dg-options "-fvisibility=hidden" } */
+/* { dg-final { scan-assembler "\\.internal.*Foo.methodEv" } } */
+
+class Foo
+{
+  __attribute__ ((visibility ("internal"))) void method();
+};
+
+void Foo::method() { }
diff -Nurp gcc-3.4.4.orig/gcc/testsuite/g++.dg/ext/visibility/fvisibility.C gcc-3.4.4/gcc/testsuite/g++.dg/ext/visibility/fvisibility.C
--- gcc-3.4.4.orig/gcc/testsuite/g++.dg/ext/visibility/fvisibility.C	1969-12-31 19:00:00.000000000 -0500
+++ gcc-3.4.4/gcc/testsuite/g++.dg/ext/visibility/fvisibility.C	2006-02-10 01:38:18.000000000 -0500
@@ -0,0 +1,12 @@
+/* Test that -fvisibility affects class members. */
+/* { dg-do compile } */
+/* { dg-require-visibility "" } */
+/* { dg-options "-fvisibility=hidden" } */
+/* { dg-final { scan-hidden "_ZN3Foo6methodEv" } } */
+
+class Foo
+{
+  void method();
+};
+
+void Foo::method() { }
diff -Nurp gcc-3.4.4.orig/gcc/testsuite/g++.dg/ext/visibility/memfuncts.C gcc-3.4.4/gcc/testsuite/g++.dg/ext/visibility/memfuncts.C
--- gcc-3.4.4.orig/gcc/testsuite/g++.dg/ext/visibility/memfuncts.C	1969-12-31 19:00:00.000000000 -0500
+++ gcc-3.4.4/gcc/testsuite/g++.dg/ext/visibility/memfuncts.C	2006-02-10 01:38:18.000000000 -0500
@@ -0,0 +1,11 @@
+/* Test that setting visibility for class member functions works. */
+/* { dg-do compile } */
+/* { dg-require-visibility "" } */
+/* { dg-final { scan-hidden "_ZN3Foo6methodEv" } } */
+
+class __attribute__ ((visibility ("hidden"))) Foo
+{
+  void method();
+};
+
+void Foo::method() { }
diff -Nurp gcc-3.4.4.orig/gcc/testsuite/g++.dg/ext/visibility/new1.C gcc-3.4.4/gcc/testsuite/g++.dg/ext/visibility/new1.C
--- gcc-3.4.4.orig/gcc/testsuite/g++.dg/ext/visibility/new1.C	1969-12-31 19:00:00.000000000 -0500
+++ gcc-3.4.4/gcc/testsuite/g++.dg/ext/visibility/new1.C	2006-02-10 01:38:18.000000000 -0500
@@ -0,0 +1,13 @@
+// { dg-require-visibility "" }
+// { dg-options "-fvisibility=hidden" }
+// { dg-final { scan-not-hidden "_Znwj" } }
+
+void f() {
+  new int;
+}
+
+void *g();
+
+void *operator new(__SIZE_TYPE__) {
+  return g();
+}
diff -Nurp gcc-3.4.4.orig/gcc/testsuite/g++.dg/ext/visibility/noPLT.C gcc-3.4.4/gcc/testsuite/g++.dg/ext/visibility/noPLT.C
--- gcc-3.4.4.orig/gcc/testsuite/g++.dg/ext/visibility/noPLT.C	1969-12-31 19:00:00.000000000 -0500
+++ gcc-3.4.4/gcc/testsuite/g++.dg/ext/visibility/noPLT.C	2006-02-10 01:38:13.000000000 -0500
@@ -0,0 +1,20 @@
+/* Test that -fvisibility=hidden prevents PLT. */
+/* { dg-do compile } */
+/* { dg-require-visibility "" } */
+/* { dg-options "-fPIC -fvisibility=hidden" } */
+/* { dg-final { scan-assembler-not "methodEv@PLT" } } */
+
+class Foo
+{
+public:
+  void method();
+};
+
+void Foo::method() { }
+
+int main(void)
+{
+  Foo f;
+  f.method();
+  return 0;
+}
diff -Nurp gcc-3.4.4.orig/gcc/testsuite/g++.dg/ext/visibility/pragma-override1.C gcc-3.4.4/gcc/testsuite/g++.dg/ext/visibility/pragma-override1.C
--- gcc-3.4.4.orig/gcc/testsuite/g++.dg/ext/visibility/pragma-override1.C	1969-12-31 19:00:00.000000000 -0500
+++ gcc-3.4.4/gcc/testsuite/g++.dg/ext/visibility/pragma-override1.C	2006-02-10 01:38:13.000000000 -0500
@@ -0,0 +1,13 @@
+/* Test that #pragma GCC visibility does not override class member specific settings. */
+/* { dg-do compile } */
+/* { dg-require-visibility "" } */
+/* { dg-final { scan-assembler "\\.internal.*Foo.methodEv" } } */
+
+#pragma GCC visibility push(hidden)
+class __attribute__ ((visibility ("internal"))) Foo
+{
+  void method();
+};
+#pragma GCC visibility pop
+
+void Foo::method() { }
diff -Nurp gcc-3.4.4.orig/gcc/testsuite/g++.dg/ext/visibility/pragma-override2.C gcc-3.4.4/gcc/testsuite/g++.dg/ext/visibility/pragma-override2.C
--- gcc-3.4.4.orig/gcc/testsuite/g++.dg/ext/visibility/pragma-override2.C	1969-12-31 19:00:00.000000000 -0500
+++ gcc-3.4.4/gcc/testsuite/g++.dg/ext/visibility/pragma-override2.C	2006-02-10 01:38:13.000000000 -0500
@@ -0,0 +1,13 @@
+/* Test that #pragma GCC visibility does not override class member specific settings. */
+/* { dg-do compile } */
+/* { dg-require-visibility "" } */
+/* { dg-final { scan-assembler "\\.internal.*Foo.methodEv" } } */
+
+#pragma GCC visibility push(hidden)
+class Foo
+{
+  __attribute__ ((visibility ("internal"))) void method();
+};
+#pragma GCC visibility pop
+
+void Foo::method() { }
diff -Nurp gcc-3.4.4.orig/gcc/testsuite/g++.dg/ext/visibility/pragma.C gcc-3.4.4/gcc/testsuite/g++.dg/ext/visibility/pragma.C
--- gcc-3.4.4.orig/gcc/testsuite/g++.dg/ext/visibility/pragma.C	1969-12-31 19:00:00.000000000 -0500
+++ gcc-3.4.4/gcc/testsuite/g++.dg/ext/visibility/pragma.C	2006-02-10 01:38:18.000000000 -0500
@@ -0,0 +1,13 @@
+/* Test that #pragma GCC visibility affects class members. */
+/* { dg-do compile } */
+/* { dg-require-visibility "" } */
+/* { dg-final { scan-hidden "_ZN3Foo6methodEv" } } */
+
+#pragma GCC visibility push(hidden)
+class Foo
+{
+  void method();
+};
+#pragma GCC visibility pop
+
+void Foo::method() { }
diff -Nurp gcc-3.4.4.orig/gcc/testsuite/g++.dg/ext/visibility/staticmemfuncts.C gcc-3.4.4/gcc/testsuite/g++.dg/ext/visibility/staticmemfuncts.C
--- gcc-3.4.4.orig/gcc/testsuite/g++.dg/ext/visibility/staticmemfuncts.C	1969-12-31 19:00:00.000000000 -0500
+++ gcc-3.4.4/gcc/testsuite/g++.dg/ext/visibility/staticmemfuncts.C	2006-02-10 01:38:18.000000000 -0500
@@ -0,0 +1,11 @@
+/* Test that setting visibility for static class member functions works. */
+/* { dg-do compile } */
+/* { dg-require-visibility "" } */
+/* { dg-final { scan-hidden "_ZN3Foo6methodEv" } } */
+
+class __attribute__ ((visibility ("hidden"))) Foo
+{
+  static void method();
+};
+
+void Foo::method() { }
diff -Nurp gcc-3.4.4.orig/gcc/testsuite/g++.dg/ext/visibility/virtual.C gcc-3.4.4/gcc/testsuite/g++.dg/ext/visibility/virtual.C
--- gcc-3.4.4.orig/gcc/testsuite/g++.dg/ext/visibility/virtual.C	1969-12-31 19:00:00.000000000 -0500
+++ gcc-3.4.4/gcc/testsuite/g++.dg/ext/visibility/virtual.C	2006-02-10 01:38:18.000000000 -0500
@@ -0,0 +1,11 @@
+/* Test that setting visibility for class affects virtual table. */
+/* { dg-do compile } */
+/* { dg-require-visibility "" } */
+/* { dg-final { scan-hidden "ZTV3Foo" } } */
+
+class __attribute__ ((visibility ("hidden"))) Foo
+{
+  virtual void method();
+};
+
+void Foo::method() { }
diff -Nurp gcc-3.4.4.orig/gcc/testsuite/g++.dg/ext/visibility/visibility-1.C gcc-3.4.4/gcc/testsuite/g++.dg/ext/visibility/visibility-1.C
--- gcc-3.4.4.orig/gcc/testsuite/g++.dg/ext/visibility/visibility-1.C	1969-12-31 19:00:00.000000000 -0500
+++ gcc-3.4.4/gcc/testsuite/g++.dg/ext/visibility/visibility-1.C	2006-02-10 01:38:18.000000000 -0500
@@ -0,0 +1,8 @@
+/* Test visibility attribute on function definition. */
+/* { dg-require-visibility "" }
+/* { dg-final { scan-hidden "_Z3foov" } } */
+
+void
+__attribute__((visibility ("hidden")))
+foo()
+{ }
diff -Nurp gcc-3.4.4.orig/gcc/testsuite/g++.dg/ext/visibility/visibility-2.C gcc-3.4.4/gcc/testsuite/g++.dg/ext/visibility/visibility-2.C
--- gcc-3.4.4.orig/gcc/testsuite/g++.dg/ext/visibility/visibility-2.C	1969-12-31 19:00:00.000000000 -0500
+++ gcc-3.4.4/gcc/testsuite/g++.dg/ext/visibility/visibility-2.C	2006-02-10 01:38:18.000000000 -0500
@@ -0,0 +1,7 @@
+/* Test that visibility attribute on declaration extends to definition. */
+/* { dg-require-visibility "" }
+/* { dg-final { scan-hidden "_Z3foov" } } */
+
+void __attribute__((visibility ("hidden"))) foo();
+
+void foo() { }
diff -Nurp gcc-3.4.4.orig/gcc/testsuite/g++.dg/ext/visibility/visibility-3.C gcc-3.4.4/gcc/testsuite/g++.dg/ext/visibility/visibility-3.C
--- gcc-3.4.4.orig/gcc/testsuite/g++.dg/ext/visibility/visibility-3.C	1969-12-31 19:00:00.000000000 -0500
+++ gcc-3.4.4/gcc/testsuite/g++.dg/ext/visibility/visibility-3.C	2006-02-10 01:38:18.000000000 -0500
@@ -0,0 +1,7 @@
+/* Test visibility attribute on forward declaration of global variable */
+/* { dg-require-visibility "" }
+/* { dg-final { scan-hidden "xyzzy" } } */
+
+int
+__attribute__((visibility ("hidden")))
+xyzzy = 5;
diff -Nurp gcc-3.4.4.orig/gcc/testsuite/g++.dg/ext/visibility/visibility-4.C gcc-3.4.4/gcc/testsuite/g++.dg/ext/visibility/visibility-4.C
--- gcc-3.4.4.orig/gcc/testsuite/g++.dg/ext/visibility/visibility-4.C	1969-12-31 19:00:00.000000000 -0500
+++ gcc-3.4.4/gcc/testsuite/g++.dg/ext/visibility/visibility-4.C	2006-02-10 01:38:18.000000000 -0500
@@ -0,0 +1,8 @@
+/* Test visibility attribute on forward declaration of global variable */
+/* { dg-require-visibility "" }
+/* { dg-final { scan-hidden "xyzzy" } } */
+
+extern int __attribute__ ((visibility ("hidden")))
+xyzzy;
+
+int xyzzy = 5;
diff -Nurp gcc-3.4.4.orig/gcc/testsuite/g++.dg/ext/visibility/visibility-5.C gcc-3.4.4/gcc/testsuite/g++.dg/ext/visibility/visibility-5.C
--- gcc-3.4.4.orig/gcc/testsuite/g++.dg/ext/visibility/visibility-5.C	1969-12-31 19:00:00.000000000 -0500
+++ gcc-3.4.4/gcc/testsuite/g++.dg/ext/visibility/visibility-5.C	2006-02-10 01:38:18.000000000 -0500
@@ -0,0 +1,11 @@
+/* Test visibility attribute on definition of a function that has
+   already had a forward declaration. */
+/* { dg-require-visibility "" }
+/* { dg-final { scan-hidden "_Z3foov" } } */
+
+void foo();
+
+void 
+ __attribute__((visibility ("hidden")))
+foo() 
+{ }
diff -Nurp gcc-3.4.4.orig/gcc/testsuite/g++.dg/ext/visibility/visibility-6.C gcc-3.4.4/gcc/testsuite/g++.dg/ext/visibility/visibility-6.C
--- gcc-3.4.4.orig/gcc/testsuite/g++.dg/ext/visibility/visibility-6.C	1969-12-31 19:00:00.000000000 -0500
+++ gcc-3.4.4/gcc/testsuite/g++.dg/ext/visibility/visibility-6.C	2006-02-10 01:38:18.000000000 -0500
@@ -0,0 +1,10 @@
+/* Test visibility attribute on definition of global variable that has
+   already had a forward declaration. */
+/* { dg-require-visibility "" }
+/* { dg-final { scan-hidden "xyzzy" } } */
+
+extern int xyzzy;
+
+int 
+__attribute__((visibility ("hidden")))
+xyzzy = 5;
diff -Nurp gcc-3.4.4.orig/gcc/testsuite/g++.dg/ext/visibility/visibility-7.C gcc-3.4.4/gcc/testsuite/g++.dg/ext/visibility/visibility-7.C
--- gcc-3.4.4.orig/gcc/testsuite/g++.dg/ext/visibility/visibility-7.C	1969-12-31 19:00:00.000000000 -0500
+++ gcc-3.4.4/gcc/testsuite/g++.dg/ext/visibility/visibility-7.C	2006-02-10 01:38:18.000000000 -0500
@@ -0,0 +1,11 @@
+/* Test warning from conflicting visibility specifications. */
+/* { dg-require-visibility "" } */
+/* { dg-final { scan-hidden "xyzzy" } } */
+
+extern int 
+__attribute__((visibility ("hidden")))
+xyzzy; /* { dg-warning "previous declaration here" "" } */
+
+int 
+__attribute__((visibility ("protected")))
+xyzzy = 5; /* { dg-warning "visibility attribute ignored" "" } */
diff -Nurp gcc-3.4.4.orig/gcc/testsuite/g++.dg/ext/visibility-1.C gcc-3.4.4/gcc/testsuite/g++.dg/ext/visibility-1.C
--- gcc-3.4.4.orig/gcc/testsuite/g++.dg/ext/visibility-1.C	2003-12-10 01:34:44.000000000 -0500
+++ gcc-3.4.4/gcc/testsuite/g++.dg/ext/visibility-1.C	1969-12-31 19:00:00.000000000 -0500
@@ -1,8 +0,0 @@
-/* Test visibility attribute on function definition. */
-/* { dg-do compile { target *86-*-linux* } } */
-/* { dg-final { scan-assembler "\\.hidden.*_Z3foov" } } */
-
-void
-__attribute__((visibility ("hidden")))
-foo()
-{ }
diff -Nurp gcc-3.4.4.orig/gcc/testsuite/g++.dg/ext/visibility-2.C gcc-3.4.4/gcc/testsuite/g++.dg/ext/visibility-2.C
--- gcc-3.4.4.orig/gcc/testsuite/g++.dg/ext/visibility-2.C	2003-12-10 01:34:44.000000000 -0500
+++ gcc-3.4.4/gcc/testsuite/g++.dg/ext/visibility-2.C	1969-12-31 19:00:00.000000000 -0500
@@ -1,7 +0,0 @@
-/* Test that visibility attribute on declaration extends to definition. */
-/* { dg-do compile { target *86-*-linux* } } */
-/* { dg-final { scan-assembler "\\.hidden.*_Z3foov" } } */
-
-void __attribute__((visibility ("hidden"))) foo();
-
-void foo() { }
diff -Nurp gcc-3.4.4.orig/gcc/testsuite/g++.dg/ext/visibility-3.C gcc-3.4.4/gcc/testsuite/g++.dg/ext/visibility-3.C
--- gcc-3.4.4.orig/gcc/testsuite/g++.dg/ext/visibility-3.C	2003-12-10 01:34:45.000000000 -0500
+++ gcc-3.4.4/gcc/testsuite/g++.dg/ext/visibility-3.C	1969-12-31 19:00:00.000000000 -0500
@@ -1,7 +0,0 @@
-/* Test visibility attribute on forward declaration of global variable */
-/* { dg-do compile { target *86-*-linux* } } */
-/* { dg-final { scan-assembler "\\.hidden.*xyzzy" } } */
-
-int
-__attribute__((visibility ("hidden")))
-xyzzy = 5;
diff -Nurp gcc-3.4.4.orig/gcc/testsuite/g++.dg/ext/visibility-4.C gcc-3.4.4/gcc/testsuite/g++.dg/ext/visibility-4.C
--- gcc-3.4.4.orig/gcc/testsuite/g++.dg/ext/visibility-4.C	2003-12-10 01:34:45.000000000 -0500
+++ gcc-3.4.4/gcc/testsuite/g++.dg/ext/visibility-4.C	1969-12-31 19:00:00.000000000 -0500
@@ -1,8 +0,0 @@
-/* Test visibility attribute on forward declaration of global variable */
-/* { dg-do compile { target *86-*-linux* } } */
-/* { dg-final { scan-assembler "\\.hidden.*xyzzy" } } */
-
-extern int __attribute__ ((visibility ("hidden")))
-xyzzy;
-
-int xyzzy = 5;
diff -Nurp gcc-3.4.4.orig/gcc/testsuite/g++.dg/ext/visibility-5.C gcc-3.4.4/gcc/testsuite/g++.dg/ext/visibility-5.C
--- gcc-3.4.4.orig/gcc/testsuite/g++.dg/ext/visibility-5.C	2003-12-10 01:34:45.000000000 -0500
+++ gcc-3.4.4/gcc/testsuite/g++.dg/ext/visibility-5.C	1969-12-31 19:00:00.000000000 -0500
@@ -1,11 +0,0 @@
-/* Test visibility attribute on definition of a function that has
-   already had a forward declaration. */
-/* { dg-do compile { target *86-*-linux* } } */
-/* { dg-final { scan-assembler "\\.hidden.*_Z3foov" } } */
-
-void foo();
-
-void 
- __attribute__((visibility ("hidden")))
-foo() 
-{ }
diff -Nurp gcc-3.4.4.orig/gcc/testsuite/g++.dg/ext/visibility-6.C gcc-3.4.4/gcc/testsuite/g++.dg/ext/visibility-6.C
--- gcc-3.4.4.orig/gcc/testsuite/g++.dg/ext/visibility-6.C	2003-12-10 01:34:45.000000000 -0500
+++ gcc-3.4.4/gcc/testsuite/g++.dg/ext/visibility-6.C	1969-12-31 19:00:00.000000000 -0500
@@ -1,10 +0,0 @@
-/* Test visibility attribute on definition of global variable that has
-   already had a forward declaration. */
-/* { dg-do compile { target *86-*-linux* } } */
-/* { dg-final { scan-assembler "\\.hidden.*xyzzy" } } */
-
-extern int xyzzy;
-
-int 
-__attribute__((visibility ("hidden")))
-xyzzy = 5;
diff -Nurp gcc-3.4.4.orig/gcc/testsuite/g++.dg/ext/visibility-7.C gcc-3.4.4/gcc/testsuite/g++.dg/ext/visibility-7.C
--- gcc-3.4.4.orig/gcc/testsuite/g++.dg/ext/visibility-7.C	2003-12-10 01:34:45.000000000 -0500
+++ gcc-3.4.4/gcc/testsuite/g++.dg/ext/visibility-7.C	1969-12-31 19:00:00.000000000 -0500
@@ -1,11 +0,0 @@
-/* Test warning from conflicting visibility specifications. */
-/* { dg-do compile { target *86-*-linux* } } */
-/* { dg-final { scan-assembler "\\.hidden.*xyzzy" } } */
-
-extern int 
-__attribute__((visibility ("hidden")))
-xyzzy; /* { dg-warning "previous declaration here" "" } */
-
-int 
-__attribute__((visibility ("protected")))
-xyzzy = 5; /* { dg-warning "visibility attribute ignored" "" } */
diff -Nurp gcc-3.4.4.orig/gcc/testsuite/gcc/testsuite/g++.special/inline-hidden-1.cc gcc-3.4.4/gcc/testsuite/gcc/testsuite/g++.special/inline-hidden-1.cc
--- gcc-3.4.4.orig/gcc/testsuite/gcc/testsuite/g++.special/inline-hidden-1.cc	1969-12-31 19:00:00.000000000 -0500
+++ gcc-3.4.4/gcc/testsuite/gcc/testsuite/g++.special/inline-hidden-1.cc	2006-02-10 01:38:27.000000000 -0500
@@ -0,0 +1,16 @@
+#pragma GCC visibility push(default)
+template<typename CharT>
+struct VisTest
+{
+  inline VisTest ();
+};
+template<typename CharT>
+inline VisTest<CharT>::VisTest()
+{}
+extern template class VisTest<char>;
+#pragma GCC visibility pop
+int some_function( int do_something )
+{
+  VisTest<char> a;
+  return 0;
+}
diff -Nurp gcc-3.4.4.orig/gcc/testsuite/gcc/testsuite/g++.special/inline-hidden-1.x gcc-3.4.4/gcc/testsuite/gcc/testsuite/g++.special/inline-hidden-1.x
--- gcc-3.4.4.orig/gcc/testsuite/gcc/testsuite/g++.special/inline-hidden-1.x	1969-12-31 19:00:00.000000000 -0500
+++ gcc-3.4.4/gcc/testsuite/gcc/testsuite/g++.special/inline-hidden-1.x	2006-02-10 01:38:27.000000000 -0500
@@ -0,0 +1,9 @@
+if ![is-shared-library-supported] {
+    return
+}
+
+#
+# build shared libray
+#
+gcc-special-compile $srcdir/$subdir/inline-hidden-1.cc \
+	"-shared -fPIC -fvisibility-inlines-hidden" "" "no"
diff -Nurp gcc-3.4.4.orig/gcc/testsuite/gcc/testsuite/g++.special/inline-hidden-2.cc gcc-3.4.4/gcc/testsuite/gcc/testsuite/g++.special/inline-hidden-2.cc
--- gcc-3.4.4.orig/gcc/testsuite/gcc/testsuite/g++.special/inline-hidden-2.cc	1969-12-31 19:00:00.000000000 -0500
+++ gcc-3.4.4/gcc/testsuite/gcc/testsuite/g++.special/inline-hidden-2.cc	2006-02-10 01:38:27.000000000 -0500
@@ -0,0 +1,14 @@
+template<typename CharT>
+struct VisTest
+{
+  inline VisTest ();
+};
+template<typename CharT>
+inline VisTest<CharT>::VisTest()
+{}
+extern template class VisTest<char>;
+int some_function( int do_something )
+{
+  VisTest<char> a;
+  return 0;
+}
diff -Nurp gcc-3.4.4.orig/gcc/testsuite/gcc/testsuite/g++.special/inline-hidden-2.x gcc-3.4.4/gcc/testsuite/gcc/testsuite/g++.special/inline-hidden-2.x
--- gcc-3.4.4.orig/gcc/testsuite/gcc/testsuite/g++.special/inline-hidden-2.x	1969-12-31 19:00:00.000000000 -0500
+++ gcc-3.4.4/gcc/testsuite/gcc/testsuite/g++.special/inline-hidden-2.x	2006-02-10 01:38:27.000000000 -0500
@@ -0,0 +1,9 @@
+if ![is-shared-library-supported] {
+    return
+}
+
+#
+# build shared libray
+#
+gcc-special-compile $srcdir/$subdir/inline-hidden-2.cc \
+	"-shared -fPIC -fvisibility-inlines-hidden" "" "yes"
diff -Nurp gcc-3.4.4.orig/gcc/testsuite/gcc/testsuite/g++.special/inline-hidden-3.x gcc-3.4.4/gcc/testsuite/gcc/testsuite/g++.special/inline-hidden-3.x
--- gcc-3.4.4.orig/gcc/testsuite/gcc/testsuite/g++.special/inline-hidden-3.x	1969-12-31 19:00:00.000000000 -0500
+++ gcc-3.4.4/gcc/testsuite/gcc/testsuite/g++.special/inline-hidden-3.x	2006-02-10 01:38:27.000000000 -0500
@@ -0,0 +1,11 @@
+if ![is-shared-library-supported] {
+    return
+}
+
+#
+# build shared libray
+#
+set obj [gcc-special-compile "$srcdir/$subdir/inline-hidden-3a.cc" \
+	 "-fPIC -fvisibility-inlines-hidden" "" "no"]
+gcc-special-compile $srcdir/$subdir/inline-hidden-3b.cc \
+	"-shared -fPIC" "$obj" "no"
diff -Nurp gcc-3.4.4.orig/gcc/testsuite/gcc/testsuite/g++.special/inline-hidden-3a.cc gcc-3.4.4/gcc/testsuite/gcc/testsuite/g++.special/inline-hidden-3a.cc
--- gcc-3.4.4.orig/gcc/testsuite/gcc/testsuite/g++.special/inline-hidden-3a.cc	1969-12-31 19:00:00.000000000 -0500
+++ gcc-3.4.4/gcc/testsuite/gcc/testsuite/g++.special/inline-hidden-3a.cc	2006-02-10 01:38:27.000000000 -0500
@@ -0,0 +1,14 @@
+template<typename CharT>
+struct VisTest
+{
+  inline VisTest ();
+};
+template<typename CharT>
+inline VisTest<CharT>::VisTest()
+{}
+extern template class VisTest<char>;
+int some_function( int do_something )
+{
+  VisTest<char> a;
+  return 0;
+}
diff -Nurp gcc-3.4.4.orig/gcc/testsuite/gcc/testsuite/g++.special/inline-hidden-3b.cc gcc-3.4.4/gcc/testsuite/gcc/testsuite/g++.special/inline-hidden-3b.cc
--- gcc-3.4.4.orig/gcc/testsuite/gcc/testsuite/g++.special/inline-hidden-3b.cc	1969-12-31 19:00:00.000000000 -0500
+++ gcc-3.4.4/gcc/testsuite/gcc/testsuite/g++.special/inline-hidden-3b.cc	2006-02-10 01:38:27.000000000 -0500
@@ -0,0 +1,9 @@
+template<typename CharT>
+struct VisTest
+{
+  inline VisTest ();
+};
+template<typename CharT>
+inline VisTest<CharT>::VisTest()
+{}
+template class VisTest<char>;
diff -Nurp gcc-3.4.4.orig/gcc/testsuite/gcc/testsuite/g++.special/special.exp gcc-3.4.4/gcc/testsuite/gcc/testsuite/g++.special/special.exp
--- gcc-3.4.4.orig/gcc/testsuite/gcc/testsuite/g++.special/special.exp	1969-12-31 19:00:00.000000000 -0500
+++ gcc-3.4.4/gcc/testsuite/gcc/testsuite/g++.special/special.exp	2006-02-10 01:38:27.000000000 -0500
@@ -0,0 +1,30 @@
+# Copyright (C) 2005 Free Software Foundation, Inc.
+
+# 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 of the License, 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; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 
+
+if $tracelevel then {
+    strace $tracelevel
+}
+
+# load support procs
+load_lib gcc-special.exp
+
+#
+# run special tests 
+#
+
+foreach src [lsort [glob -nocomplain $srcdir/$subdir/*.x]] {
+    source $src
+}
diff -Nurp gcc-3.4.4.orig/gcc/testsuite/gcc/testsuite/gcc.special/protfunc-1-dso.c gcc-3.4.4/gcc/testsuite/gcc/testsuite/gcc.special/protfunc-1-dso.c
--- gcc-3.4.4.orig/gcc/testsuite/gcc/testsuite/gcc.special/protfunc-1-dso.c	1969-12-31 19:00:00.000000000 -0500
+++ gcc-3.4.4/gcc/testsuite/gcc/testsuite/gcc.special/protfunc-1-dso.c	2006-02-10 01:38:27.000000000 -0500
@@ -0,0 +1,13 @@
+void
+__attribute__ ((visibility ("protected")))
+foo ()
+{
+}
+
+void (*foo_p) () = foo;
+
+void *
+bar (void)
+{
+  return foo;
+}
diff -Nurp gcc-3.4.4.orig/gcc/testsuite/gcc/testsuite/gcc.special/protfunc-1-main.c gcc-3.4.4/gcc/testsuite/gcc/testsuite/gcc.special/protfunc-1-main.c
--- gcc-3.4.4.orig/gcc/testsuite/gcc/testsuite/gcc.special/protfunc-1-main.c	1969-12-31 19:00:00.000000000 -0500
+++ gcc-3.4.4/gcc/testsuite/gcc/testsuite/gcc.special/protfunc-1-main.c	2006-02-10 01:38:27.000000000 -0500
@@ -0,0 +1,14 @@
+extern void (*foo_p) (void);
+extern void foo (void);
+extern void* bar (void);
+
+int
+main ()
+{
+  void *p;
+  p = bar ();
+  if (p == foo && p == foo_p)
+    return 0;
+  else
+    return 1;
+}
diff -Nurp gcc-3.4.4.orig/gcc/testsuite/gcc/testsuite/gcc.special/protfunc-1.x gcc-3.4.4/gcc/testsuite/gcc/testsuite/gcc.special/protfunc-1.x
--- gcc-3.4.4.orig/gcc/testsuite/gcc/testsuite/gcc.special/protfunc-1.x	1969-12-31 19:00:00.000000000 -0500
+++ gcc-3.4.4/gcc/testsuite/gcc/testsuite/gcc.special/protfunc-1.x	2006-02-10 01:38:27.000000000 -0500
@@ -0,0 +1,14 @@
+if ![is-shared-library-supported] {
+    return
+}
+
+#
+# build shared libray
+#
+set dso [gcc-special-compile $srcdir/$subdir/protfunc-1-dso.c \
+	 "-fPIC -shared -O" "" "no"]
+
+#
+# build and run executable
+#
+gcc-special-execute $srcdir/$subdir/protfunc-1-main.c $dso "-O"
diff -Nurp gcc-3.4.4.orig/gcc/testsuite/gcc/testsuite/gcc.special/special.exp gcc-3.4.4/gcc/testsuite/gcc/testsuite/gcc.special/special.exp
--- gcc-3.4.4.orig/gcc/testsuite/gcc/testsuite/gcc.special/special.exp	1969-12-31 19:00:00.000000000 -0500
+++ gcc-3.4.4/gcc/testsuite/gcc/testsuite/gcc.special/special.exp	2006-02-10 01:38:27.000000000 -0500
@@ -0,0 +1,30 @@
+# Copyright (C) 2005 Free Software Foundation, Inc.
+
+# 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 of the License, 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; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 
+
+if $tracelevel then {
+    strace $tracelevel
+}
+
+# load support procs
+load_lib gcc-special.exp
+
+#
+# run special tests 
+#
+
+foreach src [lsort [glob -nocomplain $srcdir/$subdir/*.x]] {
+    source $src
+}
diff -Nurp gcc-3.4.4.orig/gcc/testsuite/gcc/testsuite/lib/gcc-special.exp gcc-3.4.4/gcc/testsuite/gcc/testsuite/lib/gcc-special.exp
--- gcc-3.4.4.orig/gcc/testsuite/gcc/testsuite/lib/gcc-special.exp	1969-12-31 19:00:00.000000000 -0500
+++ gcc-3.4.4/gcc/testsuite/gcc/testsuite/lib/gcc-special.exp	2006-02-10 01:38:27.000000000 -0500
@@ -0,0 +1,177 @@
+# Copyright (C) 2005 Free Software Foundation, Inc.
+
+# 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 of the License, 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; if not, write to the Free Software
+# Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+# Based on c-torture.exp.
+
+load_lib file-format.exp
+load_lib target-supports.exp
+
+#
+# gcc-special-compile -- compile source file or build shared library.
+#
+# SRC is the full pathname of the testcase.
+# OPTIONS is the specific compiler flag we're testing (eg: -O2).
+# OBJ is the additional object.
+# XFAIL is to indicate if it should fail.
+#
+proc gcc-special-compile { src options obj xfail } {
+    global tool
+    global output
+    global srcdir tmpdir
+    global host_triplet
+
+    if [string match "yes" $xfail] {
+	setup_xfail "*-*-*"
+    }
+
+    set shared "no"
+    set option ""
+    foreach opt $options {
+	if [string match "-shared" $opt] {
+	    lappend option [get-build-shared-library-option]
+	    set shared "yes"
+	} elseif [string match "-fPIC" $opt] {
+	    lappend option [get-compile-shared-library-option]
+	} else {
+	    lappend option "$opt"
+	}
+    }
+
+    if [string match "yes" $shared] {
+	set type "executable"
+	set output "$tmpdir/[file tail [file rootname $src]].so"
+    } else {
+	set type "object"
+	set output "$tmpdir/[file tail [file rootname $src]].o"
+    }
+
+    regsub "^$srcdir/?" $src "" testcase
+    # If we couldn't rip $srcdir out of `src' then just do the best we can.
+    # The point is to reduce the unnecessary noise in the logs.  Don't strip
+    # out too much because different testcases with the same name can confuse
+    # `test-tool'.
+    if [string match "/*" $testcase] {
+	set testcase "[file tail [file dirname $src]]/[file tail $src]"
+    }
+
+    verbose "Testing $testcase, $option" 1
+
+    # Run the compiler and analyze the results.
+    set options ""
+    lappend options "additional_flags=-w $option $obj"
+
+    set comp_output [${tool}_target_compile "$src" "$output" $type $options];
+    if [${tool}_check_compile $testcase $option $output $comp_output] {
+	if [string match "yes" $xfail] {
+	    fail "$testcase, $option"
+	} else {
+	    foreach file "$obj" {
+		remote_file build delete $file
+	    }
+	}
+    } elseif [string match "yes" $xfail] {
+	foreach file "$obj" {
+	    remote_file build delete $file
+	}
+    }
+    return $output
+}
+
+#
+# gcc-special-execute -- utility to compile and execute a testcase
+#
+# SOURCES is a list of full pathnames to the test source files.
+# The first filename in this list forms the "testcase".
+#
+# If the testcase has an associated .x file, we source that to run the
+# test instead.  We use .x so that we don't lengthen the existing filename
+# to more than 14 chars.
+#
+proc gcc-special-execute { sources shlib additional_flags } {
+    global tmpdir tool srcdir output compiler_conditional_xfail_data
+
+    # Use the first source filename given as the filename under test.
+    set src [lindex $sources 0]
+
+    set option ""
+
+    # Check for alternate driver.
+    if [file exists [file rootname $src].x] {
+	verbose "Using alternate driver [file rootname [file tail $src]].x" 2
+	set done_p 0
+	catch "set done_p \[source [file rootname $src].x\]"
+	if { $done_p } {
+	    return
+	}
+    }
+
+    set executable $tmpdir/[file tail [file rootname $src].x]
+
+    regsub "^$srcdir/?" $src "" testcase
+    # If we couldn't rip $srcdir out of `src' then just do the best we can.
+    # The point is to reduce the unnecessary noise in the logs.  Don't strip
+    # out too much because different testcases with the same name can confuse
+    # `test-tool'.
+    if [string match "/*" $testcase] {
+	set testcase "[file tail [file dirname $src]]/[file tail $src]"
+    }
+
+    # torture_{compile,execute}_xfail are set by the .x script
+    # (if present)
+    if [info exists torture_compile_xfail] {
+	setup_xfail $torture_compile_xfail
+    }
+
+    # torture_execute_before_{compile,execute} can be set by the .x script
+    # (if present)
+    if [info exists torture_eval_before_compile] {
+	set ignore_me [eval $torture_eval_before_compile]
+    }
+
+    verbose "Testing $testcase, $option" 1
+
+    set options ""
+    lappend options "additional_flags=-w $option $shlib"
+    if { $additional_flags != "" } {
+	lappend options "additional_flags=$additional_flags";
+    }
+
+    set comp_output [${tool}_target_compile "$sources" "${executable}" executable $options];
+
+    if ![${tool}_check_compile "$testcase compilation" $option $executable $comp_output] {
+	unresolved "$testcase execution, $option"
+	remote_file build delete $executable
+	return
+    }
+
+    if [info exists torture_execute_xfail] {
+	setup_xfail $torture_execute_xfail
+    }
+
+    if [info exists torture_eval_before_execute] {
+	set ignore_me [eval $torture_eval_before_execute]
+    }
+
+    set result [${tool}_load "$executable" "" ""]
+    set status [lindex $result 0];
+    set output [lindex $result 1];
+    $status "$testcase execution, $option"
+    if { $status == "pass" } {
+	foreach file "$executable $shlib" {
+	    remote_file build delete $file
+	}
+    }
+}
diff -Nurp gcc-3.4.4.orig/gcc/testsuite/gcc.dg/visibility-9.c gcc-3.4.4/gcc/testsuite/gcc.dg/visibility-9.c
--- gcc-3.4.4.orig/gcc/testsuite/gcc.dg/visibility-9.c	1969-12-31 19:00:00.000000000 -0500
+++ gcc-3.4.4/gcc/testsuite/gcc.dg/visibility-9.c	2006-02-10 01:38:13.000000000 -0500
@@ -0,0 +1,9 @@
+/* Test that -fvisibility works. */
+/* { dg-do compile } */
+/* { dg-require-visibility "" } */
+/* { dg-options "-fvisibility=hidden" } */
+/* { dg-final { scan-assembler "\\.hidden.*foo" } } */
+
+void foo();
+
+void foo() { }
diff -Nurp gcc-3.4.4.orig/gcc/testsuite/gcc.dg/visibility-a.c gcc-3.4.4/gcc/testsuite/gcc.dg/visibility-a.c
--- gcc-3.4.4.orig/gcc/testsuite/gcc.dg/visibility-a.c	1969-12-31 19:00:00.000000000 -0500
+++ gcc-3.4.4/gcc/testsuite/gcc.dg/visibility-a.c	2006-02-10 01:38:13.000000000 -0500
@@ -0,0 +1,10 @@
+/* Test that #pragma GCC visibility works. */
+/* { dg-do compile } */
+/* { dg-require-visibility "" } */
+/* { dg-final { scan-assembler "\\.hidden.*foo" } } */
+
+#pragma GCC visibility push(hidden)
+void foo();
+#pragma GCC visibility pop
+
+void foo() { }
diff -Nurp gcc-3.4.4.orig/gcc/testsuite/lib/scanasm.exp gcc-3.4.4/gcc/testsuite/lib/scanasm.exp
--- gcc-3.4.4.orig/gcc/testsuite/lib/scanasm.exp	2004-02-12 12:48:32.000000000 -0500
+++ gcc-3.4.4/gcc/testsuite/lib/scanasm.exp	2006-02-10 01:38:18.000000000 -0500
@@ -79,6 +79,32 @@ proc scan-assembler-not { args } {
     dg-scan "scan-assembler-not" 0 $testcase $output_file $args
 }
 
+# Check that a symbol is defined as a hidden symbol in the .s file
+# produced by the compiler.
+
+proc scan-hidden { args } {
+    upvar 2 name testcase
+    set output_file "[file rootname [file tail $testcase]].s"
+
+    set symbol [lindex $args 0]
+    set args [lreplace $args 0 0 "hidden\[ \t_\]*$symbol"]
+
+    dg-scan "scan-hidden" 1 $testcase $output_file $args
+}
+
+# Check that a symbol is not defined as a hidden symbol in the .s file
+# produced by the compiler.
+
+proc scan-not-hidden { args } {
+    upvar 2 name testcase
+    set output_file "[file rootname [file tail $testcase]].s"
+
+    set symbol [lindex $args 0]
+    set args [lreplace $args 0 0 "hidden\[ \t_\]*$symbol"]
+
+    dg-scan "scan-not-hidden" 0 $testcase $output_file $args
+}
+
 # Look for a pattern in OUTPUT_FILE.  See dg-scan for details.
 
 proc scan-file { output_file args } {
diff -Nurp gcc-3.4.4.orig/gcc/testsuite/lib/target-supports.exp gcc-3.4.4/gcc/testsuite/lib/target-supports.exp
--- gcc-3.4.4.orig/gcc/testsuite/lib/target-supports.exp	2004-08-23 14:03:13.000000000 -0400
+++ gcc-3.4.4/gcc/testsuite/lib/target-supports.exp	2006-02-10 01:38:27.000000000 -0500
@@ -289,3 +289,53 @@ proc check_vmx_hw_available { } {
 
     return $vmx_hw_available_saved
 }
+
+# Return 1 if the target support shared library.
+
+proc is-shared-library-supported { } {
+    # Shared library is only supported on a couple of ELF platforms.
+    if { ![istarget hppa*64*-*-hpux*] \
+	 && ![istarget hppa*-*-linux*] \
+	 && ![istarget i?86-*-sysv4*] \
+	 && ![istarget i?86-*-unixware] \
+	 && ![istarget i?86-*-elf*] \
+	 && ![istarget i?86-*-linux*] \
+	 && ![istarget ia64-*-elf*] \
+	 && ![istarget ia64-*-linux*] \
+	 && ![istarget m68k-*-linux*] \
+	 && ![istarget mips*-*-irix5*] \
+	 && ![istarget mips*-*-linux*] \
+	 && ![istarget powerpc-*-elf*] \
+	 && ![istarget powerpc-*-linux*] \
+	 && ![istarget powerpc-*-sysv4*] \
+	 && ![istarget sparc*-*-elf] \
+	 && ![istarget sparc*-*-solaris2*] \
+	 && ![istarget sparc*-*-linux*] \
+	 && ![istarget arm*-*-linux*] \
+	 && ![istarget alpha*-*-linux*] \
+	 && ![istarget s390*-*-linux*] \
+	 && ![istarget x86_64-*-linux*] } {
+	return 0
+    }
+
+    if { [istarget *-*-linux*aout*] \
+	 || [istarget *-*-linux*oldld*] } {
+	return 0
+    }
+
+    return 1
+}
+
+# Return gcc option to compile .o file for shared library.
+
+proc get-compile-shared-library-option { } {
+    set picflag "-fPIC"
+    return $picflag
+}
+
+# Return gcc option to build shared library.
+
+proc get-build-shared-library-option { } {
+    set ldflag "-shared"
+    return $ldflag
+}
diff -Nurp gcc-3.4.4.orig/gcc/tree.c gcc-3.4.4/gcc/tree.c
--- gcc-3.4.4.orig/gcc/tree.c	2004-08-23 14:02:41.000000000 -0400
+++ gcc-3.4.4/gcc/tree.c	2006-02-10 01:38:12.000000000 -0500
@@ -2563,6 +2563,11 @@ build_decl (enum tree_code code, tree na
     layout_decl (t, 0);
   else if (code == FUNCTION_DECL)
     DECL_MODE (t) = FUNCTION_MODE;
+    
+  /* Set default visibility to whatever the user supplied with
+     visibility_specified depending on #pragma GCC visibility.  */
+  DECL_VISIBILITY (t) = default_visibility;
+  DECL_VISIBILITY_SPECIFIED (t) = visibility_options.inpragma;
 
   return t;
 }
diff -Nurp gcc-3.4.4.orig/gcc/tree.h gcc-3.4.4/gcc/tree.h
--- gcc-3.4.4.orig/gcc/tree.h	2005-01-16 11:01:19.000000000 -0500
+++ gcc-3.4.4/gcc/tree.h	2006-02-10 01:38:12.000000000 -0500
@@ -1499,6 +1499,10 @@ struct tree_type GTY(())
 /* Value of the decls's visibility attribute */
 #define DECL_VISIBILITY(NODE) (DECL_CHECK (NODE)->decl.visibility)
 
+/* Nonzero means that the decl had its visibility specified rather than
+   being inferred.  */
+#define DECL_VISIBILITY_SPECIFIED(NODE) (DECL_CHECK (NODE)->decl.visibility_specified)
+
 /* In a FUNCTION_DECL, nonzero if the function cannot be inlined.  */
 #define DECL_UNINLINABLE(NODE) (FUNCTION_DECL_CHECK (NODE)->decl.uninlinable)
 
@@ -1633,7 +1637,8 @@ struct tree_type GTY(())
    || TREE_CODE (DECL_CONTEXT (EXP)) == TRANSLATION_UNIT_DECL)
 
 /* Enumerate visibility settings.  */
-
+#ifndef SYMBOL_VISIBILITY_DEFINED
+#define SYMBOL_VISIBILITY_DEFINED
 enum symbol_visibility
 {
   VISIBILITY_DEFAULT,
@@ -1641,6 +1646,7 @@ enum symbol_visibility
   VISIBILITY_HIDDEN,
   VISIBILITY_PROTECTED
 };
+#endif
 
 struct function;
 
@@ -1684,8 +1690,7 @@ struct tree_decl GTY(())
   unsigned thread_local_flag : 1;
   unsigned declared_inline_flag : 1;
   ENUM_BITFIELD(symbol_visibility) visibility : 2;
-  unsigned unused : 1;
-  /* one unused bit.  */
+  unsigned visibility_specified : 1;
 
   unsigned lang_flag_0 : 1;
   unsigned lang_flag_1 : 1;
diff -Nurp gcc-3.4.4.orig/gcc/varasm.c gcc-3.4.4/gcc/varasm.c
--- gcc-3.4.4.orig/gcc/varasm.c	2005-03-02 15:57:48.000000000 -0500
+++ gcc-3.4.4/gcc/varasm.c	2006-02-10 01:38:12.000000000 -0500
@@ -5211,8 +5211,8 @@ default_binds_local_p_1 (tree exp, int s
   /* Static variables are always local.  */
   else if (! TREE_PUBLIC (exp))
     local_p = true;
-  /* A variable is local if the user tells us so.  */
-  else if (DECL_VISIBILITY (exp) != VISIBILITY_DEFAULT)
+  /* A variable is local if the user explicitly tells us so.  */
+  else if (DECL_VISIBILITY_SPECIFIED (exp) && DECL_VISIBILITY (exp) != VISIBILITY_DEFAULT)
     local_p = true;
   /* Otherwise, variables defined outside this object may not be local.  */
   else if (DECL_EXTERNAL (exp))
@@ -5220,6 +5220,9 @@ default_binds_local_p_1 (tree exp, int s
   /* Linkonce and weak data are never local.  */
   else if (DECL_ONE_ONLY (exp) || DECL_WEAK (exp))
     local_p = false;
+  /* If none of the above and visibility is not default, make local.  */
+  else if (DECL_VISIBILITY (exp) != VISIBILITY_DEFAULT)
+    local_p = true;
   /* If PIC, then assume that any global name can be overridden by
      symbols resolved from other modules.  */
   else if (shlib)
diff -Nurp gcc-3.4.4.orig/libstdc++-v3/include/bits/allocator.h gcc-3.4.4/libstdc++-v3/include/bits/allocator.h
--- gcc-3.4.4.orig/libstdc++-v3/include/bits/allocator.h	2004-03-18 12:36:46.000000000 -0500
+++ gcc-3.4.4/libstdc++-v3/include/bits/allocator.h	2006-02-10 01:38:24.000000000 -0500
@@ -51,6 +51,8 @@
 // Define the base class to std::allocator.
 #include <bits/c++allocator.h>
 
+#pragma GCC visibility push(default)
+
 namespace std
 {
   template<typename _Tp>
@@ -127,4 +129,6 @@ namespace std
 #undef ___glibcxx_base_allocator
 } // namespace std
 
+#pragma GCC visibility pop
+
 #endif
diff -Nurp gcc-3.4.4.orig/libstdc++-v3/include/bits/basic_string.h gcc-3.4.4/libstdc++-v3/include/bits/basic_string.h
--- gcc-3.4.4.orig/libstdc++-v3/include/bits/basic_string.h	2005-04-25 07:02:01.000000000 -0400
+++ gcc-3.4.4/libstdc++-v3/include/bits/basic_string.h	2006-02-10 01:38:24.000000000 -0500
@@ -45,6 +45,8 @@
 #include <bits/atomicity.h>
 #include <debug/debug.h>
 
+#pragma GCC visibility push(default)
+
 namespace std
 {
   /**
@@ -2362,4 +2364,6 @@ namespace std
 	    basic_string<_CharT, _Traits, _Alloc>& __str);
 } // namespace std
 
+#pragma GCC visibility pop
+
 #endif /* _BASIC_STRING_H */
diff -Nurp gcc-3.4.4.orig/libstdc++-v3/include/std/std_fstream.h gcc-3.4.4/libstdc++-v3/include/std/std_fstream.h
--- gcc-3.4.4.orig/libstdc++-v3/include/std/std_fstream.h	2004-09-19 07:26:46.000000000 -0400
+++ gcc-3.4.4/libstdc++-v3/include/std/std_fstream.h	2006-02-10 01:38:24.000000000 -0500
@@ -49,6 +49,8 @@
 #include <bits/basic_file.h>
 #include <bits/gthr.h>
 
+#pragma GCC visibility push(default)
+
 namespace std
 {
   // [27.8.1.1] template class basic_filebuf
@@ -840,4 +842,6 @@ namespace std
 # include <bits/fstream.tcc>
 #endif
 
+#pragma GCC visibility pop
+
 #endif /* _GLIBCXX_FSTREAM */
diff -Nurp gcc-3.4.4.orig/libstdc++-v3/include/std/std_istream.h gcc-3.4.4/libstdc++-v3/include/std/std_istream.h
--- gcc-3.4.4.orig/libstdc++-v3/include/std/std_istream.h	2004-02-11 10:02:03.000000000 -0500
+++ gcc-3.4.4/libstdc++-v3/include/std/std_istream.h	2006-02-10 01:38:24.000000000 -0500
@@ -45,6 +45,8 @@
 #include <ios>
 #include <limits> // For numeric_limits
 
+#pragma GCC visibility push(default)
+
 namespace std
 {
   // [27.6.1.1] Template class basic_istream
@@ -771,4 +773,6 @@ namespace std
 # include <bits/istream.tcc>
 #endif
 
+#pragma GCC visibility pop
+
 #endif	/* _GLIBCXX_ISTREAM */
diff -Nurp gcc-3.4.4.orig/libstdc++-v3/include/std/std_ostream.h gcc-3.4.4/libstdc++-v3/include/std/std_ostream.h
--- gcc-3.4.4.orig/libstdc++-v3/include/std/std_ostream.h	2004-02-11 10:02:03.000000000 -0500
+++ gcc-3.4.4/libstdc++-v3/include/std/std_ostream.h	2006-02-10 01:38:24.000000000 -0500
@@ -44,6 +44,8 @@
 
 #include <ios>
 
+#pragma GCC visibility push(default)
+
 namespace std
 {
   // [27.6.2.1] Template class basic_ostream
@@ -545,4 +547,6 @@ namespace std
 # include <bits/ostream.tcc>
 #endif
 
+#pragma GCC visibility pop
+
 #endif	/* _GLIBCXX_OSTREAM */

Added contrib/gcj-ccache-bindings/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: Masquerade directory to use ccache with gcj.
# URL: http://gcc.gnu.org/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com
# Depends on: gcj ccache

name=gcj-ccache-bindings
version=1
release=1
source=()

build() {
	install -d $PKG/usr/lib/ccache
	ln -s ../../bin/ccache $PKG/usr/lib/ccache/gcj
	ln -s ../../bin/ccache $PKG/usr/lib/ccache/jc1
}

Added contrib/gcj-distcc-bindings/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: Masquerade directory to use distcc with gcj.
# URL: http://gcc.gnu.org/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com
# Depends on: gcj distcc

name=gcj-distcc-bindings
version=1
release=1
source=()

build() {
	install -d $PKG/usr/lib/distcc
	ln -s ../../bin/distcc $PKG/usr/lib/distcc/gcj
	ln -s ../../bin/distcc $PKG/usr/lib/distcc/jc1
}

Added contrib/gcj/Pkgfile.

































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# Description: GNU Java Compiler.
# URL: http://gcc.gnu.org/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Aaron Marks, nymacro at gmail dot com
# Depends on: alsa-lib gtk libart_lgpl libmpc util-linux-ng xorg-libxtst

name=gcj
version=4.5.3
release=2
source=(ftp://ftp.gnu.org/pub/gnu/gcc/gcc-$version/gcc-{core,g++,java}-$version.tar.bz2
	ftp://sourceware.org/pub/java/ecj-4.5.jar
	gcc-nocheck-fixincludes.patch)

build() {
	patch -d gcc-$version -p 1 -i $SRC/gcc-nocheck-fixincludes.patch
	mv $SRC/ecj-4.5.jar $SRC/gcc-$version/ecj.jar

	mkdir build
	cd build
	../gcc-$version/configure \
		--prefix=/usr \
		--mandir=/usr/man \
		--libexecdir=/usr/lib \
		--enable-languages=java \
		--enable-threads=posix \
		--enable-__cxa_atexit \
		--enable-clocale=gnu \
		--enable-shared \
		--enable-java-awt=gtk \
		--disable-nls \
		--with-system-zlib \
		--with-ecj-jar \
		--with-pkgversion="CRUX"

	if [ -n "$(pkginfo -i | grep '^distcc ')" ]; then
		CC="/usr/bin/distcc"
	elif [ -n "$(pkginfo -i | grep '^ccache ')" ]; then
		CC="/usr/bin/ccache"
	fi

	make \
		LD_LIBRARY_PATH="/usr/lib" \
		STAGE_CC_WRAPPER="$CC" \
		STAGE1_CFLAGS="-g -O2"
		BOOT_CFLAGS="$CFLAGS" \
		GCJFLAGS="$CFLAGS" \
		STAGE1_MAKEFLAGS="$MAKEFLAGS" \
		STAGE2_MAKEFLAGS="$MAKEFLAGS"

	make -j 1 DESTDIR=$PKG install

	rm -rf \
		$PKG/usr/share/info \
		$PKG/usr/lib*/{libiberty.a,*-gdb.py} \
		$PKG/usr/lib/nof/*-gdb.py \
		$PKG/usr/bin/*-linux-gnu-* \
		$PKG/usr/lib/gcc/*/$version/{install-tools,include-fixed} \
		$PKG/usr/lib/gcc/*/$version/include/README \
		$PKG/usr/man/man1/{cpp,gcc,gcov,g++}.1 \
		$PKG/usr/man/man7

	python -mcompileall $PKG

	# remove files already on the system out of the port
	for i in $(pkginfo -l gcc |sed -e "s|^|/|"); do
		if [ -e "$i" ] && [ ! -d "$i" ]; then
			if [ -e "$PKG$i" ]; then
				rm "$PKG$i"
			fi
		fi
	done

	# remove empty directories
	find $PKG -depth -empty -delete

	# remove build links from *.la files
	for i in `find $PKG -name '*.la' | sed -e "s|$PKG|/|"`; do
		sed -i "s|-L$SRC[^ ]* ||g" $PKG/$i
	done
}

Added contrib/gcj/gcc-nocheck-fixincludes.patch.





























>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
diff -Nru gcc-4.2.1.orig/fixincludes/Makefile.in gcc-4.2.1/fixincludes/Makefile.in
--- gcc-4.2.1.orig/fixincludes/Makefile.in	2007-08-15 13:45:59.000000000 +0200
+++ gcc-4.2.1/fixincludes/Makefile.in	2007-08-15 14:21:16.000000000 +0200
@@ -169,9 +169,7 @@
 	cp $(srcdir)/../gcc/aclocal.m4 .
 
 check : all
-	autogen -T $(srcdir)/check.tpl $(srcdir)/inclhack.def
-	$(SHELL) ./check.sh $(srcdir)/tests/base
-	@rm -f ./check.sh
+	echo "No check here.."
 
 install : all
 	-rm -rf $(DESTDIR)$(itoolsdir)

Added contrib/gcolor2/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description: GTK+2 color selector
# URL: http://gcolor2.sourceforge.net/
# Maintainer: Jose V Beneyto, sepen at users dot sourceforge dot net
# Packager: Vincenzo Colosimo, vico at bicisport dot de
# Depends on: gtk p5-xml-parser

name=gcolor2
version=0.4
release=3
source=(http://download.sourceforge.net/$name/$name-$version.tar.bz2)

build() {
  cd $name-$version

  sed -i configure \
      -e 's|gentoo_ltmain_version=.*|gentoo_ltmain_version="1.5.18"|'
  ./configure --prefix=/usr \
              --disable-nls

  make
  make DESTDIR=$PKG install
}

Added contrib/gdc-ccache-bindings/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: Masquerade directory to use ccache with gdc.
# URL: http://dgcc.sourceforge.net/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com
# Depends on: gdc ccache

name=gdc-ccache-bindings
version=1
release=1
source=()

build() {
	install -d $PKG/usr/lib/ccache
	ln -s ../../bin/ccache $PKG/usr/lib/ccache/gdc
	ln -s ../../bin/ccache $PKG/usr/lib/ccache/gdmd
}

Added contrib/gdc-distcc-bindings/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: Masquerade directory to use distcc with gdc.
# URL: http://dgcc.sourceforge.net/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com
# Depends on: gdc distcc

name=gdc-distcc-bindings
version=1
release=1
source=()

build() {
	install -d $PKG/usr/lib/distcc
	ln -s ../../bin/distcc $PKG/usr/lib/distcc/gdc
	ln -s ../../bin/distcc $PKG/usr/lib/distcc/gdmd
}

Added contrib/gdc/Pkgfile.



















































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# Description: GDC is a D language front end for the GNU Compiler Collection.
# URL: http://dgcc.sourceforge.net/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com

name=gdc
version=0.24
gcc_version=4.1.2
release=2
source=(http://downloads.sourceforge.net/project/dgcc/$name-$version-src.tar.bz2
	ftp://ftp.gnu.org/pub/gnu/gcc/gcc-$gcc_version/gcc-{core,g++}-$gcc_version.tar.bz2
	gdc-$gcc_version-nocheck-fixincludes.patch
	gdc-$gcc_version-fixinc.patch)

build() {
	patch -d gcc-$gcc_version -p1 -i $SRC/gdc-$gcc_version-nocheck-fixincludes.patch
	patch -d gcc-$gcc_version -p1 -i $SRC/gdc-$gcc_version-fixinc.patch

	sed -i -e 's|VERSUFFIX ""|VERSUFFIX " (CRUX)"|' \
		gcc-$gcc_version/gcc/version.c

	mkdir build
	cd build
	mv $SRC/d $SRC/gcc-$gcc_version/gcc/d

	(
		cd ../gcc-$gcc_version
		./gcc/d/setup-gcc.sh
	)
	
	../gcc-$gcc_version/configure \
		--prefix=/usr \
		--libexecdir=/usr/lib \
		--enable-languages=d \
		--enable-threads=posix \
		--enable-__cxa_atexit \
		--enable-clocale=gnu \
		--enable-shared \
		--disable-nls \
		--with-x=no

	make bootstrap
	make check
	make DESTDIR=$PKG install

	rm \
		$PKG/usr/lib/libiberty.a \
		$PKG/usr/bin/*-linux-gnu-* \
		$PKG/usr/lib/gcc/*/$gcc_version/include/README \
		$PKG/usr/man/man1/{cpp,gcc,gcov}.1
		
	rm -r \
		$PKG/usr/info \
		$PKG/usr/lib/gcc/*/$gcc_version/install-tools \
		$PKG/usr/man/man7

	# remove files already on the system out of the port
	for i in $(pkginfo -l gcc |sed -e "s|^|/|"); do
		if [ -e "$i" ] && [ ! -d "$i" ]; then
			if [ -e "$PKG$i" ]; then
				rm "$PKG$i"
			fi
		fi
	done

	# Remove empty directories
	find $PKG -depth -empty -exec rm -r {} \;

	# remove build paths from *.la files
	for i in $(find $PKG -name '*.la' | sed -e "s|$PKG|/|"); do
		sed -i "s|-L$SRC[^ ]* ||g" $PKG/$i
	done
}

Added contrib/gdc/gdc-4.1.2-fixinc.patch.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
--- gcc-4.1-20060505/gcc/Makefile.in.orig	2006-05-12 12:50:13.051496504 +0200
+++ gcc-4.1-20060505/gcc/Makefile.in	2006-05-12 12:51:05.218565904 +0200
@@ -3178,12 +3178,7 @@
 	fi
 	rm -rf include; mkdir include
 	-chmod a+rx include
-	(TARGET_MACHINE='$(target)'; srcdir=`cd $(srcdir); ${PWD_COMMAND}`; \
-	  SHELL='$(SHELL)'; MACRO_LIST=`${PWD_COMMAND}`/macro_list ; \
-	  export TARGET_MACHINE srcdir SHELL MACRO_LIST && \
-	  cd $(build_objdir)/fixincludes && \
-	  $(SHELL) ./fixinc.sh ../../gcc/include \
-	    $(SYSTEM_HEADER_DIR) $(OTHER_FIXINCLUDES_DIRS) )
+	cd $(build_objdir)/fixincludes
 	rm -f include/syslimits.h
 	if [ -f include/limits.h ]; then \
 	  mv include/limits.h include/syslimits.h; \

Added contrib/gdc/gdc-4.1.2-nocheck-fixincludes.patch.





























>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
diff -Nru gcc-4.0.3-old/fixincludes/Makefile.in gcc-4.0.3/fixincludes/Makefile.in
--- gcc-4.0.3-old/fixincludes/Makefile.in	2006-03-14 02:13:34.000000000 +0100
+++ gcc-4.0.3/fixincludes/Makefile.in	2006-03-14 02:17:39.000000000 +0100
@@ -163,9 +163,7 @@
 	cp $(srcdir)/../gcc/aclocal.m4 .
 
 check : all
-	autogen -T $(srcdir)/check.tpl $(srcdir)/inclhack.def
-	$(SHELL) ./check.sh $(srcdir)/tests/base
-	@rm -f ./check.sh
+	echo "No check here.."
 
 install : all
 	-rm -rf $(DESTDIR)$(itoolsdir)

Added contrib/gdk-pixbuf1/Pkgfile.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Description: GdkPixbuf uses Libart to apply generalized affine transformations to images.
# URL: http://developer.gnome.org/arch/imaging/gdkpixbuf.html
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com
# Depends on: gtk1 libpng libtiff

name=gdk-pixbuf1
version=0.22.0
release=1
source=(http://ftp.gnome.org/pub/GNOME/sources/gdk-pixbuf/${version%.*}/gdk-pixbuf-$version.tar.bz2)

build() {
	cd gdk-pixbuf-$version

	./configure \
		--prefix=/usr \
		--mandir=/usr/man \
		--disable-gnome

	make
	make DESTDIR=$PKG install
	sed -i -e "s|-L$PKG/usr/lib||g" $PKG/usr/lib/*.la
	rm -r $PKG/usr/share/gnome
}

Added contrib/geany-plugins/Pkgfile.

































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# Description: Plugins for geany
# URL: http://plugins.geany.org/geany-plugins/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Jose V Beneyto, sepen at crux dot nu
# Depends on: geany vte enchant

name=geany-plugins
version=0.21.1
release=2
source=(http://plugins.geany.org/$name/$name-$version.tar.bz2)

build () {
  cd $name-$version
  ./configure --prefix=/usr \
              --libexecdir=/usr/lib \
              --disable-nls \
              --enable-addons \
              --enable-codenav \
              --enable-debugger \
              --enable-geanydoc \
              --enable-geanyextrasel \
              --enable-geanygdb \
              --enable-geanyinsertnum \
              --enable-geanylatex \
              --enable-geanylipsum \
              --enable-geanymacro \
              --enable-geanyprj \
              --enable-geanysendmail \
              --enable-geanyvc \
              --enable-largefile \
              --enable-gproject \
              --enable-pretty_printer \
              --enable-shiftcolumn \
              --enable-spellcheck \
              --enable-treebrowser \
              --enable-tableconvert \
              --enable-xmlsnippets \
              --disable-devhelp \
              --disable-geanylua \
              --disable-gtkspell \
              --disable-geanypg \
              --disable-updatechecker \
              --disable-webhelper

  make
  make DESTDIR=$PKG install
  rm -rf $PKG/usr/share/{doc,locale}
}

Added contrib/geany/Pkgfile.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Description: gtk2 text editor with syntax highlighting
# URL: http://www.geany.org/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Hannes Mayer, kontakt at ecarux dot de
# Depends on: gtk
# Nice to have: vte

name=geany
version=0.21
release=1
source=(http://download.geany.org/$name-$version.tar.bz2)

build () {
  cd $name-$version

  ./configure --prefix=/usr \
              --mandir=/usr/man \
              --enable-plugins

  make
  make DESTDIR=$PKG install
  rm -rf $PKG/usr/share/{doc,locale}
}

Added contrib/genmenu/Pkgfile.





























>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# Description: Menu generator for Flux/Black/Openbox, WindowMaker and Enlightenment.
# URL:         http://gtk.no/genmenu
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    Vincenzo Colosimo vico at bicisport dot de
# Depends on:

name=genmenu
version=1.0.7
release=1
source=(http://gtk.no/archive/$name/$name-$version.tar.gz)

build() {
   install -D -m755 -groot -oroot $name-$version/genmenu $PKG/usr/bin/genmenu
}

Added contrib/genshi/Pkgfile.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Description: Python toolkit for generation of output for the web 
# URL: http://genshi.edgewall.org 
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager: Victor Martinez, pitillo at ono dot com 
# Depends on: python

name=genshi
version=0.6
release=1
source=(http://ftp.edgewall.com/pub/genshi/Genshi-$version.tar.gz)

build() {
  cd Genshi-$version
  python setup.py install --prefix=/usr --root=$PKG
}

Added contrib/getmail/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: POP3 mail retriever with reliable Maildir and command delivery
# URL:         http://pyropus.ca/software/getmail/
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    Han Boetes, han at mijncomputer dot nl
# Depends on:  python

name=getmail
version=4.25.0
release=1
source=(http://pyropus.ca/software/$name/old-versions/$name-$version.tar.gz
      $name.diff)

build() {
  cd $name-$version
  patch -p1 < $SRC/$name.diff
  python setup.py install --prefix=/usr --root=$PKG
}

Added contrib/getmail/getmail.diff.





























































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
diff -Nru getmail-4.8.0.orig/setup.py getmail-4.8.0/setup.py
--- getmail-4.8.0.orig/setup.py	2008-03-05 21:32:57.000000000 +1000
+++ getmail-4.8.0/setup.py	2008-03-05 21:35:24.000000000 +1000
@@ -35,16 +35,8 @@
         # hack hack hack hack hack hack hack
         datadir = args[pos + 1]
 
-GETMAILDOCDIR = os.path.join(
-    datadir or prefix,
-    'share',
-    'doc',
-    'getmail-%s' % __version__
-)
-
 GETMAILMANDIR = os.path.join(
     datadir or prefix,
-    'share',
     'man',
     'man1'
 )
@@ -98,25 +90,6 @@
     'getmail_mbox'
     ],
     data_files=[
-        (GETMAILDOCDIR, [
-            './README',
-            './getmail.spec',
-            'docs/BUGS',
-            'docs/COPYING',
-            'docs/CHANGELOG',
-            'docs/TODO',
-            'docs/THANKS',
-            'docs/configuration.html',
-            'docs/configuration.txt',
-            'docs/documentation.html',
-            'docs/documentation.txt',
-            'docs/faq.html',
-            'docs/faq.txt',
-            'docs/getmaildocs.css',
-            'docs/getmailrc-examples',
-            'docs/troubleshooting.html',
-            'docs/troubleshooting.txt',
-        ]),
         (GETMAILMANDIR, [
             'docs/getmail.1',
             'docs/getmail_fetch.1',

Added contrib/giblib/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Library for doubly linked lists and a wrapper for imlib2.
# URL: http://freshmeat.net/projects/giblib/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Mark Rosenstand, mark at borkware dot net
# Depends on: imlib2

name=giblib
version=1.2.4
release=1
source=(http://www.hvlinux.net/crux/distfiles/$name/$name-$version.tar.gz)

build() {
	cd giblib-$version
	./configure --prefix=/usr
	make
	make DESTDIR=$PKG install
	rm -r $PKG/usr/doc
}

Added contrib/gift-ares/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: The Ares network plug-in for giFT.
# URL: http://gift.sourceforge.net/software/plugins.mhtml
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: gift

name=gift-ares
version=0.3.0
release=1
source=(http://www.hvlinux.net/crux/distfiles/$name/$name-$version.tar.bz2
	http://update.kceasy.com/update/ares/nodes.gzip)

build() {
	cd gift-ares-$version
	./configure --prefix=/usr
	make
	make DESTDIR=$PKG install
	zcat $SRC/nodes.gzip |tr -d '\r' > $PKG/usr/share/giFT/Ares/nodes
}

Added contrib/gift-ares/README.







>
>
>
1
2
3
POST-INSTALL:
    * Add "Ares" to the variable "plugins" in your ~/.giFT/giftd.conf

Added contrib/gift-fasttrack/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: The FastTrack plug-in for giFT.
# URL: http://gift.sourceforge.net/software/plugins.mhtml
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Coviello Giuseppe, giuseppecoviello at tin dot it
# Depends on: gift

name=gift-fasttrack
version=0.8.9
release=1
source=(http://www.hvlinux.net/crux/distfiles/$name/giFT-FastTrack-$version.tar.gz
	http://update.kceasy.com/update/fasttrack/nodes.gzip
	http://update.kceasy.com/update/fasttrack/banlist.gzip)

build() {
	cd giFT-FastTrack-$version
	./configure --prefix=/usr
	make
	make DESTDIR=$PKG install
	zcat $SRC/nodes.gzip |tr -d '\r' > $PKG/usr/share/giFT/FastTrack/nodes
	zcat $SRC/banlist.gzip |tr -d '\r' > $PKG/usr/share/giFT/FastTrack/banlist
}

Added contrib/gift-fasttrack/README.







>
>
>
1
2
3
POST-INSTALL:
    * Add "FastTrack" to the variable "plugins" in your ~/.giFT/giftd.conf

Added contrib/gift-gnutella/Pkgfile.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Description: The Gnutella plug-in for giFT.
# URL: http://gift.sourceforge.net/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Coviello Giuseppe, giuseppecoviello at tin dot it
# Depends on: gift

name=gift-gnutella
version=0.0.11
release=1
source=(http://downloads.sourceforge.net/project/gift/$name/$version/$name-$version.tar.bz2
	http://update.kceasy.com/update/gnutella/nodes.gzip
	http://update.kceasy.com/update/gnutella/hostiles.txt.gzip
	http://update.kceasy.com/update/gnutella/gwebcaches.gzip)

build() {
	cd $name-$version
	./configure --prefix=/usr
	make
	make DESTDIR=$PKG install
	zcat $SRC/nodes.gzip |tr -d '\r' > $PKG/usr/share/giFT/Gnutella/nodes
	zcat $SRC/hostiles.txt.gzip |tr -d '\r' > $PKG/usr/share/giFT/Gnutella/hostiles.txt
	zcat $SRC/gwebcaches.gzip |tr -d '\r' > $PKG/usr/share/giFT/Gnutella/gwebcaches
}

Added contrib/gift-gnutella/README.







>
>
>
1
2
3
POST-INSTALL:
    * Add "Gnutella" to the variable "plugins" in your ~/.giFT/giftd.conf

Added contrib/gift-openft/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: The OpenFT plug-in for giFT.
# URL: http://sourceforge.net/projects/gift/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Coviello Giuseppe, giuseppecoviello at tin dot it
# Depends on: gift

name=gift-openft
version=0.2.1.6
release=1
source=(http://downloads.sourceforge.net/project/gift/$name/$version/$name-$version.tar.bz2

	http://update.kceasy.com/update/openft/nodes.gzip)

build() {
	cd $name-$version
	./configure --prefix=/usr
	make
	make DESTDIR=$PKG install
	zcat $SRC/nodes.gzip |tr -d '\r' > $PKG/usr/share/giFT/OpenFT/nodes
}

Added contrib/gift-openft/README.







>
>
>
1
2
3
POST-INSTALL:
    * Add "OpenFT" to the variable "plugins" in your ~/.giFT/giftd.conf

Added contrib/gift/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: A completely abstract low-level filesharing protocol.
# URL: http://gift.sourceforge.net/
# Packager: Coviello Giuseppe, giuseppecoviello at tin dot it
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com

name=gift
version=0.11.8.1
release=1
source=(http://downloads.sourceforge.net/project/$name/$name/$version/$name-$version.tar.bz2)

build() {
	cd $name-$version
	./configure --prefix=/usr
	make
	make DESTDIR=$PKG install
}

Added contrib/giftoxic/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: A GTK2-based client for giFT.
# URL: http://giftoxic.sourceforge.net/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Daniel Walpole, danielw at netspace dot net dot au 
# Depends on: gtk gift

name=giftoxic
version=0.0.10
release=1
source=(http://downloads.sourceforge.net/project/$name/$name/giFToxic-$version/giFToxic-$version.tar.gz)

build() {
	cd giFToxic-$version

	./configure	\
		--prefix=/usr \
		--disable-nls

	make
	make DESTDIR=$PKG install
}

Added contrib/glade3/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: GTK Interface Builder.
# URL:         http://glade.gnome.org/
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Depends on:  libglade, p5-xml-parser

name=glade3
version=3.8.0
release=1
source=(http://ftp.gnome.org/pub/GNOME/sources/$name/3.8/$name-$version.tar.bz2)

build() {
   cd $name-$version

   ./configure \
      --prefix=/usr \
      --disable-gnome

   make && make DESTDIR=$PKG install
   ln -sf /usr/bin/glade-3 $PKG/usr/bin/glade
   rm -rf $PKG/usr/share/{locale,gnome,omf,gtk-doc}
}

Added contrib/glew/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: A OpenGL Extension Wrangler Library for developers to initialize extensions and write portable applications.
# URL: http://glew.sourceforge.net/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Johannes Winkelmann, jw at smts dot ch
# Depends on: mesa3d xorg-libxi xorg-libxmu

name=glew
version=1.7.0
release=3
source=(http://downloads.sourceforge.net/project/$name/$name/$version/$name-$version.tgz)

build() {
    cd $name-$version
    make CC="${CC:-gcc}" LD="${CC:-gcc}" CFLAGS.EXTRA="$CFLAGS" LDFLAGS.EXTRA="$LDFLAGS"
    make LIBDIR="$PKG/usr/lib" GLEW_DEST=$PKG/usr install
}

Added contrib/glib-networking/Pkgfile.

































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# Description: Network-related giomodules for glib.
# URL: http://git.gnome.org/browse/glib-networking/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com
# Depends on: gnutls intltool libgcrypt

name=glib-networking
version=2.28.7
release=2
source=(http://ftp.gnome.org/pub/GNOME/sources/$name/${version%.*}/$name-$version.tar.bz2
	gnutls3-API.patch)

build() {
	cd $name-$version

	patch -p 0 -i $SRC/gnutls3-API.patch

	./configure \
		--prefix=/usr \
		--disable-static \
		--without-ca-certificates \
		--with-gnutls \
		--disable-nls

	make
	make DESTDIR=$PKG install
	rm -rf $PKG/usr/share/locale

	rmdir \
		$PKG/usr/share \
		$PKG/usr
}

Added contrib/glib-networking/gnutls3-API.patch.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
http://projects.archlinux.org/svntogit/packages.git/tree/glib-networking/repos/extra-i686/glib-networking-2.29.9-port-gnutls3-API.patch
--- tls/gnutls/gtlsconnection-gnutls.c
+++ tls/gnutls/gtlsconnection-gnutls.c	2011-08-04 00:40:33.194189789 +0200
@@ -860,9 +860,10 @@
 
   if (peer_certificate)
     {
-      int status;
+      int verify_ret;
+      unsigned int status;
 
-      status = gnutls_certificate_verify_peers (gnutls->priv->session);
+      verify_ret = gnutls_certificate_verify_peers2 (gnutls->priv->session, &status); 
       peer_certificate_errors = g_tls_certificate_gnutls_convert_flags (status);
       if (peer_certificate_errors)
 	{

Added contrib/glibmm/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description: C++ interface for the popular glib library.
# URL: http://gtkmm.sourceforge.net/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Younes Hafri, ycrux at club-internet dot fr
# Depends on: gtk libsigc++

name=glibmm
version=2.28.2
release=1
source=(http://ftp.gnome.org/pub/GNOME/sources/$name/${version%.*}/$name-$version.tar.xz)

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--disable-dependency-tracking

	make
	make DESTDIR=$PKG install
	rm -r $PKG/usr/share/doc
}

Added contrib/gmpc-lastfm/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: Album/Artist/Cover art pluign for gmpc
# URL:         http://sarine.nl/gmpc
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    James Mills, prologic at shortcircuit dot net dot au
#
# Depends on:  gmpc

name=gmpc-lastfm
version=0.20.0
release=1
source=(http://download.sarine.nl/Programs/gmpc/$version/gmpc-last-fm-$version.tar.gz)

build() {
  cd gmpc-last-fm-$version
  ./configure --prefix=/usr --disable-nls
  make
  make DESTDIR=$PKG install
  rm -r $PKG/usr/share
}

Added contrib/gmpc-lyrics/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: Lyrics pluign for gmpc
# URL:         http://sarine.nl/gmpc
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    James Mills, prologic at shortcircuit dot net dot au
# Depends on:  gmpc

name=gmpc-lyrics
version=0.20.0
release=1
source=(http://download.sarine.nl/Programs/gmpc/$version/$name-$version.tar.gz)

build() {
  cd $name-$version
  ./configure --prefix=/usr
  make
  make DESTDIR=$PKG install
}

Added contrib/gmpc-mdcover/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Album/Artist/Cover art pluign for gmpc
# URL:         http://sarine.nl/gmpc
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    James Mills, prologic at shortcircuit dot net dot au
# Depends on:  gmpc

name=gmpc-mdcover
version=0.20.0
release=1
source=(http://download.sarine.nl/Programs/gmpc/$version/$name-$version.tar.gz)

build() {
  cd $name-$version
  ./configure --prefix=/usr
  make
  make DESTDIR=$PKG install
  rm -r $PKG/usr/share
}

Added contrib/gmpc/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: MPD client for GNOME
# URL:         http://sarine.nl/gmpc
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    Mark Rosenstand, mark at borkware dot net
# Depends on:  libglade, libmpd, gob, libsoup, vala, intltool

name=gmpc
version=0.20.0
release=1
source=(http://download.sarine.nl/Programs/$name/$version/$name-$version.tar.gz)

build() {
  cd gmpc-$version
  ./configure --prefix=/usr --mandir=/usr/man
  make
  make DESTDIR=$PKG install
  rm -r $PKG/usr/share/locale
}

Added contrib/gnome-mplayer/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description: GTK2 interface to MPlayer (GNOME independent)
# URL:         http://code.google.com/p/gnome-mplayer/
# Maintainer:  Bartlomiej Palmowski, rotwang at crux dot org dot pl
# Packager:    Fredrik Rinnestam, fredrik at obra dot se
# Depends on:  gtk mplayer dbus-glib xorg-libxdamage

name=gnome-mplayer
version=1.0.0
release=1
source=(http://$name.googlecode.com/files/$name-$version.tar.gz)

build() {
    cd $name-$version
    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --disable-schemas-install \
                --without-gconf
    make
    make DESTDIR=$PKG install
    rm -rf $PKG/usr/share/doc
    rm -rf $PKG/usr/share/locale
}

Added contrib/gnu-efi/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: GNU EFI library
# URL:         http://gnu-efi.sf.net/
# Maintainer:  Thomas Penteker, tek at serverop dot de

name=gnu-efi
version=3.0p.orig
release=1
source=(http://download.sourceforge.net/${name}/${name}_${version}.tar.gz)

build() {
  ls
  cd $name-3.0
  sed -i "s|/usr/local|$PKG/usr|g" Make.defaults
  make
  make install
}

Added contrib/gob/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: a preprocessor for making GObjects with # inline C
# URL:         http://www.5z.com/jirka/gob.html#download
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Depends on:  

name=gob
version=2.0.18
release=1
source=(http://ftp.5z.com/pub/gob/gob2-$version.tar.gz)

build() {
  cd gob2-$version
  ./configure --prefix=/usr --mandir=/usr/man
  make
  make DESTDIR=$PKG install
}

Added contrib/gpgme/Pkgfile.



















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# Description: An API for GnuPG.
# URL: http://www.gnupg.org/gpgme.html
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Brett Goulder, predatorfreak at dcaf-security dot org
# Depends on: gnupg

name=gpgme
version=1.3.1
release=1
source=(ftp://ftp.gnupg.org/gcrypt/$name/$name-$version.tar.bz2)

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--libexecdir=/usr/lib \
		--with-gpg=/usr/bin/gpg \
		--with-pth=yes

	make
	make tests
	make DESTDIR=$PKG install
	rm -r $PKG/usr/share/info
}

Added contrib/gpm/Pkgfile.









































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# Description: Console mouse server.
# URL: http://unix.schottelius.org/gpm/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Han Boetes, han at mijncomputer dot nl

name=gpm
version=1.20.6
release=1
source=(http://www.nico.schottelius.org/software/gpm/archives/gpm-$version.tar.bz2
	gpm-1.20.5-nodebug.patch
	gpm-1.20.5-no-dumb-error-messages.patch
	gpm-1.20.5-make-install-fixes.patch
	gpm.rc)

build() {
	cd gpm-$version

	patch -p 1 -i $SRC/gpm-1.20.5-nodebug.patch
	patch -p 1 -i $SRC/gpm-1.20.5-no-dumb-error-messages.patch
	patch -p 1 -i $SRC/gpm-1.20.5-make-install-fixes.patch

	./configure \
		--prefix=/usr \
		--mandir=/usr/man

	make
	make ROOT=$PKG install

	ln -s libgpm.so.2.1.0 $PKG/usr/lib/libgpm.so
	install -m 0755 -D $SRC/gpm.rc $PKG/etc/rc.d/gpm

	rm -r $PKG/usr/share/info
	rmdir $PKG/usr/etc
	rmdir $PKG/usr/share
}

Added contrib/gpm/gpm-1.20.5-make-install-fixes.patch.











































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
diff -pruN gpm-1.20.5.orig/configure gpm-1.20.5/configure
--- gpm-1.20.5.orig/configure	2008-06-17 09:54:54.858258511 +1000
+++ gpm-1.20.5/configure	2008-06-17 10:16:33.330255126 +1000
@@ -3378,15 +3378,8 @@ else
 echo "${ECHO_T}no" >&6; }
 fi
 
-
-
-if test ${ac_cv_path_emacs} = no ; then
-        EMACS=:
-        ELISP=
-else
-        EMACS=${ac_cv_path_emacs}
-        ELISP="emacs/t-mouse.el emacs/t-mouse.elc"
-fi
+EMACS=:
+ELISP=
 
 if test $EMACS != : ; then
         { echo "$as_me:$LINENO: checking where to install Emacs Lisp files" >&5
diff -pruN gpm-1.20.5.orig/doc/Makefile.in gpm-1.20.5/doc/Makefile.in
--- gpm-1.20.5.orig/doc/Makefile.in	2008-06-17 09:54:54.856257925 +1000
+++ gpm-1.20.5/doc/Makefile.in	2008-06-17 10:18:14.557261978 +1000
@@ -32,7 +32,7 @@ include $(top_builddir)/Makefile.include
 
 MANPAGES = gpm.8 mev.1 gpm-root.1 gpm-types.7 mouse-test.1
 
-all: $(srcdir)/gpm.info gpm.man
+all: gpm.man
 
 # HTML (texi2html)
 %.html: %.texinfo
diff -pruN gpm-1.20.5.orig/Makefile.include.in gpm-1.20.5/Makefile.include.in
--- gpm-1.20.5.orig/Makefile.include.in	2008-06-17 09:54:54.862260471 +1000
+++ gpm-1.20.5/Makefile.include.in	2008-06-17 10:13:14.742262245 +1000
@@ -44,7 +44,6 @@ INSTALL           = @INSTALL@
 INSTALL_PROGRAM   = @INSTALL_PROGRAM@
 INSTALL_DATA      = @INSTALL_DATA@
 LN_S              = @LN_S@
-EMACS             = @EMACS@
 ELISP             = @ELISP@
 SHLIB             = @SHLIB@
 SED               = @SED@
@@ -52,7 +51,7 @@ DIFF              = @DIFF@
 TEX               = @TEX@
 TEXINDEX          = @TEXINDEX@
 DVIPS             = @DVIPS@
-MAKEINFO          = @MAKEINFO@
+MAKEINFO          = no
 TEXI2HTML         = texi2html
 STRIP             = -s
 

Added contrib/gpm/gpm-1.20.5-no-dumb-error-messages.patch.

























>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
diff -pruN gpm-1.20.5.orig/src/lib/liblow.c gpm-1.20.5/src/lib/liblow.c
--- gpm-1.20.5.orig/src/lib/liblow.c	2008-06-17 09:54:54.811257867 +1000
+++ gpm-1.20.5/src/lib/liblow.c	2008-06-17 10:00:27.489256401 +1000
@@ -377,7 +377,7 @@ int Gpm_Open(Gpm_Connect *conn, int flag
   /*....................................... Error: free all memory */
    err:
    if (gpm_is_disabled < 2) /* be quiet if no gpmctl socket found */
-      gpm_report(GPM_PR_ERR,"Oh, oh, it's an error! possibly I die! ");
+      /* gpm_report(GPM_PR_ERR,"Oh, oh, it's an error! possibly I die! "); */
    while(gpm_stack) {
       new=gpm_stack->next;
       free(gpm_stack);

Added contrib/gpm/gpm-1.20.5-nodebug.patch.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Binary files gpm-1.20.5.orig/.Makefile.in.swp and gpm-1.20.5/.Makefile.in.swp differ
diff -pruN gpm-1.20.5.orig/src/lib/report-lib.c gpm-1.20.5/src/lib/report-lib.c
--- gpm-1.20.5.orig/src/lib/report-lib.c	2008-06-17 09:54:54.811257867 +1000
+++ gpm-1.20.5/src/lib/report-lib.c	2008-06-17 10:08:36.780265133 +1000
@@ -29,6 +29,10 @@ void gpm_report(int line, char *file, in
    char *string = NULL;
    int log_level;
    va_list ap;
+#ifndef DEBUG_VERBOSE
+   if(stat==GPM_STAT_DEBUG)
+   return;
+#endif
 
    if (stat == GPM_STAT_DEBUG) return;
 

Added contrib/gpm/gpm.rc.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/bin/sh
#
# /etc/rc.d/gpm: start/stop console mouse
#

case $1 in
    start)
        /usr/sbin/gpm -m /dev/input/mouse0 -t ps2
        ;;
    stop)
        pkill -f 'gpm -m /dev/input/mouse0'
        ;;
    restart)
	pkill -HUP -f 'gpm -m /dev/input/mouse0'
        ;;
    *)
        echo "usage: $0 [start|stop|restart]"
        ;;
esac

# End of file

Added contrib/grml-crypt/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description: practical wrapper for cryptsetup-luks
# URL:         http://www.grml.org
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    Simon Glossner, viper at hometux dot de
# Depends on:  realpath, grml-shlib

name=grml-crypt
version=0.24
release=1
source=(http://deb.grml.org/pool/main/g/$name/${name}_${version}.tar.gz \
  path_fstype.patch)

build() {
    cd $name-$version

    patch -p1 < $SRC/path_fstype.patch

    mkdir -p $PKG/usr/sbin
    mkdir -p $PKG/usr/man/man8

    install -m 755 grml-crypt $PKG/usr/sbin
}

Added contrib/grml-crypt/path_fstype.patch.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
--- grml-crypt/grml-crypt	2006-04-02 20:30:43.000000000 +0200
+++ grml-crypt-new/grml-crypt	2006-10-20 13:47:12.000000000 +0200
@@ -11,7 +11,7 @@
 ###
 ### __INCLUDES
 ###
-. /etc/grml/sh-lib
+. /usr/lib/grml/sh-lib
 #. /etc/grml/sysexits-sh
 
 
@@ -26,7 +26,7 @@
 IS_IMAGE_='false'
 SIZE_="10"
 SIZE_SET_='false'
-FSTYPE_="vfat"
+FSTYPE_="ext3"
 TARGET_=""
 VERIFY_PW_=""
 MKFS_=""

Added contrib/grml-shlib/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: shell script library used by grml tools
# URL:         http://www.grml.org
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    Simon Glossner, viper at hometux dot de

name=grml-shlib
version=1.03.1
release=1
source=(http://deb.grml.org/pool/main/g/$name/${name}_${version}.tar.gz \
  grml-shlib.3)

build() {
    cd $name

    mkdir -p $PKG/usr/lib/grml
    mkdir -p $PKG/usr/man/man3
    
    install -m 755 sh-lib $PKG/usr/lib/grml
    install -m 644 $SRC/grml-shlib.3 $PKG/usr/man/man3
}

Added contrib/grml-shlib/grml-shlib.3.



























































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
.\"Generated by db2man.xsl. Don't modify this, modify the source.
.de Sh \" Subsection
.br
.if t .Sp
.ne 5
.PP
\fB\\$1\fR
.PP
..
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Ip \" List item
.br
.ie \\n(.$>=3 .ne \\$3
.el .ne 3
.IP "\\$1" \\$2
..
.TH "GRML-SHLIB" 3 "" "" ""
.SH NAME
grml-shlib \- Shell script library
.SH "SYNOPSIS"


\fIsource /usr/lib/grml/sh-lib\fR

.SH "DESCRIPTION"


\fIgrml\-shlib\fR is a Shell script library with integrated debugging support\&.

.SH "SEE ALSO"


/usr/lib/grml/sh\-lib

.SH "AUTHOR"


grml\-shlib was written by Michael Gebetsroither <michael\&.geb@gmx\&.at>\&.


This manual page was written by Michael Gebetsroither <gebi@grml\&.org>\&.

Added contrib/gsasl/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description:	GNU SASL Library
# URL:	http://www.gnu.org/software/gsasl/
# Maintainer:	Alan Mizrahi, alan at mizrahi dot com dot ve
# Depends on:	openssl

name=gsasl
version=0.2.27
release=1
source=(http://josefsson.org/$name/releases/$name-$version.tar.gz)

build () {
	cd $name-$version
	./configure --prefix=/usr \
		    --disable-nls

	make
	make prefix=$PKG/usr install
	mv $PKG/usr/share/man $PKG/usr
	rm -rf $PKG/usr/share
}

Added contrib/gsl/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: A numerical library for C and C++ programmers.
# URL: http://www.gnu.org/software/gsl/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager:  Vincenzo Colosimo, vico at bicisport dot de

name=gsl
version=1.15
release=1
source=(ftp://ftp.gnu.org/gnu/$name/$name-$version.tar.gz)

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--mandir=/usr/man \

	make
	make DESTDIR=$PKG install
	rm -r $PKG/usr/share/info
}

Added contrib/gst-ffmpeg/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description: FFmpeg-based plug-ins for gstreamer.
# URL: http://gstreamer.freedesktop.org/modules/gst-ffmpeg.html
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Matt Housh, jaeger at morpheus dot net
# Depends on: gst-plugins-base yasm

name=gst-ffmpeg
version=0.10.13
release=1
source=(http://gstreamer.freedesktop.org/src/$name/$name-$version.tar.bz2)

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--mandir=/usr/man \
		--disable-static

	make
	make DESTDIR=$PKG install
}

Added contrib/gst-plugins-bad/Pkgfile.

























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# Description: A set of plugins for gstreamer that may pose distribution problems.
# URL: http://gstreamer.freedesktop.org/modules/gst-plugins-bad.html
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Matt Housh, jaeger at morpheus dot net
# Depends on: amrwb curl e2fsprogs gst-plugins-base krb5 ladspa libdca libdvdnav libmms libmodplug libmpcdec libmusicbrainz librsvg libvdpau mjpegtools neon

name=gst-plugins-bad
version=0.10.23
release=1
source=(http://gstreamer.freedesktop.org/src/$name/$name-$version.tar.xz)

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--mandir=/usr/man \
		--disable-static \
		--disable-debug \
		--disable-nls \
		--disable-dependency-tracking \
		--disable-valgrind \
		--disable-examples

	make
	make DESTDIR=$PKG install
	rm -r $PKG/usr/share/gtk-doc
}

Added contrib/gst-plugins-good/Pkgfile.

























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# Description: A set of good-quality plugins for gstreamer under the LGPL.
# URL: http://gstreamer.freedesktop.org/modules/gst-plugins-good.html
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Matt Housh, jaeger at morpheus dot net
# Depends on: flac gst-plugins-base gtk hal libdv libshout libsoup libtheora speex taglib wavpack

name=gst-plugins-good
version=0.10.31
release=1
source=(http://gstreamer.freedesktop.org/src/$name/$name-$version.tar.xz)

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--mandir=/usr/man \
		--disable-static \
		--disable-debug \
		--disable-nls \
		--disable-dependency-tracking \
		--disable-valgrind \
		--disable-examples \
		--disable-oss

	make
	make DESTDIR=$PKG install
}

Added contrib/gst-plugins-ugly/Pkgfile.























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# Description: A set of plugins for gstreamer that may pose distribution problems.
# URL: http://gstreamer.freedesktop.org/modules/gst-plugins-ugly.html
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager Matt Housh, jaeger at morpheus dot net
# Depends on: gst-plugins-base lame liba52 libcdio libdvdread libid3tag libmad libmpeg2 opencore-amr x264

name=gst-plugins-ugly
version=0.10.19
release=1
source=(http://gstreamer.freedesktop.org/src/$name/$name-$version.tar.xz)

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--mandir=/usr/man \
		--disable-static \
		--disable-debug \
		--disable-nls \
		--disable-dependency-tracking \
		--disable-valgrind \
		--disable-examples

	make
	make DESTDIR=$PKG install
}

Added contrib/gst-python/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: Python bindings for gstreamer.
# URL: http://gstreamer.freedesktop.org/modules/gst-python.html
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com
# Depends on: gst-plugins-base pygtk

name=gst-python
version=0.10.22
release=1
source=(http://gstreamer.freedesktop.org/src/$name/$name-$version.tar.bz2)

build() {
	cd $name-$version
	./configure --prefix=/usr
	make
	make DESTDIR=$PKG install
}

Added contrib/gtk-recordmydesktop/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: Graphical frontend to recordmydesktop
# URL: http://recordmydesktop.sourceforge.net/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Vincenzo Colosimo, vico at bicisport dot de
# Depends on: recordmydesktop pygtk

name=gtk-recordmydesktop
version=0.3.8
release=1
source=(http://download.sourceforge.net/recordmydesktop/$name-$version.tar.gz)

build() {
  cd $name-$version
  ./configure --prefix=/usr \
              --disable-nls
  make
  make DESTDIR=$PKG install
  rm -r $PKG/usr/share/locale
}

Added contrib/gtkmm/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description: C++ interface to GTK+.
# URL: http://gtkmm.sourceforge.net/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Younes Hafri, ycrux at club-internet dot fr
# Depends on: pangomm atkmm xorg-libxdamage

name=gtkmm
version=2.24.2
release=1
source=(http://ftp.gnome.org/pub/GNOME/sources/$name/${version%.*}/$name-$version.tar.xz)

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--disable-dependency-tracking \
		--disable-documentation

	make
	make DESTDIR=$PKG install
}

Added contrib/guile/Pkgfile.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Description: Embeddable library implementation of Scheme
# URL: http://www.gnu.org/software/guile/
# Maintainer: Matt Housh, jaeger at morpheus dot net
# Depends on: libgmp, libtool, ncurses, readline

name=guile
version=1.8.7
release=1
source=(http://ftp.gnu.org/gnu/$name/$name-$version.tar.gz \
	$name-$version-cpp.patch)

build() {
	cd $name-$version
	patch -i $SRC/$name-$version-cpp.patch libguile/guile-snarf-docs.in
	sed -i -e 's/-Werror//g' configure
	./configure --prefix=/usr \
		--mandir=/usr/man \
		--with-threads \
		--with-modules \
		--enable-deprecation=no
	make
	make DESTDIR=$PKG install
	rm -rf $PKG/usr/share/info
}

Added contrib/guile/guile-1.8.7-cpp.patch.

















>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
--- guile-snarf-docs.in.orig	2010-10-25 08:56:17.000000000 -0500
+++ guile-snarf-docs.in	2010-10-25 08:56:26.000000000 -0500
@@ -23,4 +23,4 @@
 ## Let the user override the preprocessor autoconf found.
 test -n "${CPP+set}" || CPP="@CPP@"
 
-${CPP} -DSCM_MAGIC_SNARF_DOCS "$@"
+${CPP} -P -DSCM_MAGIC_SNARF_DOCS "$@"

Added contrib/hedgewars/Pkgfile.





















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# Description: A turn based strategy game.
# URL: http://www.hedgewars.org/
# Packager: Danny Rawlins, monster dot romster at gmail dot com
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Depends on: cmake fpc lua qt4 sdl_image sdl_mixer sdl_net sdl_ttf libidn

name=hedgewars
version=0.9.17
release=1
source=(http://download.gna.org/$name/hedgewars-src-$version.tar.bz2
	hedgewars-0.9.15_unit-opengl.patch)

build() {
	cd hedgewars-src-$version
	patch -p1 -i $SRC/hedgewars-0.9.15_unit-opengl.patch

	mkdir build
	cd build

	cmake \
		-DCMAKE_BUILD_TYPE="Release" \
		-DCMAKE_INSTALL_PREFIX="/usr" ..

	make
	make DESTDIR=$PKG install
}

Added contrib/hedgewars/hedgewars-0.9.15_unit-opengl.patch.























>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
diff -pruN hedgewars-src-0.9.15.orig/hedgewars/CMakeLists.txt hedgewars-src-0.9.15/hedgewars/CMakeLists.txt
--- hedgewars-src-0.9.15.orig/hedgewars/CMakeLists.txt	2011-01-09 10:35:55.517391736 +0000
+++ hedgewars-src-0.9.15/hedgewars/CMakeLists.txt	2011-01-09 10:45:01.600213735 +0000
@@ -150,6 +150,7 @@ endif()
 set(pascal_compiler ${fpc_executable})
 set(pascal_compiler_flags ${noexecstack_flags} ${pascal_compiler_flags_cmn} ${hwengine_project})
 
+set(pascal_compiler_flags "-O3" "-Xs" "-XD" "-Fu/usr/lib/fpc/2.4.4/units/i386-linux/opengl" ${pascal_compiler_flags})
 
 #DEPENDECIES AND EXECUTABLES SECTION
 IF(NOT APPLE OR BUILD_ENGINE_LIBRARY)

Added contrib/help2man/Pkgfile.

























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# Description: A tool for automatically generating simple manual pages from program output.
# URL: http://www.gnu.org/software/help2man/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Younes Hafri, ycrux at club-internet dot fr

name=help2man
version=1.40.8
release=1
source=(http://ftp.gnu.org/gnu/$name/$name-$version.tar.gz)

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--mandir=/usr/man \
		--disable-nls

	make
	make DESTDIR=$PKG install

	rm -rf $PKG/usr/share/info

	rmdir \
		$PKG/usr/share \
		$PKG/usr/lib/help2man \
		$PKG/usr/lib
}

Added contrib/htmldoc/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Converts HTML into Adobe PDF
# URL:         http://www.htmldoc.org/
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    James Mills,, prologic at shortcircuit dot net dot au
# Depends on:

name=htmldoc
version=1.8.27
release=2
source=(http://ftp.easysw.com/pub/$name/$version/$name-$version-source.tar.bz2)

build() {
   cd $name-$version
   ./configure --prefix=/usr
   make
   make  prefix=$PKG/usr bindir=$PKG/usr/bin install
   rm -rf $PKG/usr/share/doc
}

Added contrib/i2c-tools/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: I2C Tools for Linux
# URL: http://www.lm-sensors.org
# Maintainer: Jose V Beneyto, sepen at users dot sourceforge dot net
# Packager: Mikhail Kolesnik, mike at openbunker dot org
# Depends on:

name=i2c-tools
version=3.1.0
release=1
source=(http://dl.lm-sensors.org/$name/releases/$name-$version.tar.bz2)

build() {
	cd $name-$version
	sed -i 's|/usr/local|/usr|' Makefile
	sed -i 's|/share/man|/man|' Makefile
	make PREFIX=/usr
	make DESTDIR=$PKG install
	rm -rf $PKG/usr/include
}

Added contrib/iasl/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: IASL Compiler
# URL: http://www.intel.com/technology/iapc/acpi
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Jose V Beneyto, sepen at crux dot nu
# Depends on: 

name=iasl
version=20111123
release=1
source=(http://www.acpica.org/download/acpica-unix-$version.tar.gz)

build() {
  cd acpica-unix-$version/compiler
  make -j1 aslcompilerlex.c
  sed 's/\#undef\ yytext_ptr//' -i aslcompilerlex.c
  make -j1
  install -D -m 0755 $name $PKG/usr/bin/$name
}

Added contrib/icecast/Pkgfile.



































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# Description: Program to stream audio to listeners.
# URL:         http://www.icecast.org 
# Maintainer: Lucas Hazel, lucas at die dot net dot au
# Packager:    James Mills, prologic at shortcircuit dot net dot au
#
# Depends on:  libxslt, libvorbis

name=icecast
version=2.3.2
release=1
source=(http://downloads.us.xiph.org/releases/icecast/$name-$version.tar.gz \
   icecast)

build() {
   cd $name-$version

   ./configure \
      --prefix=/usr \
      --sysconfdir=/etc \
      --localstatedir=/var

   make && make DESTDIR=$PKG install
   
   install -d \
      $PKG/usr/share/icecast \
      $PKG/var/log/icecast

   touch $PKG/var/log/icecast/{access.log,error.log}
   install -D -m755 $SRC/icecast $PKG/etc/rc.d/icecast
   rm -fr $PKG/usr/share/{doc,icecast/doc}

   chown -R root:root $PKG
}

Added contrib/icecast/icecast.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/bin/sh
#
# /etc/rc.d/icecast: start/stop icecast daemon
#

case $1 in
start)
	icecast -c /etc/icecast.xml -b
	;;
stop)
	kill -KILL `pidof icecast`
	;;
restart)
	$0 stop
	sleep 2
	$0 start
	;;
*)
	echo "usage: $0 [start|stop|restart]"
	;;
esac

# End of file

Added contrib/icecast/post-install.











>
>
>
>
>
1
2
3
4
5
#!/bin/sh

/usr/sbin/groupadd icecast
/usr/sbin/useradd -g icecast -d /usr/share/icecast/ -s /bin/bash -c "IceCast User" -m icecast
chown -R icecast.icecast /var/log/icecast

Added contrib/icu/Pkgfile.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Description: Widely used set of C/C++ libraries providing Unicode and Globalization support.
# URL: http://www.icu-project.org/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Younes Hafri, ycrux at club-internet dot fr

name=icu
version=49.1.1
release=1
source=(http://download.icu-project.org/files/icu4c/$version/icu4c-${version//./_}-src.tgz)

build() {
	cd icu/source

	./configure \
		--prefix=/usr \
		--mandir=/usr/man \
		--disable-samples \
		--disable-tests

	make
	make DESTDIR=$PKG install

	rm $PKG/usr/share/icu/$version/license.html
}

Added contrib/id3lib/CVE-2007-4460.diff.







































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
--- id3lib3.8.3-3.8.3.orig/src/tag_file.cpp
+++ id3lib3.8.3-3.8.3/src/tag_file.cpp
@@ -242,8 +242,8 @@
     strcpy(sTempFile, filename.c_str());
     strcat(sTempFile, sTmpSuffix.c_str());
 
-#if ((defined(__GNUC__) && __GNUC__ >= 3  ) || !defined(HAVE_MKSTEMP))
-    // This section is for Windows folk && gcc 3.x folk
+#if !defined(HAVE_MKSTEMP)
+    // This section is for Windows folk
     fstream tmpOut;
     createFile(sTempFile, tmpOut);
 
@@ -257,7 +257,7 @@
       tmpOut.write((char *)tmpBuffer, nBytes);
     }
 
-#else //((defined(__GNUC__) && __GNUC__ >= 3  ) || !defined(HAVE_MKSTEMP))
+#else //!defined(HAVE_MKSTEMP)
 
     // else we gotta make a temp file, copy the tag into it, copy the
     // rest of the old file after the tag, delete the old file, rename
@@ -270,7 +270,7 @@
       //ID3_THROW_DESC(ID3E_NoFile, "couldn't open temp file");
     }
 
-    ofstream tmpOut(fd);
+    ofstream tmpOut(sTempFile);
     if (!tmpOut)
     {
       tmpOut.close();
@@ -285,14 +285,14 @@
     uchar tmpBuffer[BUFSIZ];
     while (file)
     {
-      file.read(tmpBuffer, BUFSIZ);
+      file.read((char *)tmpBuffer, BUFSIZ);
       size_t nBytes = file.gcount();
-      tmpOut.write(tmpBuffer, nBytes);
+      tmpOut.write((char *)tmpBuffer, nBytes);
     }
 
     close(fd); //closes the file
 
-#endif ////((defined(__GNUC__) && __GNUC__ >= 3  ) || !defined(HAVE_MKSTEMP))
+#endif ////!defined(HAVE_MKSTEMP)
 
     tmpOut.close();
     file.close();
only in patch2:
unchanged:

Added contrib/id3lib/Pkgfile.













































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# Description: An open-source, cross-platform library for reading/writing/manipulating ID3 tags.
# URL: http://id3lib.sourceforge.net/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Matt Housh, jaeger at morpheus dot net
# Depends on: zlib

name=id3lib
version=3.8.3
release=2
source=(http://downloads.sourceforge.net/project/$name/$name/$version/$name-$version.tar.gz
	$name-3.8.3-zlib.patch
	$name-3.8.3-test_io.patch
	$name-3.8.3-autoconf259.patch
	$name-3.8.3-unicode16.patch
	$name-3.8.3-gcc-4.3.patch
	CVE-2007-4460.diff)

build() {
	cd $name-$version

	patch -p 1 -i $SRC/$name-3.8.3-zlib.patch
	patch -p 1 -i $SRC/$name-3.8.3-test_io.patch
	patch -p 1 -i $SRC/$name-3.8.3-autoconf259.patch
	patch -p 1 -i $SRC/$name-3.8.3-unicode16.patch
	patch -p 1 -i $SRC/$name-3.8.3-gcc-4.3.patch
	patch -p 1 -i $SRC/CVE-2007-4460.diff
	autoreconf -ivfs # buggy configure

	CC='g++' \
	./configure \
		--prefix=/usr \
		--disable-static \
		--disable-assert \
		--enable-debug=no

	make
	make DESTDIR=$PKG install
}

Added contrib/id3lib/id3lib-3.8.3-autoconf259.patch.































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Index: id3lib-3.8.3/configure.in
===================================================================
--- id3lib-3.8.3.orig/configure.in
+++ id3lib-3.8.3/configure.in
@@ -168,7 +168,7 @@ if test $has_iconv = 1; then
 		iconv_oldstyle=1, iconv_oldstyle=0)
   if test $iconv_oldstyle = 1; then
     AC_MSG_RESULT(const char **)
-    AC_DEFINE(ID3LIB_ICONV_OLDSTYLE)
+    AC_DEFINE(ID3LIB_ICONV_OLDSTYLE, [], [Unknown])
     #we'll check out the need of
     #typecast in the call of iconv_open
     AC_MSG_CHECKING(whether to typecast in iconv)
@@ -184,7 +184,7 @@ if test $has_iconv = 1; then
                    iconv_cast=0, iconv_cast=1)
     if test $iconv_cast = 1; then
       AC_MSG_RESULT(yes)
-      AC_DEFINE(ID3LIB_ICONV_CAST_OK)
+      AC_DEFINE(ID3LIB_ICONV_CAST_OK, [], [Unknown])
     else
       AC_MSG_RESULT(no)
     fi
@@ -206,7 +206,7 @@ if test $has_iconv = 1; then
                    iconv_cast=0, iconv_cast=1)
     if test $iconv_cast = 1; then
       AC_MSG_RESULT(yes)
-      AC_DEFINE(ID3LIB_ICONV_CAST_OK)
+      AC_DEFINE(ID3LIB_ICONV_CAST_OK, [], [Unknown])
     else
       AC_MSG_RESULT(no)
     fi

Added contrib/id3lib/id3lib-3.8.3-gcc-4.3.patch.





































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
diff -Naur id3lib-3.8.3-orig/configure.in id3lib-3.8.3/configure.in
--- id3lib-3.8.3-orig/configure.in	2008-03-05 18:03:25.000000000 -0600
+++ id3lib-3.8.3/configure.in	2008-03-05 18:15:42.000000000 -0600
@@ -227,7 +227,6 @@
 )
 AC_CHECK_HEADERS(               \
   string                        \
-  iomanip.h                     \
   ,,AC_MSG_ERROR([Missing a vital header file for id3lib])
 )
 
diff -Naur id3lib-3.8.3-orig/include/id3/id3lib_strings.h id3lib-3.8.3/include/id3/id3lib_strings.h
--- id3lib-3.8.3-orig/include/id3/id3lib_strings.h	2008-03-05 18:19:46.000000000 -0600
+++ id3lib-3.8.3/include/id3/id3lib_strings.h	2008-03-05 18:19:38.000000000 -0600
@@ -30,6 +30,7 @@
 #define _ID3LIB_STRINGS_H_
 
 #include <string>
+#include <cstring>
 
 #if (defined(__GNUC__) && (__GNUC__ >= 3) || (defined(_MSC_VER) && _MSC_VER > 1000))
 namespace std
diff -Naur id3lib-3.8.3-orig/include/id3/writers.h id3lib-3.8.3/include/id3/writers.h
--- id3lib-3.8.3-orig/include/id3/writers.h	2003-03-01 18:23:00.000000000 -0600
+++ id3lib-3.8.3/include/id3/writers.h	2008-03-05 18:23:05.000000000 -0600
@@ -30,7 +30,7 @@
 
 #include "id3/writer.h"
 #include "id3/id3lib_streams.h"
-//#include <string.h>
+#include <string.h>
 
 class ID3_CPP_EXPORT ID3_OStreamWriter : public ID3_Writer
 {
diff -Naur id3lib-3.8.3-orig/examples/demo_convert.cpp id3lib-3.8.3/examples/demo_convert.cpp
--- id3lib-3.8.3-orig/examples/demo_convert.cpp	2003-03-01 18:23:00.000000000 -0600
+++ id3lib-3.8.3/examples/demo_convert.cpp	2008-03-05 18:26:50.000000000 -0600
@@ -84,7 +84,7 @@
   }
 }
 
-int main( unsigned int argc, char * const argv[])
+int main( int argc, char * const argv[])
 {
   flags_t ulFlag = ID3TT_ALL;
   gengetopt_args_info args;
diff -Naur id3lib-3.8.3-orig/examples/demo_info.cpp id3lib-3.8.3/examples/demo_info.cpp
--- id3lib-3.8.3-orig/examples/demo_info.cpp	2003-03-01 18:23:00.000000000 -0600
+++ id3lib-3.8.3/examples/demo_info.cpp	2008-03-05 18:27:40.000000000 -0600
@@ -309,7 +309,7 @@
 
 #define DEBUG
 
-int main( unsigned int argc, char * const argv[])
+int main( int argc, char * const argv[])
 {
   ID3D_INIT_DOUT();
 
diff -Naur id3lib-3.8.3-orig/examples/demo_tag.cpp id3lib-3.8.3/examples/demo_tag.cpp
--- id3lib-3.8.3-orig/examples/demo_tag.cpp	2003-03-01 18:23:00.000000000 -0600
+++ id3lib-3.8.3/examples/demo_tag.cpp	2008-03-05 18:31:20.000000000 -0600
@@ -46,7 +46,7 @@
     os << "v2";
 }
 
-int main( unsigned int argc, char * const argv[])
+int main( int argc, char * const argv[])
 {
   int ulFlag = ID3TT_ID3;
   ID3D_INIT_DOUT();
diff -Naur id3lib-3.8.3-orig/examples/demo_copy.cpp id3lib-3.8.3/examples/demo_copy.cpp
--- id3lib-3.8.3-orig/examples/demo_copy.cpp	2003-03-01 18:23:00.000000000 -0600
+++ id3lib-3.8.3/examples/demo_copy.cpp	2008-03-05 18:32:44.000000000 -0600
@@ -81,7 +81,7 @@
   }
 }
 
-int main( unsigned int argc, char * const argv[])
+int main( int argc, char * const argv[])
 {
   int ulFlag = ID3TT_ID3;
   ID3D_INIT_DOUT();

Added contrib/id3lib/id3lib-3.8.3-test_io.patch.





















>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
--- id3lib-3.8.3/examples/test_io.cpp.orig	2004-09-21 23:40:48.398826320 +0200
+++ id3lib-3.8.3/examples/test_io.cpp	2004-09-21 23:40:55.408760648 +0200
@@ -16,6 +16,7 @@
 using std::cerr;
 
 using namespace dami;
+using namespace std;
 
 int
 main(size_t argc, const char** argv)

Added contrib/id3lib/id3lib-3.8.3-unicode16.patch.















































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
diff -ruN id3lib-3.8.3.orig/ChangeLog id3lib-3.8.3/ChangeLog
--- id3lib-3.8.3.orig/ChangeLog	2003-03-02 01:23:00.000000000 +0100
+++ id3lib-3.8.3/ChangeLog	2006-02-22 00:33:59.946214472 +0100
@@ -1,3 +1,8 @@
+2006-02-17  Jerome Couderc
+
+    * Patch from Spoon to fix UTF-16 writing bug
+      http://sourceforge.net/tracker/index.php?func=detail&aid=1016290&group_id=979&atid=300979
+
 2003-03-02 Sunday 17:38   Thijmen Klok <thijmen@id3lib.org>
 
 	* THANKS (1.20): added more people 
diff -ruN id3lib-3.8.3.orig/src/io_helpers.cpp id3lib-3.8.3/src/io_helpers.cpp
--- id3lib-3.8.3.orig/src/io_helpers.cpp	2003-03-02 01:23:00.000000000 +0100
+++ id3lib-3.8.3/src/io_helpers.cpp	2006-02-22 00:35:02.926639992 +0100
@@ -363,11 +363,22 @@
     // Write the BOM: 0xFEFF
     unicode_t BOM = 0xFEFF;
     writer.writeChars((const unsigned char*) &BOM, 2);
+    // Patch from Spoon : 2004-08-25 14:17
+    //   http://sourceforge.net/tracker/index.php?func=detail&aid=1016290&group_id=979&atid=300979
+    // Wrong code
+    //for (size_t i = 0; i < size; i += 2)
+    //{
+    //  unicode_t ch = (data[i] << 8) | data[i+1];
+    //  writer.writeChars((const unsigned char*) &ch, 2);
+    //}
+    // Right code
+    unsigned char *pdata = (unsigned char *) data.c_str();
     for (size_t i = 0; i < size; i += 2)
     {
-      unicode_t ch = (data[i] << 8) | data[i+1];
+      unicode_t ch = (pdata[i] << 8) | pdata[i+1];
       writer.writeChars((const unsigned char*) &ch, 2);
     }
+    // End patch
   }
   return writer.getCur() - beg;
 }

Added contrib/id3lib/id3lib-3.8.3-zlib.patch.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
diff -Naur id3lib-3.8.3.orig/Makefile.am id3lib-3.8.3/Makefile.am
--- id3lib-3.8.3.orig/Makefile.am	2003-03-01 16:23:00.000000000 -0800
+++ id3lib-3.8.3/Makefile.am	2004-09-12 19:05:39.564456828 -0700
@@ -28,7 +28,7 @@
 endif
 
 SUBDIRS =  . m4 $(zlib_subdir) doc include id3com src examples
-DIST_SUBDIRS = . m4 zlib doc include id3com src examples prj libprj
+DIST_SUBDIRS = . m4 $(zlib_subdir) doc include id3com src examples prj libprj
 
 INCLUDES = @ID3LIB_DEBUG_FLAGS@
 
diff -Naur id3lib-3.8.3.orig/src/Makefile.am id3lib-3.8.3/src/Makefile.am
--- id3lib-3.8.3.orig/src/Makefile.am	2003-03-01 16:23:00.000000000 -0800
+++ id3lib-3.8.3/src/Makefile.am	2004-09-12 19:08:30.814149521 -0700
@@ -77,6 +77,7 @@
 endif
 
 libid3_la_LDFLAGS = \
+  -lz \
   -version-info $(LT_VERSION) \
   -release $(LT_RELEASE) \
   -export-dynamic

Added contrib/ii/Pkgfile.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Description: minimalist FIFO and filesystem-based IRC client
# URL:         http://tools.suckless.org/ii/
# Maintainer:  Bartlomiej Palmowski, rotwang at crux dot org dot pl

name=ii
version=1.6
release=1
source=(http://dl.suckless.org/tools/$name-$version.tar.gz)

build() {
    cd $name-$version
    make
    make DESTDIR=$PKG PREFIX=/usr MANDIR=/usr/man install
    rm -rf $PKG/usr/share
}

Added contrib/ilbc/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description:	iLBC library
# URL:		http://www.ilbcfreeware.org
# Maintainer:	Alan Mizrahi, alan at mizrahi dot com dot ve
# Depends on:	

name=ilbc
version=0.1
release=1
source=(http://download.savannah.nongnu.org/releases/linphone/1.3.x/source/ilbc-rfc3951.tar.gz)

build () {
	cd ilbc-rfc3951
	./configure --prefix=/usr
	make
	make DESTDIR=$PKG install
}

Added contrib/ilmbase/Pkgfile.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Description: Base math and exception library.
# URL: http://www.openexr.com/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com

name=ilmbase
version=1.0.2
release=1
source=(http://download.savannah.gnu.org/releases/openexr/$name-$version.tar.gz
	ilmbase-1.0.2-gcc43.patch)

build() {
	cd $name-$version

	patch -p 0 -i $SRC/ilmbase-1.0.2-gcc43.patch

	./configure \
		--prefix=/usr \
		--disable-static \
		--disable-dependency-tracking

	make
	make DESTDIR=$PKG install
}

Added contrib/ilmbase/ilmbase-1.0.2-gcc43.patch.























>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
--- Imath/ImathMatrix.h
+++ Imath/ImathMatrix.h
@@ -37,6 +37,8 @@
 #ifndef INCLUDED_IMATHMATRIX_H
 #define INCLUDED_IMATHMATRIX_H
 
+#include <cstring>
+
 //----------------------------------------------------------------
 //
 //      2D (3x3) and 3D (4x4) transformation matrix templates.

Added contrib/imlib/Pkgfile.













































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# Description: An image loading and rendering library.
# URL: http://ftp.acc.umu.se/pub/GNOME/sources/imlib/1.9/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Daniel Mueller, daniel at danm dot de
# Depends on: gtk1 libungif libtiff libpng

name=imlib
version=1.9.15
release=2
source=(http://ftp.gnome.org/pub/GNOME/sources/imlib/${version%.*}/imlib-$version.tar.bz2
	imlib-1.9.15-configure.patch
	imlib-1.9.15-security.patch
	imlib-1.9.15-bpp16-CVE-2007-3568.patch
	imlib-1.9.15-fix-rendering.patch
	imlib-1.9.15-asneeded.patch
	gtk-1-for-imlib.m4.bz2)

build() {
	cd imlib-$version

	patch -p 1 -i $SRC/imlib-1.9.15-configure.patch
	patch -p 1 -i $SRC/imlib-1.9.15-security.patch
	patch -p 1 -i $SRC/imlib-1.9.15-bpp16-CVE-2007-3568.patch
	patch -p 1 -i $SRC/imlib-1.9.15-fix-rendering.patch
	patch -p 1 -i $SRC/imlib-1.9.15-asneeded.patch

	mkdir m4
	bzcat $SRC/gtk-1-for-imlib.m4.bz2 > m4/gtk-1-for-imlib.m4
	autoreconf -i

	./configure \
		--prefix=/usr \
		--mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added contrib/imlib/gtk-1-for-imlib.m4.bz2.

cannot compute difference between binary files

Added contrib/imlib/imlib-1.9.15-asneeded.patch.













































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
This code is broken with the newer libtool. Just dropping it is more or less
safe as in any case if libtool does not supports shared libraries it'll issue
an error...

Adding include is necessary for gcc-4.3.

--- imlib-1.9.15.orig/configure.in	2008-07-16 09:18:35 +0000
+++ imlib-1.9.15/configure.in	2008-07-16 09:18:43 +0000
@@ -61,6 +61,7 @@
   AC_TRY_RUN([
 #include <glib.h>
 #include <gmodule.h>
+#include <stdlib.h>
 main ()
 {
     if (g_module_supported ())
@@ -74,21 +74,6 @@
   CFLAGS="$oCFLAGS"
 fi
 
-dnl Now we check to see if our libtool supports shared lib deps
-dnl (in a rather ugly way even)
-builddir=`pwd`
-if $dynworks; then
-   imlib_libtool_config="$builddir/libtool --config"
-   imlib_deplibs_check=`$imlib_libtool_config | \
-      grep '^[[a-z_]]*check[[a-z_]]*_method=[['\''"]]' | \
-      sed 's/.*[['\''"]]\(.*\)[['\''"]]$/\1/'`
-   if test "x$imlib_deplibs_check" = "xnone" || \
-      test "x$imlib_deplibs_check" = "xunknown" || \
-      test "x$imlib_deplibs_check" = "x"; then
-      dynworks=false
-   fi
-fi
-
 if $dynworks; then
    AC_DEFINE(USE_GMODULE, 1, [ ])
    GMODULE_LIBS="`glib-config --libs gmodule`"

Added contrib/imlib/imlib-1.9.15-bpp16-CVE-2007-3568.patch.























>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
--- imlib-1.9.15.orig/Imlib/load.c	2007-08-13 23:06:20.000000000 -0300
+++ imlib-1.9.15/Imlib/load.c	2007-08-13 23:06:51.000000000 -0300
@@ -645,7 +645,7 @@
   planes = (int)word;
   fread(&word, 2, 1, file);
   bpp = (int)word;
-  if (bpp != 1 && bpp != 4 && bpp != 8 && bpp && 16 && bpp != 24 && bpp != 32)
+  if (bpp != 1 && bpp != 4 && bpp != 8 && bpp != 16 && bpp != 24 && bpp != 32)
     {
       fprintf(stderr, "IMLIB ERROR: unknown bitdepth in file\n");
       return NULL;

Added contrib/imlib/imlib-1.9.15-configure.patch.















































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
diff -pruN imlib-1.9.15.orig/configure.in imlib-1.9.15/configure.in
--- imlib-1.9.15.orig/configure.in	2008-10-23 21:34:03.904349217 +1100
+++ imlib-1.9.15/configure.in	2008-10-23 21:35:56.881224111 +1100
@@ -5,6 +5,7 @@ AC_INIT(gdk_imlib/gdk_imlib.h)
 cflags_set=${CFLAGS+set}
 
 AC_CONFIG_HEADERS(config.h)
+AC_CONFIG_MACRO_DIR([m4])
 
 AM_INIT_AUTOMAKE(imlib, 1.9.15)
 AC_PROG_CC
@@ -17,11 +18,26 @@ dnl Give the user an option to compile w
 dnl incase it is broken for example.
 AC_ARG_ENABLE(shm, [  --enable-shm            support shared memory if available [default=yes]], echo $enable_shm, enable_shm="yes")
 
+AC_ARG_ENABLE(gdk, [  --enable-gdk            enable gdk_imlib compilation [default=yes]],[
+  if test x$enableval = xyes; then
+    disable_gdk="no"
+  else
+    disable_gdk="yes"
+  fi],disable_gdk=no)
+
+if test x$disable_gdk = xno; then
+ AC_MSG_RESULT(no)
+
 AM_PATH_GTK(1.2.1,[
   GDK_IMLIB="gdk_imlib utils"],[
   GDK_IMLIB="" 
   AC_MSG_WARN([*** gdk_imlib will not be built ***])])
 
+else
+  AC_MSG_RESULT(yes)
+  GDK_IMLIB=""
+fi
+
 AC_MSG_CHECKING(whether to build gmodulized imlib)
 
 AC_ARG_ENABLE(modules, [  --disable-modules       Disables dynamic module loading],[
diff -pruN imlib-1.9.15.orig/imlib-config.in imlib-1.9.15/imlib-config.in
--- imlib-1.9.15.orig/imlib-config.in	2008-10-23 21:34:03.904349217 +1100
+++ imlib-1.9.15/imlib-config.in	2008-10-23 21:34:28.226349920 +1100
@@ -46,15 +46,9 @@ while test $# -gt 0; do
       echo @VERSION@
       ;;
     --cflags)
-      if test @includedir@ != /usr/include ; then
-        includes=-I@includedir@
-      fi
       echo $includes @X_CFLAGS@ 
       ;;
     --cflags-gdk)
-      if test @includedir@ != /usr/include ; then
-        includes=-I@includedir@
-      fi
       echo `@GTK_CONFIG@ --cflags` $includes @X_CFLAGS@
       ;;
     --libs)
diff -pruN imlib-1.9.15.orig/imlib.m4 imlib-1.9.15/imlib.m4
--- imlib-1.9.15.orig/imlib.m4	2008-10-23 21:34:03.901349273 +1100
+++ imlib-1.9.15/imlib.m4	2008-10-23 21:34:28.227349890 +1100
@@ -6,7 +6,7 @@
 dnl AM_PATH_IMLIB([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
 dnl Test for IMLIB, and define IMLIB_CFLAGS and IMLIB_LIBS
 dnl
-AC_DEFUN(AM_PATH_IMLIB,
+AC_DEFUN([AM_PATH_IMLIB],
 [dnl 
 dnl Get the cflags and libraries from the imlib-config script
 dnl
@@ -164,7 +164,7 @@ int main ()
 ])
 
 # Check for gdk-imlib
-AC_DEFUN(AM_PATH_GDK_IMLIB,
+AC_DEFUN([AM_PATH_GDK_IMLIB],
 [dnl 
 dnl Get the cflags and libraries from the imlib-config script
 dnl
diff -pruN imlib-1.9.15.orig/Makefile.am imlib-1.9.15/Makefile.am
--- imlib-1.9.15.orig/Makefile.am	2008-10-23 21:34:03.901349273 +1100
+++ imlib-1.9.15/Makefile.am	2008-10-23 21:38:28.168099386 +1100
@@ -1,3 +1,5 @@
+ACLOCAL_AMFLAGS= -I m4
+
 SUBDIRS = @GDK_IMLIB@ Imlib config doc
 bin_SCRIPTS = imlib-config
 

Added contrib/imlib/imlib-1.9.15-fix-rendering.patch.



















































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
Michel Dänzer <daenzer AT debian.org>

* The boolean value returned via the last parameter to XShmQueryVersion()
  isn't honoured everywhere.
* The init functions that take parameters allow the caller to enable shared
  pixmaps when they aren't supported (or disabled by configuration files).


These result in incorrect rendering when the MIT-SHM extension doesn't support
shared pixmaps, e.g. using EXA with current versions of Xorg.

http://bugs.gentoo.org/show_bug.cgi?id=197489

diff -up -ru imlib-1.9.15.orig/gdk_imlib/misc.c imlib-1.9.15/gdk_imlib/misc.c
--- imlib-1.9.15.orig/gdk_imlib/misc.c	2002-03-04 18:06:32.000000000 +0100
+++ imlib-1.9.15/gdk_imlib/misc.c	2007-10-28 14:00:04.000000000 +0100
@@ -674,6 +674,10 @@ gdk_imlib_init_params(GdkImlibInitParams
   visual = gdk_rgb_get_visual();
   id->x.visual = GDK_VISUAL_XVISUAL(visual);	/* the visual type */
   id->x.depth = visual->depth;	/* the depth of the screen in bpp */
+
+  id->x.shm = 0;
+  id->x.shmp = 0;
+  id->max_shm = 0;
 #ifdef HAVE_SHM
   if (XShmQueryExtension(id->x.disp))
     {
@@ -689,17 +693,14 @@ gdk_imlib_init_params(GdkImlibInitParams
 	      id->x.last_xim = NULL;
 	      id->x.last_sxim = NULL;
 	      id->max_shm = 0x7fffffff;
-	      if (XShmPixmapFormat(id->x.disp) == ZPixmap)
+	      if ((XShmPixmapFormat(id->x.disp) == ZPixmap) &&
+		  (pm == True))
 		id->x.shmp = 1;
 	    }
 	}
     }
-  else
 #endif
-    {
-      id->x.shm = 0;
-      id->x.shmp = 0;
-    }
+
   id->cache.on_image = 0;
   id->cache.size_image = 0;
   id->cache.num_image = 0;
@@ -935,8 +936,8 @@ gdk_imlib_init_params(GdkImlibInitParams
 	}
       if (p->flags & PARAMS_SHAREDPIXMAPS)
 	{
-	  if (id->x.shm)
-	    id->x.shmp = p->sharedpixmaps;
+	  if (!p->sharedpixmaps)
+	    id->x.shmp = 0;
 	}
       if (p->flags & PARAMS_PALETTEOVERRIDE)
 	override = p->paletteoverride;
diff -up -ru imlib-1.9.15.orig/Imlib/misc.c imlib-1.9.15/Imlib/misc.c
--- imlib-1.9.15.orig/Imlib/misc.c	2004-09-21 02:22:59.000000000 +0200
+++ imlib-1.9.15/Imlib/misc.c	2007-10-28 14:00:23.000000000 +0100
@@ -675,6 +675,10 @@ Imlib_init_with_params(Display * disp, I
   id->x.root = DefaultRootWindow(disp);		/* the root window id */
   id->x.visual = DefaultVisual(disp, id->x.screen);	/* the visual type */
   id->x.depth = DefaultDepth(disp, id->x.screen);	/* the depth of the screen in bpp */
+
+  id->x.shm = 0;
+  id->x.shmp = 0;
+  id->max_shm = 0;
 #ifdef HAVE_SHM
   if (XShmQueryExtension(id->x.disp))
     {
@@ -690,17 +694,14 @@ Imlib_init_with_params(Display * disp, I
 	      id->x.last_xim = NULL;
 	      id->x.last_sxim = NULL;
 	      id->max_shm = 0x7fffffff;
-	      if (XShmPixmapFormat(id->x.disp) == ZPixmap)
+	      if ((XShmPixmapFormat(id->x.disp) == ZPixmap &&
+		   (pm == True)))
 		id->x.shmp = 1;
 	    }
 	}
     }
-  else
 #endif
-    {
-      id->x.shm = 0;
-      id->x.shmp = 0;
-    }
+
   id->cache.on_image = 0;
   id->cache.size_image = 0;
   id->cache.num_image = 0;
@@ -952,8 +953,8 @@ Imlib_init_with_params(Display * disp, I
 	}
       if (p->flags & PARAMS_SHAREDPIXMAPS)
 	{
-	  if (id->x.shm)
-	    id->x.shmp = p->sharedpixmaps;
+	  if (!p->sharedpixmaps)
+	    id->x.shmp = 0;
 	}
       if (p->flags & PARAMS_PALETTEOVERRIDE)
 	override = p->paletteoverride;

Added contrib/imlib/imlib-1.9.15-security.patch.





























































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
diff -Nru imlib-1.9.15.orig/Imlib/load.c imlib-1.9.15/Imlib/load.c
--- imlib-1.9.15.orig/Imlib/load.c	2004-12-23 23:50:22.820521823 +0100
+++ imlib-1.9.15/Imlib/load.c	2004-12-23 23:50:36.549790030 +0100
@@ -4,6 +4,8 @@
 #include "Imlib_private.h"
 #include <setjmp.h>
 
+#define G_MAXINT ((int) 0x7fffffff)
+
 /*      Split the ID - damages input    */
 
 static char        *
@@ -41,13 +43,17 @@
 
 /*
  *     Make sure we don't wrap on our memory allocations
+ *     we check G_MAXINT/4 because rend.c malloc's w * h * bpp
+ *     + 3 is safety margin
  */
 
 void * _imlib_malloc_image(unsigned int w, unsigned int h)
 {
-       if( w > 32767 || h > 32767)
-               return NULL;
-       return malloc(w * h * 3);
+       if (w <= 0 || w > 32767 ||
+           h <= 0 || h > 32767 ||
+           h >= (G_MAXINT/4 - 1) / w)
+                return NULL;
+       return malloc(w * h * 3 + 3);
 }
 
 #ifdef HAVE_LIBJPEG
@@ -360,7 +366,9 @@
   npix = ww * hh;
   *w = (int)ww;
   *h = (int)hh;
-  if(ww > 32767 || hh > 32767)
+  if (ww <= 0 || ww > 32767 ||
+      hh <= 0 || hh > 32767 ||
+      hh >= (G_MAXINT/sizeof(uint32)) / ww)
     {
        TIFFClose(tif);
        return NULL;
@@ -463,7 +471,7 @@
 	    }
 	  *w = gif->Image.Width;
 	  *h = gif->Image.Height;
-	  if (*h > 32767 || *w > 32767)
+	  if (*h <= 0 || *h > 32767 || *w <= 0 || *w > 32767)
 	    {
 	       return NULL;
 	    }
@@ -1000,7 +1008,12 @@
   comment = 0;
   quote = 0;
   context = 0;
+  memset(lookup, 0, sizeof(lookup));
+
   line = malloc(lsz);
+  if (!line)
+    return NULL;
+
   while (!done)
     {
       pc = c;
@@ -1029,25 +1042,25 @@
 		{
 		  /* Header */
 		  sscanf(line, "%i %i %i %i", w, h, &ncolors, &cpp);
-                  if (ncolors > 32766)
+                  if (ncolors <= 0 || ncolors > 32766)
 		    {
 		      fprintf(stderr, "IMLIB ERROR: XPM files wth colors > 32766 not supported\n");
 		      free(line);
 		      return NULL;
 		    }
-		  if (cpp > 5)
+		  if (cpp <= 0 || cpp > 5)
 		    {
 		      fprintf(stderr, "IMLIB ERROR: XPM files with characters per pixel > 5 not supported\n");
 		      free(line);
 		      return NULL;
 		    }
-		  if (*w > 32767)
+		  if (*w <= 0 || *w > 32767)
 		    {
 		      fprintf(stderr, "IMLIB ERROR: Image width > 32767 pixels for file\n");
 		      free(line);
 		      return NULL;
 		    }
-		  if (*h > 32767)
+		  if (*h <= 0 || *h > 32767)
 		    {
 		      fprintf(stderr, "IMLIB ERROR: Image height > 32767 pixels for file\n");
 		      free(line);
@@ -1080,11 +1093,13 @@
 		    {
 		      int                 slen;
 		      int                 hascolor, iscolor;
+		      int                 space;
 
 		      iscolor = 0;
 		      hascolor = 0;
 		      tok[0] = 0;
 		      col[0] = 0;
+		      space = sizeof(col) - 1;
 		      s[0] = 0;
 		      len = strlen(line);
 		      strncpy(cmap[j].str, line, cpp);
@@ -1107,10 +1122,10 @@
 				{
 				  if (k >= len)
 				    {
-				      if (col[0])
-					strcat(col, " ");
-                                      if (strlen(col) + strlen(s) < sizeof(col))
-					strcat(col, s);
+				      if (col[0] && space > 0)
+					strcat(col, " "), space -= 1;
+                                      if (slen <= space)
+					strcat(col, s), space -= slen;
 				    }
 				  if (col[0])
 				    {
@@ -1140,14 +1155,17 @@
 					    }
 					}
 				    }
-				  strcpy(tok, s);
+				  if (slen < sizeof(tok));
+				    strcpy(tok, s);
 				  col[0] = 0;
+				  space = sizeof(col) - 1;
 				}
 			      else
 				{
-				  if (col[0])
-				    strcat(col, " ");
-				  strcat(col, s);
+				  if (col[0] && space > 0)
+				    strcat(col, " "), space -=1;
+				  if (slen <= space)
+				    strcat(col, s), space -= slen;
 				}
 			    }
 			}
@@ -1376,12 +1394,12 @@
 	  sscanf(s, "%i %i", w, h);
 	  a = *w;
 	  b = *h;
-	  if (a > 32767)
+	  if (a <= 0 || a > 32767)
 	    {
 	      fprintf(stderr, "IMLIB ERROR: Image width > 32767 pixels for file\n");
 	      return NULL;
 	    }
-	  if (b > 32767)
+	  if (b <= 0 || b > 32767)
 	    {
 	      fprintf(stderr, "IMLIB ERROR: Image height > 32767 pixels for file\n");
 	      return NULL;
diff -Nru imlib-1.9.15.orig/Imlib/utils.c imlib-1.9.15/Imlib/utils.c
--- imlib-1.9.15.orig/Imlib/utils.c	2004-12-23 23:50:22.824519281 +0100
+++ imlib-1.9.15/Imlib/utils.c	2004-12-23 23:50:36.553787487 +0100
@@ -1496,36 +1496,56 @@
   context = 0;
   ptr = NULL;
   end = NULL;
+  memset(lookup, 0, sizeof(lookup));
 
   while (!done)
     {
       line = data[count++];
+      if (!line)
+	break;
+      line = strdup(line);
+      if (!line)
+	break;
+      len = strlen(line);
+      for (i = 0; i < len; ++i)
+	{
+	  c = line[i];
+	  if (c < 32)
+	    line[i] = 32;
+	  else if (c > 127)
+	    line[i] = 127;
+	}
+
       if (context == 0)
 	{
 	  /* Header */
 	  sscanf(line, "%i %i %i %i", &w, &h, &ncolors, &cpp);
-	  if (ncolors > 32766)
+	  if (ncolors <= 0 || ncolors > 32766)
 	    {
 	      fprintf(stderr, "IMLIB ERROR: XPM data wth colors > 32766 not supported\n");
 	      free(im);
+	      free(line);
 	      return NULL;
 	    }
-	  if (cpp > 5)
+	  if (cpp <= 0 || cpp > 5)
 	    {
 	      fprintf(stderr, "IMLIB ERROR: XPM data with characters per pixel > 5 not supported\n");
 	      free(im);
+	      free(line);
 	      return NULL;
 	    }
-	  if (w > 32767)
+	  if (w <= 0 || w > 32767)
 	    {
 	      fprintf(stderr, "IMLIB ERROR: Image width > 32767 pixels for data\n");
 	      free(im);
+	      free(line);
 	      return NULL;
 	    }
-	  if (h > 32767)
+	  if (h <= 0 || h > 32767)
 	    {
 	      fprintf(stderr, "IMLIB ERROR: Image height > 32767 pixels for data\n");
 	      free(im);
+	      free(line);
 	      return NULL;
 	    }
 	  cmap = malloc(sizeof(struct _cmap) * ncolors);
@@ -1533,6 +1553,7 @@
 	  if (!cmap)
 	    {
 	      free(im);
+	      free(line);
 	      return NULL;
 	    }
 	  im->rgb_width = w;
@@ -1542,6 +1563,7 @@
 	    {
 	      free(cmap);
 	      free(im);
+	      free(line);
 	      return NULL;
 	    }
 	  im->alpha_data = NULL;
@@ -1817,6 +1839,7 @@
 	}
       if ((ptr) && ((ptr - im->rgb_data) >= w * h * 3))
 	done = 1;
+      free(line);
     }
   if (!transp)
     {
diff -Nru imlib-1.9.15.orig/gdk_imlib/io-gif.c imlib-1.9.15/gdk_imlib/io-gif.c
--- imlib-1.9.15.orig/gdk_imlib/io-gif.c	2004-12-23 23:50:22.863494493 +0100
+++ imlib-1.9.15/gdk_imlib/io-gif.c	2004-12-23 23:50:36.554786852 +0100
@@ -55,7 +55,7 @@
 	    }
 	  *w = gif->Image.Width;
 	  *h = gif->Image.Height;
-	  if(*h > 32767 || *w > 32767)
+	  if(*h <= 0 || *h > 32767 || *w <= 0 || *w > 32767)
 	    {
 	      return NULL;
 	    }
diff -Nru imlib-1.9.15.orig/gdk_imlib/io-ppm.c imlib-1.9.15/gdk_imlib/io-ppm.c
--- imlib-1.9.15.orig/gdk_imlib/io-ppm.c	2004-12-23 23:50:22.864493857 +0100
+++ imlib-1.9.15/gdk_imlib/io-ppm.c	2004-12-23 23:50:36.556785581 +0100
@@ -53,12 +53,12 @@
 	  sscanf(s, "%i %i", w, h);
 	  a = *w;
 	  b = *h;
-	  if (a > 32767)
+	  if (a <= 0 || a > 32767)
 	    {
 	      fprintf(stderr, "gdk_imlib ERROR: Image width > 32767 pixels for file\n");
 	      return NULL;
 	    }
-	  if (b > 32767)
+	  if (b <= 0 || b > 32767)
 	    {
 	      fprintf(stderr, "gdk_imlib ERROR: Image height > 32767 pixels for file\n");
 	      return NULL;
diff -Nru imlib-1.9.15.orig/gdk_imlib/io-tiff.c imlib-1.9.15/gdk_imlib/io-tiff.c
--- imlib-1.9.15.orig/gdk_imlib/io-tiff.c	2004-12-23 23:50:22.864493857 +0100
+++ imlib-1.9.15/gdk_imlib/io-tiff.c	2004-12-23 23:50:36.557784945 +0100
@@ -36,7 +36,9 @@
   npix = ww * hh;
   *w = (int)ww;
   *h = (int)hh;
-  if(ww > 32767 || hh > 32767)
+  if (ww <= 0 || ww > 32767 ||
+      hh <= 0 || hh > 32767 ||
+      hh >= (G_MAXINT/sizeof(uint32)) / ww)
     {
       TIFFClose(tif);
       return NULL;
diff -Nru imlib-1.9.15.orig/gdk_imlib/io-xpm.c imlib-1.9.15/gdk_imlib/io-xpm.c
--- imlib-1.9.15.orig/gdk_imlib/io-xpm.c	2004-12-23 23:50:22.864493857 +0100
+++ imlib-1.9.15/gdk_imlib/io-xpm.c	2004-12-23 23:50:36.558784309 +0100
@@ -40,8 +40,12 @@
   context = 0;
   i = j = 0;
   cmap = NULL;
+  memset(lookup, 0, sizeof(lookup));
 
   line = malloc(lsz);
+  if (!line)
+    return NULL;
+
   while (!done)
     {
       pc = c;
@@ -70,25 +74,25 @@
 		{
 		  /* Header */
 		  sscanf(line, "%i %i %i %i", w, h, &ncolors, &cpp);
-		  if (ncolors > 32766)
+		  if (ncolors <= 0 || ncolors > 32766)
 		    {
 		      fprintf(stderr, "gdk_imlib ERROR: XPM files wth colors > 32766 not supported\n");
 		      free(line);
 		      return NULL;
 		    }
-		  if (cpp > 5)
+		  if (cpp <= 0 || cpp > 5)
 		    {
 		      fprintf(stderr, "gdk_imlib ERROR: XPM files with characters per pixel > 5 not supported\n");
 		      free(line);
 		      return NULL;
 		    }
-		  if (*w > 32767)
+		  if (*w <= 0 || *w > 32767)
 		    {
 		      fprintf(stderr, "gdk_imlib ERROR: Image width > 32767 pixels for file\n");
 		      free(line);
 		      return NULL;
 		    }
-		  if (*h > 32767)
+		  if (*h <= 0 || *h > 32767)
 		    {
 		      fprintf(stderr, "gdk_imlib ERROR: Image height > 32767 pixels for file\n");
 		      free(line);
@@ -120,11 +124,13 @@
 		    {
 		      int                 slen;
 		      int                 hascolor, iscolor;
+		      int                 space;
 
 		      hascolor = 0;
 		      iscolor = 0;
 		      tok[0] = 0;
 		      col[0] = 0;
+		      space = sizeof(col) - 1;
 		      s[0] = 0;
 		      len = strlen(line);
 		      strncpy(cmap[j].str, line, cpp);
@@ -147,10 +153,10 @@
 				{
 				  if (k >= len)
 				    {
-				      if (col[0])
-					strcat(col, " ");
-				      if (strlen(col) + strlen(s) < sizeof(col))
-					strcat(col, s);
+				      if (col[0] && space > 0)
+					strncat(col, " ", space), space -= 1;
+				      if (slen <= space)
+					strcat(col, s), space -= slen;
 				    }
 				  if (col[0])
 				    {
@@ -180,14 +186,17 @@
 					    }
 					}
 				    }
-				  strcpy(tok, s);
+				  if (slen < sizeof(tok))
+				    strcpy(tok, s);
 				  col[0] = 0;
+				  space = sizeof(col) - 1;
 				}
 			      else
 				{
-				  if (col[0])
-				    strcat(col, " ");
-				  strcat(col, s);
+				  if (col[0] && space > 0)
+				    strcat(col, " "), space -= 1;
+				  if (slen <= space)
+				    strcat(col, s), space -= slen;
 				}
 			    }
 			}
diff -Nru imlib-1.9.15.orig/gdk_imlib/misc.c imlib-1.9.15/gdk_imlib/misc.c
--- imlib-1.9.15.orig/gdk_imlib/misc.c	2004-12-23 23:50:22.866492586 +0100
+++ imlib-1.9.15/gdk_imlib/misc.c	2004-12-23 23:50:36.560783038 +0100
@@ -1355,11 +1355,16 @@
 
 /*
  *	Make sure we don't wrap on our memory allocations
+ *	we check G_MAX_INT/4 because rend.c malloc's w * h * bpp
+ *	+ 3 is safety margin
  */
 
 void *_gdk_malloc_image(unsigned int w, unsigned int h)
 {
-	if( w > 32767 || h > 32767)
+	if (w <= 0 || w > 32767 ||
+	    h <= 0 || h > 32767 ||
+	    h >= (G_MAXINT/4 - 1) / w)
 		return NULL;
-	return malloc(w * h * 3);
+	return malloc(w * h * 3 + 3);
 }
+
diff -Nru imlib-1.9.15.orig/gdk_imlib/utils.c imlib-1.9.15/gdk_imlib/utils.c
--- imlib-1.9.15.orig/gdk_imlib/utils.c	2004-12-23 23:50:22.869490679 +0100
+++ imlib-1.9.15/gdk_imlib/utils.c	2004-12-23 23:50:36.563781131 +0100
@@ -1236,36 +1236,56 @@
   context = 0;
   ptr = NULL;
   end = NULL;
+  memset(lookup, 0, sizeof(lookup));
 
   while (!done)
     {
       line = data[count++];
+      if (!line)
+	break;
+      line = strdup(line);
+      if (!line)
+	break;
+      len = strlen(line);
+      for (i = 0; i < len; ++i)
+        {
+	  c = line[i];
+	  if (c < 32)
+	    line[i] = 32;
+	  else if (c > 127)
+	    line[i] = 127;
+	}
+
       if (context == 0)
 	{
 	  /* Header */
 	  sscanf(line, "%i %i %i %i", &w, &h, &ncolors, &cpp);
-	  if (ncolors > 32766)
+	  if (ncolors <= 0 || ncolors > 32766)
 	    {
 	      fprintf(stderr, "gdk_imlib ERROR: XPM data wth colors > 32766 not supported\n");
 	      free(im);
+	      free(line);
 	      return NULL;
 	    }
-	  if (cpp > 5)
+	  if (cpp <= 0 || cpp > 5)
 	    {
 	      fprintf(stderr, "gdk_imlib ERROR: XPM data with characters per pixel > 5 not supported\n");
 	      free(im);
+	      free(line);
 	      return NULL;
 	    }
-	  if (w > 32767)
+	  if (w <= 0 || w > 32767)
 	    {
 	      fprintf(stderr, "gdk_imlib ERROR: Image width > 32767 pixels for data\n");
 	      free(im);
+	      free(line);
 	      return NULL;
 	    }
-	  if (h > 32767)
+	  if (h <= 0 || h > 32767)
 	    {
 	      fprintf(stderr, "gdk_imlib ERROR: Image height > 32767 pixels for data\n");
 	      free(im);
+	      free(line);
 	      return NULL;
 	    }
 	  cmap = malloc(sizeof(struct _cmap) * ncolors);
@@ -1273,6 +1293,7 @@
 	  if (!cmap)
 	    {
 	      free(im);
+	      free(line);
 	      return NULL;
 	    }
 	  im->rgb_width = w;
@@ -1282,6 +1303,7 @@
 	    {
 	      free(cmap);
 	      free(im);
+	      free(line);
 	      return NULL;
 	    }
 	  im->alpha_data = NULL;
@@ -1355,7 +1377,7 @@
 				  strcpy(col + colptr, " ");
 				  colptr++;
 				}
-			      if (colptr + ls <= sizeof(col))
+			      if (colptr + ls < sizeof(col))
 				{
 				  strcpy(col + colptr, s);
 				  colptr += ls;
@@ -1558,6 +1580,7 @@
 	}
       if ((ptr) && ((ptr - im->rgb_data) >= w * h * 3))
 	done = 1;
+      free(line);
     }
   if (!transp)
     {

Added contrib/inadyn-mt/Pkgfile.



















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# Description: Lightweight, free and opensource dynamic dns client.
# URL: http://inadyn-mt.sourceforge.net/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Jose V Beneyto, sepen at crux dot nu
# Depends on:

name=inadyn-mt
version=02.24.34
release=1
source=(http://download.sourceforge.net/$name/$name.v.$version.tar.gz)

build() {
  cd $name.v.$version

  ./configure --prefix=/usr \
              --mandir=/usr/man \
              --disable-sound \
              --disable-debug

  make

  install -d $PKG/etc
  make INSTALL_PREFIX=$PKG DESTDIR=$PKG install
  rm -rf $PKG/inadyn-mt $PKG/etc
}

Added contrib/inkscape/Pkgfile.





































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# Description: An open source SVG editor.
# URL: http://www.inkscape.org
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Huynh Ngoc Chau Tran, tran dot huynh at laposte dot net
# Depends on: boehm-gc boost gsl gtkmm intltool lcms libart_lgpl popt

name=inkscape
version=0.48.3.1
release=1
source=(http://downloads.sourceforge.net/project/$name/$name/$version/$name-$version.tar.bz2)

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--mandir=/usr/man \
		--disable-nls

	make
	make DESTDIR=$PKG install

	rm \
		$PKG/usr/man/man1/inkscape.??.1 \
		$PKG/usr/man/man1/inkscape.zh_TW.1

	rm -r \
		$PKG/usr/share/locale \
		$PKG/usr/man/?? \
		$PKG/usr/man/zh_TW

	find $PKG/usr/share/inkscape -name README -exec rm -f {} +
	python -mcompileall $PKG
}

Added contrib/inotify-tools/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: inotify-tools is a C library and a set of command-line programs for Linux providing a simple interface to inotify
# URL:         http://inotify-tools.sourceforge.net/
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    Till Biedermann, tillbiedermann at yahoo dot de
# Depends on: 

name=inotify-tools
version=3.14
release=1
source=(http://dl.sourceforge.net/sourceforge/$name/$name-$version.tar.gz)

build() {
    cd $name-$version
    ./configure --prefix=/usr
    make
    make DESTDIR=$PKG install
    rm -rf $PKG/usr/share/doc
}

Added contrib/ion3/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description: tiling tabbed window manager
# URL: http://modeemi.fi/~tuomov/ion/
# Maintainer: Rene Lengwinat, rugek at dirtyhack dot net
# Depends on: lua, xorg-libsm, xorg-libxext

name=ion3
version=3-20081002
release=1
source=(http://iki.fi/tuomov/dl/ion-$version.tar.gz)

build () {
    cd ion-$version

    # adjust paths
    sed -ie 's|^LUA_DIR=/usr/local|LUA_DIR=/usr|g' system.mk
    sed -ie 's|^MANDIR=$(PREFIX)/share/man|MANDIR=$(PREFIX)/man|g' system.mk

    make
    make PREFIX=$PKG/usr install
    rm -rf $PKG/usr/share/{doc,ion3,locale}
    rm -rf $PKG/usr/man/{fi,cs,de}
}

Added contrib/iotop/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Maintainer:  Bartlomiej Palmowski, rotwang at crux dot org dot pl
# Packager:    Johannes Winkelmann, jw at smts dot ch
# Description: top like program to display I/O load
# URL:         http://guichaz.free.fr/iotop/
# Depends on:  python

name=iotop
version=0.4.4
release=1
source=(http://guichaz.free.fr/$name/files/$name-$version.tar.bz2)

build() {
    cd $name-$version
    sed -i 's|share/man/man1|man/man1|' setup.py
    python setup.py install --root=$PKG --prefix=/usr
    rm -r $PKG/usr/lib/python*/site-packages/iotop-*.egg-info
}

Added contrib/iotop/README.























>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
README for iotop

REQUIREMENTS

iotop requires Linux kernel >= 2.6.20 with the TASK_DELAY_ACCT and TASK_IO_ACCOUNTING options enabled.

PRE-INSTALL

POST-INSTALL

PRECAUTION

Added contrib/ipmitool/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: IPMItool provides a simple command-line interface to IPMI-enabled devices
# URL: http://ipmitool.sourceforge.net
# Maintainer: Jose V Beneyto, sepen at users dot sourceforge dot net
# Packager: Jose V Beneyto, sepen at users dot sourceforge dot net
# Depends on: 

name=ipmitool
version=1.8.11
release=1
source=(http://download.sourceforge.net/$name/$name-$version.tar.bz2)

build() {
  cd $name-$version
  ./configure --prefix=/usr
  make
  make DESTDIR=$PKG install
  rm -rf $PKG/usr/share/doc
}

Added contrib/ipsec-tools/Pkgfile.





















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# Description: A port of KAME's IPsec utilities to the Linux-2.6
# URL: http://ipsec-tools.sourceforge.net/
# Maintainer: Mikhail Kolesnik, mike at openbunker dot org
# Depends on:

name=ipsec-tools
version=0.7.3
release=1
source=(http://sourceforge.net/projects/ipsec-tools/files/$name-$version.tar.bz2)

build() {
	cd $name-$version
	./configure --prefix=/usr \
				--mandir=/usr/man \
				--localstatedir=/var \
				--enable-hybrid \
				--enable-frag \
				--enable-stats \
				--enable-dpd \
				--enable-natt \
				--enable-adminport \
				--enable-security-context=no \
				--with-kernel-headers=/usr/include
	make
	make DESTDIR=$PKG install
}

Added contrib/ipsec-tools/README.



















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
README for ipsec-tools

REQUIREMENTS
For ipv4 IPSEC you'll need to enable:
  CONFIG_XFRM_USER
  CONFIG_NET_KEY
  CONFIG_INET_AH
  CONFIG_INET_ESP
  CONFIG_INET_XFRM_MODE_TRANSPORT
  CONFIG_INET_XFRM_MODE_TUNNEL

PRE-INSTALL

POST-INSTALL

RESOURCES

PRECAUTION
This is a very important piece of software, test your configuration
(try to capture/analyze some data) before production use.

Both transport and tunnel mode was tested for ipv4, but I am unsure if
automatic keying will work out of the box - no rc file for racoon is
provided for now. Any suggestions on template configurations from
people who use racoon in real life are welcome.

Added contrib/ipset/Pkgfile.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Description: Administration tool for IP or port sets.
# URL: http://ipset.netfilter.org/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com
# Depends on: iptables libmnl

name=ipset
version=6.11
release=1
source=(http://$name.netfilter.org/$name-$version.tar.bz2)

build() {
	cd $name-${version%%-*}

	./autogen.sh

	./configure \
		--prefix=/usr \
		--mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added contrib/iptraf/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: Network traffic monitoring program
# URL:         http://iptraf.seul.org
# Maintainer:  Juergen Daubert, juergen dot daubert at t-online dot de

name=iptraf
version=3.0.0
release=2
source=(ftp://iptraf.seul.org/pub/$name/$name-$version.tar.gz \
        $name-$version.patch)

build () {
    cd $name-$version
    patch -p1 < ../$name-$version.patch
    cd src
    make
    install -D -m 0700 iptraf $PKG/usr/sbin/iptraf
    install -D -m 0700 rvnamed $PKG/usr/sbin/rvnamed
    install -d $PKG/{usr/man/man8,var/lib}
    install -m 0644 ../Documentation/*.8 $PKG/usr/man/man8
    install -d -m 0700 $PKG/var/lib/iptraf
}

Added contrib/iptraf/iptraf-3.0.0.patch.











































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
diff -Nru iptraf-3.0.0.orig/Documentation/iptraf.8 iptraf-3.0.0/Documentation/iptraf.8
--- iptraf-3.0.0.orig/Documentation/iptraf.8	2006-04-13 18:37:54.000000000 +0200
+++ iptraf-3.0.0/Documentation/iptraf.8	2006-04-13 18:38:08.000000000 +0200
@@ -85,8 +85,8 @@
  SIGUSR2 - terminates an IPTraf process running in the background.
 
 .SH FILES
- /var/log/iptraf/*.log - log file
- /var/local/iptraf/* - important IPTraf data files
+ /var/lib/iptraf/*.log - log file
+ /var/lib/iptraf/* - important IPTraf data files
 
 .SH SEE ALSO
  Documentation/* - complete documentation written by the author
diff -Nru iptraf-3.0.0.orig/Documentation/rvnamed.8 iptraf-3.0.0/Documentation/rvnamed.8
--- iptraf-3.0.0.orig/Documentation/rvnamed.8	2006-04-13 18:37:54.000000000 +0200
+++ iptraf-3.0.0/Documentation/rvnamed.8	2006-04-13 18:38:08.000000000 +0200
@@ -11,7 +11,7 @@
 This program is only used by iptraf and, therefore, is useless alone.
 
 .SH FILES
- /var/local/iptraf/rvnamed.log - log file
+ /var/lib/iptraf/rvnamed.log - log file
 
 .SH SEE ALSO
 README.rvnamed - documentation from the author
diff -Nru iptraf-3.0.0.orig/src/Makefile iptraf-3.0.0/src/Makefile
--- iptraf-3.0.0.orig/src/Makefile	2006-04-13 18:37:54.000000000 +0200
+++ iptraf-3.0.0/src/Makefile	2006-04-13 18:38:08.000000000 +0200
@@ -5,8 +5,7 @@
 #
 # Architecture determination string borrowed from the kernel makefile.
 #
-ARCH 		:= $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ \
-			-e s/arm.*/arm/ -e s/sa110/arm/)
+ARCH 		:= $(shell uname -m)
 PLATFORM 	= -DPLATFORM=\"$(shell uname -s)/$(ARCH)\"
 VERNUMBER	:= $(shell cat version)
 VERSION 	= -DVERSION=\"$(VERNUMBER)\"
@@ -31,7 +30,7 @@
 # options to be passed to the compiler.  I don't believe they need to be
 # modified (except for -m486 on non-Intel x86 platforms).
 
-CFLAGS		= -Wall #-O2 #-m486
+CFLAGS		+= -Wall #-O2 #-m486
 DIRS		= -DWORKDIR=\"$(WORKDIR)\" \
 		  -DLOGDIR=\"$(LOGDIR)\" -DEXECDIR=\"$(TARGET)\"
 LDOPTS		= #-static
@@ -68,17 +67,17 @@
 # installation target directory.  The iptraf and rvnamed programs get
 # stored here.  iptraf also exec's rvnamed from this directory.
 
-TARGET		= /usr/local/bin
+TARGET		= /usr/sbin
 
 # The IPTraf working directory; if you change this.  Starting with this
 # version, this definition overrides dirs.h.
 
-WORKDIR		= /var/local/iptraf
+WORKDIR		= /var/lib/iptraf
 
 # The IPTraf log file directory.  IPTraf log files are placed here.
 # This definition overrides dirs.h
 
-LOGDIR		= /var/log/iptraf
+LOGDIR		= /var/lib/iptraf
 
 #
 # IPTraf lock file directory.  This is /var/run/iptraf/ and will not
@@ -145,7 +144,7 @@
 # installation rule
 
 install:
-	@./install.sh $(TARGET) $(WORKDIR) $(LOGDIR) $(LOCKDIR)
+	@./install.sh $(DESTDIR)$(TARGET) $(DESTDIR)$(WORKDIR) $(DESTDIR)$(LOGDIR) $(DESTDIR)$(LOCKDIR)
 
 # Upgrade rule
 #
diff -Nru iptraf-3.0.0.orig/src/dirs.h iptraf-3.0.0/src/dirs.h
--- iptraf-3.0.0.orig/src/dirs.h	2006-04-13 18:37:54.000000000 +0200
+++ iptraf-3.0.0/src/dirs.h	2006-04-13 18:38:08.000000000 +0200
@@ -46,7 +46,7 @@
  */
 
 #ifndef LOCKDIR
-#define LOCKDIR		"/var/run/iptraf"
+#define LOCKDIR		"/var/lib/iptraf"
 #endif
 
 /***
diff -Nru iptraf-3.0.0.orig/src/othptab.c iptraf-3.0.0/src/othptab.c
--- iptraf-3.0.0.orig/src/othptab.c	2006-04-13 18:37:54.000000000 +0200
+++ iptraf-3.0.0/src/othptab.c	2006-04-13 18:38:08.000000000 +0200
@@ -17,13 +17,10 @@
 ***/
 
 #include <asm/types.h>
-#include <linux/if_ether.h>
-#include <linux/if_tr.h>
-#include <linux/if_fddi.h>
 #include <winops.h>
+#include "tcptable.h"
 #include "arphdr.h"
 #include "options.h"
-#include "tcptable.h"
 #include "othptab.h"
 #include "deskman.h"
 #include "attrs.h"
diff -Nru iptraf-3.0.0.orig/src/packet.c iptraf-3.0.0/src/packet.c
--- iptraf-3.0.0.orig/src/packet.c	2006-04-13 18:37:54.000000000 +0200
+++ iptraf-3.0.0/src/packet.c	2006-04-13 18:38:08.000000000 +0200
@@ -32,6 +32,9 @@
 #include <sys/time.h>
 #include <net/if_arp.h>
 #include <net/if.h>
+#ifdef _NET_IF_H
+#define _LINUX_IF_H
+#endif
 #include <sys/ioctl.h>
 #include <linux/if_packet.h>
 #include <linux/if_ether.h>
diff -Nru iptraf-3.0.0.orig/src/tcptable.h iptraf-3.0.0/src/tcptable.h
--- iptraf-3.0.0.orig/src/tcptable.h	2006-04-13 18:37:54.000000000 +0200
+++ iptraf-3.0.0/src/tcptable.h	2006-04-13 18:38:08.000000000 +0200
@@ -20,11 +20,14 @@
 #include <arpa/inet.h>
 #include <net/if_arp.h>
 #include <asm/types.h>
+#include <net/if.h>
+#ifdef _NET_IF_H
+#define _LINUX_IF_H
+#endif
 #include <linux/if_packet.h>
 #include <linux/if_ether.h>
 #include <linux/if_fddi.h>
 #include <linux/if_tr.h>
-#include <net/if.h>
 #include <netinet/ip.h>
 #include <netinet/udp.h>
 #include "servname.h"
diff -Nru iptraf-3.0.0.orig/src/tr.c iptraf-3.0.0/src/tr.c
--- iptraf-3.0.0.orig/src/tr.c	2006-04-13 18:37:54.000000000 +0200
+++ iptraf-3.0.0/src/tr.c	2006-04-13 18:38:33.000000000 +0200
@@ -6,8 +6,7 @@
  * Copyright (c) Gerard Paul Java 2002
  */
 
-#include <asm/types.h>
-#include <linux/if_tr.h>
+#include <netinet/if_tr.h>
 #include <netinet/in.h>
 
 unsigned int get_tr_ip_offset(unsigned char *pkt)
diff -Nru iptraf-3.0.0.orig/support/Makefile iptraf-3.0.0/support/Makefile
--- iptraf-3.0.0.orig/support/Makefile	2006-04-13 18:37:54.000000000 +0200
+++ iptraf-3.0.0/support/Makefile	2006-04-13 18:38:08.000000000 +0200
@@ -12,7 +12,7 @@
 #	gcc -shared -o libtextbox.so $(OBJS)
 
 %.o: %.c *.h
-	gcc -O2 -g -Wall -fPIC $(INCLUDEDIR) -c -o $*.o $<
+	gcc $(CFLAGS) -Wall -fPIC $(INCLUDEDIR) -c -o $*.o $<
 
 clean:
 	rm -rf *.o *~ libtextbox.a libtextbox.so

Added contrib/iptstate/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: A top-like interface to your netfilter connection-tracking table.
# URL: http://www.phildev.net/iptstate/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Jürgen Daubert, juergen dot daubert at t-online dot de
# Depends on: ncurses libnetfilter_conntrack

name=iptstate
version=2.2.3
release=1
source=(http://downloads.sourceforge.net/project/$name/$name/$version/$name-$version.tar.bz2
	$name-2.2.1-install.patch)

build() {
	cd $name-$version
	patch -p 1 -i $SRC/$name-2.2.1-install.patch
	make
	make DESTDIR=$PKG install
}

Added contrib/iptstate/iptstate-2.2.1-install.patch.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
--- iptstate-2.2.1/Makefile-orig	2007-05-25 23:50:11.000000000 +1000
+++ iptstate-2.2.1/Makefile	2007-05-25 23:51:52.000000000 +1000
@@ -12,7 +12,7 @@
 SBIN?=$(PREFIX)/sbin
 INSTALL?=/usr/bin/install
 STRIP?=/usr/bin/strip
-MAN?=$(PREFIX)/share/man
+MAN?=$(PREFIX)/man
 
 ### ADVANCED USERS AND PACKAGERS MIGHT WANT TO CHANGE THIS
 
@@ -63,8 +63,8 @@
 
 
 install:
-	$(INSTALL) -D --mode=755 iptstate $(SBIN)/iptstate
-	$(INSTALL) -D --mode=444 iptstate.8 $(MAN)/man8/iptstate.8
+	$(INSTALL) -D --mode=755 iptstate $(DESTDIR)$(SBIN)/iptstate
+	$(INSTALL) -D --mode=644 iptstate.8 $(DESTDIR)$(MAN)/man8/iptstate.8
 
 
 clean:

Added contrib/ipw2200-fw/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: Firmware for the Intel PRO/Wireless 2200BG
# URL: http://ipw2200.sourceforge.net/firmware.php
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Jose V Beneyto, sepen at crux dot nu
# Depends on:

name=ipw2200-fw
version=3.1
release=1
source=(http://bughost.org/firmware/$name-$version.tgz)

build() {
  install -d $PKG/lib/firmware
  find $name-$version -name "LICENSE.ipw2200-fw" -delete
  cp $name-$version/* $PKG/lib/firmware
}

Added contrib/iw/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: nl80211 based CLI configuration utility for wireless devices
# URL:         http://wireless.kernel.org/en/users/Documentation/iw
# Maintainer:  Bartlomiej Palmowski, rotwang at crux dot org dot pl
# Depends on:  libnl

name=iw
version=3.3
release=1
source=(http://wireless.kernel.org/download/$name/$name-$version.tar.bz2
    version.sh)

build() { 
    cd $name-$version
    sed "s/#VER#/$version/" ../version.sh > version.sh
    make
    MANDIR=/usr/man make DESTDIR=$PKG install
}

Added contrib/iw/version.sh.

















>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
#!/bin/sh

VERSION="#VER#"
OUT="$1"

echo '#include "iw.h"' > "$OUT"
echo "const char iw_version[] = \"$VERSION\";" >> "$OUT"

Added contrib/iwlwifi-3945-ucode/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: Microcode image for the Intel Wireless WiFi link driver
# URL: http://intellinuxwireless.org/?p=iwlwifi
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Rouven Schuerch, rs at tegonal dot com
# Depends on:

name=iwlwifi-3945-ucode
version=15.32.2.9
release=1
source=(http://intellinuxwireless.org/iwlwifi/downloads/$name-$version.tgz)

build () {
  install -D -m 0644 $name-$version/iwlwifi-3945-2.ucode \
    $PKG/lib/firmware/iwlwifi-3945-2.ucode
  ln -sf /lib/firmware/iwlwifi-3945-2.ucode \
    $PKG/lib/firmware/iwlwifi-3945.ucode
}

Added contrib/iwlwifi-3945-ucode/README.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

README for iwlwifi-3945-ucode


*** Note for kernel >= 2.6.24 ***

  Check that you enabled the following config options in the kernel:
  
  * CFG80211=m
  * MAC80211=m
  * WLAN_80211=y
  * IWLWIFI=y
  * IWL3945=m

  The iwlwifi-3945 driver will look for the file iwlwifi-3945-2.ucode using the
  kernel's firmware_loader infrastructure.  In order to function correctly, you
  need to have this support enabled in your kernel.  When you configure the
  kernel, you can find this option in the following location:

  Device Drivers ->
  	Generic Driver Options ->
        	Hotplug firmware loading support

Added contrib/jack-audio-connection-kit/Pkgfile.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Description: A real-time, low latency audio daemon.
# URL: http://jackaudio.org/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Jay Dolan, jdolan at jdolan dot dyndns dot org
# Depends on: libsamplerate

name=jack-audio-connection-kit
version=0.121.3
release=1
source=(http://jackaudio.org/downloads/$name-$version.tar.gz)

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--mandir=/usr/man \
		--disable-portaudio

	make
	make DESTDIR=$PKG install
	rm -rf $PKG/usr/share
}

Added contrib/jack-audio-connection-kit/README.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Jack - Audio Connection Kit

NOTES

Jack is a versatile, high-performance sound server.  It is geared
towards music professionals, and offers excellent low-latency 
operation when properly configured.

Jack works best with, but does not require, a low-latency patched 
kernel.  To obtain a patch for your kernel, see:

  http://members.optusnet.com.au/ckolivas/kernel

If you are using a patched kernel and wish to run jackd as a
non-priviliged user, consider launching the jack daemon with:

  schedtool -I -e jackd [options]

This will allow jackd to run in near real-time, to provide 
minimum latency, without starving other processes.

Added contrib/jack/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description: A real-time, low latency audio daemon.
# URL: http://jackaudio.org/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com
# Depends on: libsamplerate

name=jack
version=1.9.8
release=1
source=(http://www.grame.fr/~letz/$name-$version.tgz)

build() {
	cd $name-$version/$name-$version
	local JOBS="$(sed -e 's/.*\(\-j[ 0-9]\+\) \{0,1\}.*/\1/' <<< $MAKEFLAGS)"
	./waf configure \
		--prefix=/usr \
		--mandir=/man/man1 \
		--alsa

	./waf build $JOBS
	./waf install --destdir=$PKG
}

Added contrib/jam/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: Software build tool.
# URL: http://www.perforce.com/jam/jam.html
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Mark Rosenstand, mark at borkware dot net
# Depends on: 

name=jam
version=2.5
release=1
source=(ftp://ftp.perforce.com/jam/jam-$version.zip)

build() {
	make
	./jam0 -sBINDIR=$PKG/usr/bin -sOPTIM="$CFLAGS" install
	chmod -v +r $PKG/usr/bin/jam
}

Added contrib/jamvm/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: Java Virtual Machine which conforms to the JVM specification version 2 (blue book). In comparison to most other VM's (free and commercial) it is extremely small
# URL: http://jamvm.sourceforge.net/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Jose V Beneyto, sepen at crux dot nu
# Depends on:

name=jamvm
version=1.5.3
release=1
source=(http://download.sourceforge.net/$name/$name/JamVM%20$version/$name-$version.tar.gz)

build() {
  cd $name-$version
  ./configure --prefix=/usr
  make
  make DESTDIR=$PKG install
}

Added contrib/jasper/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: Codec JPEG-2000 Part-1 standard.
# URL: http://www.ece.uvic.ca/~frodo/jasper/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, ronster dot romster at gmail dot com
# Depends on: freeglut libjpeg

name=jasper
version=1.900.1
release=1
source=(http://www.ece.uvic.ca/~frodo/jasper/software/$name-$version.zip)

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--enable-shared

	make
	make DESTDIR=$PKG install
}

Added contrib/jedit/Pkgfile.































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# Description: Java programmer's text editor
# URL: http://www.jedit.org
# Maintainer: Mikhail Kolesnik, mike at openbunker dot org
# Packager: Simone Rota, sip at crux dot nu
# Depends on: jre, unzip

name=jedit
version=4.5.0
release=1
source=(http://sourceforge.net/projects/$name/files/${name}${version}install.jar)

build() {
	mkdir -p $PKG/usr/lib/jedit
	mkdir -p $PKG/usr/bin
	unzip jedit${version}install.jar
	cd installer
	tar xvfj jedit-program.tar.bz2 -C $PKG/usr/lib/jedit
	tar xvfj jedit-macros.tar.bz2 -C $PKG/usr/lib/jedit
	tar xvfj jedit-api.tar.bz2 -C $PKG/usr/lib/jedit
	rm -r $PKG/usr/lib/jedit/doc
	rm $PKG/usr/lib/jedit/properties/README.txt
	rm $PKG/usr/lib/jedit/startup/README.txt
	find $PKG/usr/lib/jedit -type f -exec chmod 644 {} \;

cat << "EOF" > $PKG/usr/bin/jedit
#!/bin/bash
JAVA_HEAP_SIZE=32
exec /usr/lib/java/bin/java -mx${JAVA_HEAP_SIZE}m ${JEDIT} -jar /usr/lib/jedit/jedit.jar $@
EOF
	chmod 0755 $PKG/usr/bin/jedit
}

Added contrib/ketchup/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: Tool for updating versions of the Linux kernel source.
# URL: http://www.selenic.com/ketchup/wiki/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Mark Rosenstand, mark at borkware dot net
# Depends on: python gnupg

name=ketchup
version=0.9.8
release=1
source=(http://www.selenic.com/ketchup/ketchup-$version.tar.bz2)

build() {
	install -D -m755 ketchup	$PKG/usr/bin/ketchup
	install -D -m644 ketchup.1	$PKG/usr/man/man1/ketchup.1
}

Added contrib/ketchup/post-install.









>
>
>
>
1
2
3
4
#!/bin/sh

gpg --keyserver wwwkeys.pgp.net --recv-keys 0x517D0F0E

Added contrib/kexec-tools/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: kexec-tools for the linux kernel
# URL:         http://kernel.org/pub/linux/utils/kernel/kexec
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Depends on: 

name=kexec-tools
version=2.0.2
release=1
source=(http://kernel.org/pub/linux/utils/kernel/kexec/$name-$version.tar.bz2)

build() {
  cd $name-$version
  ./configure --prefix=/usr
  make
  make DESTDIR=$PKG install
}

Added contrib/keychain/Pkgfile.





























>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# Description: A front-end to ssh-agent.
# URL:         http://www.gentoo.org/proj/en/keychain.xml
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    Stoyan Zhekov zhware at hotpop dot com
# Depends on:

name=keychain
version=2.6.8
release=1
source=(http://agriffis.n01se.net/$name/$name-$version.tar.bz2)

build() {
   install -D -m755 -groot -oroot $name-$version/keychain $PKG/usr/bin/keychain
}

Added contrib/keychain/README.





















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# $Id:

REQUIREMENTS:

PRECAUTION:

PRE-INSTALL:

POST-INSTALL:

Add '--nolock' to your keychain options, if you haven't got procmail installed.

PRE-REMOVE:

POST-REMOVE:

NOTES:

example useage
-------------

In ~/.profile add:

  keychain --nolock ${HOME}/.ssh/id_dsa
  . "${HOME}/.keychain/${HOSTNAME}-sh" > /dev/null

Added contrib/kvm/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: full virtualization solution for Linux on x86 hardware
# URL:         http://kvm.qumranet.com/kvmwiki
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Depends on:  libsdl

name=kvm
version=88
release=1
source=(http://download.sourceforge.net/$name/$name-$version.tar.gz
p1.diff p2.diff)

build () {
  cd $name-$version
  patch -p1 -i ../p1.diff
  patch -p1 -i ../p2.diff
  ./configure --prefix=/usr 
  make
  make DESTDIR=$PKG install
}

Added contrib/kvm/README.





>
>
1
2
README for kvm
  This package conflicts with opt/qemu

Added contrib/kvm/p1.diff.

















>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
--- a/kvm/kernel/x86/trace.h	2009-12-23 16:35:02.243377063 +0100
+++ b/kvm/kernel/x86/trace.h	2009-12-23 16:35:05.692376891 +0100
@@ -352,4 +352,4 @@
 #endif /* _TRACE_KVM_H */
 
 /* This part must be outside protection */
-#include <trace/define_trace.h>
+//#include <trace/define_trace.h>

Added contrib/kvm/p2.diff.





















>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
--- a/kvm/kernel/Makefile	2009-12-23 17:34:42.411376577 +0100
+++ b/kvm/kernel/Makefile	2009-12-23 17:35:42.057376730 +0100
@@ -25,6 +25,7 @@
 
 all:: prerequisite
 #	include header priority 1) $LINUX 2) $KERNELDIR 3) include-compat
+	ln -f -s ../../arch/x86/kvm/mmutrace.h $(KERNELDIR)/include/trace
 	$(MAKE) -C $(KERNELDIR) M=`pwd` \
 		LINUXINCLUDE="-I`pwd`/include -Iinclude \
 		$(if $(KERNELSOURCEDIR),\

Added contrib/ladspa/Pkgfile.



























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# Description: Linux Audio Developer's Simple Plugin API.
# URL: http://www.ladspa.org/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Han Boetes, han at mijncomputer dot nl
# Depends on:

name=ladspa
version=1.13
release=1
source=(http://www.ladspa.org/download/ladspa_sdk_$version.tgz \
	ladspa-$version.patch)

build() {
	cd ladspa_sdk/src
	patch -p2 -i $SRC/ladspa-$version.patch

	export \
		CFLAGS="${CFLAGS//-O?/-O3}" \
		CXXFLAGS="${CXXFLAGS//-O?/-O3}"

	sed -i \
		-e "s/@CFLAGS@/$CFLAGS/" \
		-e "s/@CXXFLAGS@/$CXXFLAGS/" \
		makefile

	make
	make DESTDIR=$PKG install
}

Added contrib/ladspa/ladspa-1.12.patch.



































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
diff -ru ladspa_sdk-orig/src/makefile ladspa_sdk/src/makefile
--- ladspa_sdk-orig/src/makefile	2007-04-01 09:58:07.000000000 +1000
+++ ladspa_sdk/src/makefile	2007-04-01 10:00:34.000000000 +1000
@@ -5,9 +5,9 @@
 # Change these if you want to install somewhere else. In particularly
 # you may wish to remove the middle "local/" part of each entry.
 
-INSTALL_PLUGINS_DIR	=	/usr/local/lib/ladspa/
-INSTALL_INCLUDE_DIR	=	/usr/include/
-INSTALL_BINARY_DIR	=	/usr/local/bin/
+INSTALL_PLUGINS_DIR	=	$(DESTDIR)/usr/lib/ladspa/
+INSTALL_INCLUDE_DIR	=	$(DESTDIR)/usr/include/
+INSTALL_BINARY_DIR	=	$(DESTDIR)/usr/bin/
 
 ###############################################################################
 #
@@ -16,7 +16,7 @@
 
 INCLUDES	=	-I.
 LIBRARIES	=	-ldl -lm
-CFLAGS		=	$(INCLUDES) -Wall -Werror -O3 -fPIC
+CFLAGS		+=	$(INCLUDES) -Wall -Werror -fPIC
 CXXFLAGS	=	$(CFLAGS)
 PLUGINS		=	../plugins/amp.so				\
 			../plugins/delay.so				\
@@ -47,19 +47,20 @@
 # TARGETS
 #
 
-test:	/tmp/test.wav ../snd/noise.wav always
-	@echo ---------------------------------------------
-	@echo First listen to the white noise input signal:
-	@echo ---------------------------------------------
-	play ../snd/noise.wav
-	@echo -------------------------
-	@echo Compare to plugin output.
-	@echo -------------------------
-	@echo Should be a noise band around 6000Hz, repeated quietly after 1s.
-	play /tmp/test.wav
+test:
+# /tmp/test.wav ../snd/noise.wav always
+# 	@echo ---------------------------------------------
+# 	@echo First listen to the white noise input signal:
+# 	@echo ---------------------------------------------
+# 	play ../snd/noise.wav
+# 	@echo -------------------------
+# 	@echo Compare to plugin output.
+# 	@echo -------------------------
+# 	@echo Should be a noise band around 6000Hz, repeated quietly after 1s.
+# 	play /tmp/test.wav
 
 install:	targets
-	-mkdirhier	$(INSTALL_PLUGINS_DIR)				\
+	mkdir -p	$(INSTALL_PLUGINS_DIR)				\
 			$(INSTALL_INCLUDE_DIR)				\
 			$(INSTALL_BINARY_DIR)
 	cp ../plugins/* $(INSTALL_PLUGINS_DIR)
@@ -123,4 +124,3 @@
 	tar czf `date '+../backup/ladspa_sdk.%Y%m%d%H%M.tgz'` ladspa_sdk/)
 
 ###############################################################################
-
diff -ru ladspa_sdk-orig/src/plugins/sine.cpp ladspa_sdk/src/plugins/sine.cpp
--- ladspa_sdk-orig/src/plugins/sine.cpp	2007-04-01 09:58:07.000000000 +1000
+++ ladspa_sdk/src/plugins/sine.cpp	2007-04-01 10:04:33.000000000 +1000
@@ -59,6 +59,15 @@
 
 /*****************************************************************************/
 
+LADSPA_Handle instantiateSineOscillator(const LADSPA_Descriptor *, unsigned long SampleRate);
+void connectPortToSineOscillator(LADSPA_Handle Instance, unsigned long Port, LADSPA_Data * DataLocation);
+void activateSineOscillator(void * pvHandle);
+void runSineOscillator_FreqAudio_AmpAudio(LADSPA_Handle Instance, unsigned long SampleCount);
+void runSineOscillator_FreqAudio_AmpCtrl(LADSPA_Handle Instance, unsigned long SampleCount);
+void runSineOscillator_FreqCtrl_AmpAudio(LADSPA_Handle Instance, unsigned long SampleCount);
+void runSineOscillator_FreqCtrl_AmpCtrl(LADSPA_Handle Instance, unsigned long SampleCount);
+void cleanupSineOscillator(void *pvHandle);
+
 class SineOscillator {
 private:
 

Added contrib/ladspa/ladspa-1.13.patch.





































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
diff -pruN ladspa_sdk.orig/src/makefile ladspa_sdk/src/makefile
--- ladspa_sdk.orig/src/makefile	2007-11-06 23:33:34.000000000 +1100
+++ ladspa_sdk/src/makefile	2007-11-06 23:58:27.000000000 +1100
@@ -4,9 +4,9 @@
 #
 # Change these if you want to install somewhere else.
 
-INSTALL_PLUGINS_DIR	=	/usr/lib/ladspa/
-INSTALL_INCLUDE_DIR	=	/usr/include/
-INSTALL_BINARY_DIR	=	/usr/bin/
+INSTALL_PLUGINS_DIR	=	$(DESTDIR)/usr/lib/ladspa/
+INSTALL_INCLUDE_DIR	=	$(DESTDIR)/usr/include/
+INSTALL_BINARY_DIR	=	$(DESTDIR)/usr/bin/
 
 ###############################################################################
 #
@@ -15,7 +15,7 @@ INSTALL_BINARY_DIR	=	/usr/bin/
 
 INCLUDES	=	-I.
 LIBRARIES	=	-ldl -lm
-CFLAGS		=	$(INCLUDES) -Wall -Werror -O3 -fPIC
+CFLAGS		=	$(INCLUDES) -Wall -Werror -fPIC @CFLAGS@
-CXXFLAGS	=	$(CFLAGS)
+CXXFLAGS	=	$(INCLUDES) -Wall -Werror -fPIC @CXXFLAGS@
 PLUGINS		=	../plugins/amp.so				\
 			../plugins/delay.so				\
@@ -46,22 +46,22 @@ CPP		=	c++
 # TARGETS
 #
 
-test:	/tmp/test.wav ../snd/noise.wav always
-	@echo ---------------------------------------------
-	@echo First listen to the white noise input signal:
-	@echo ---------------------------------------------
-	-sndfile-play ../snd/noise.wav
-	@echo -------------------------
-	@echo Compare to plugin output.
-	@echo -------------------------
-	@echo Should be a noise band around 6000Hz, repeated quietly after 1s.
-	-sndfile-play /tmp/test.wav
-	@echo Test complete.
+test:
+#	@echo ---------------------------------------------
+#	@echo First listen to the white noise input signal:
+#	@echo ---------------------------------------------
+#	-sndfile-play ../snd/noise.wav
+#	@echo -------------------------
+#	@echo Compare to plugin output.
+#	@echo -------------------------
+#	@echo Should be a noise band around 6000Hz, repeated quietly after 1s.
+#	-sndfile-play /tmp/test.wav
+#	@echo Test complete.
 
 install:	targets
-	-mkdirhier $(INSTALL_PLUGINS_DIR)
-	-mkdirhier $(INSTALL_INCLUDE_DIR)
-	-mkdirhier $(INSTALL_BINARY_DIR)
+	install -d $(INSTALL_PLUGINS_DIR)
+	install -d $(INSTALL_INCLUDE_DIR)
+	install -d $(INSTALL_BINARY_DIR)
 	cp ../plugins/* $(INSTALL_PLUGINS_DIR)
 	cp ladspa.h $(INSTALL_INCLUDE_DIR)
 	cp ../bin/* $(INSTALL_BINARY_DIR)
diff -pruN ladspa_sdk.orig/src/plugins/sine.cpp ladspa_sdk/src/plugins/sine.cpp
--- ladspa_sdk.orig/src/plugins/sine.cpp	2007-11-06 23:33:34.000000000 +1100
+++ ladspa_sdk/src/plugins/sine.cpp	2007-11-06 23:59:26.000000000 +1100
@@ -68,6 +68,15 @@ initialise_sine_table() {
 
 /*****************************************************************************/
 
+LADSPA_Handle instantiateSineOscillator(const LADSPA_Descriptor *, unsigned long SampleRate);
+void connectPortToSineOscillator(LADSPA_Handle Instance, unsigned long Port, LADSPA_Data * DataLocation);
+void activateSineOscillator(void * pvHandle);
+void runSineOscillator_FreqAudio_AmpAudio(LADSPA_Handle Instance, unsigned long SampleCount);
+void runSineOscillator_FreqAudio_AmpCtrl(LADSPA_Handle Instance, unsigned long SampleCount);
+void runSineOscillator_FreqCtrl_AmpAudio(LADSPA_Handle Instance, unsigned long SampleCount);
+void runSineOscillator_FreqCtrl_AmpCtrl(LADSPA_Handle Instance, unsigned long SampleCount);
+void cleanupSineOscillator(void *pvHandle);
+
 class SineOscillator {
 private:
 

Added contrib/leafpad/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: GTK+ based simple text editor.
# URL: http://tarot.freeshell.org/leafpad
# Maintainer: Bartlomiej Palmowski, rotwang at crux dot org dot pl
# Packager: Victor Martinez, pitillo at ono dot com
# Depends on: gtk intltool xorg-libxdamage

name=leafpad
version=0.8.18.1
release=1
source=(http://savannah.nongnu.org/download/$name/$name-$version.tar.gz)

build() {
  cd $name-$version
  ./configure --prefix=/usr \
              --enable-chooser 
  make
  make DESTDIR=$PKG install
  rm -r $PKG/usr/share/locale
}

Added contrib/liba52/Pkgfile.



























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# Description: Library for decoding ATSC A/52 streams.
# URL: http://liba52.sourceforge.net/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Matt Housh, jaeger at morpheus dot net

name=liba52
version=0.7.4
release=5
source=(http://liba52.sourceforge.net/files/a52dec-$version.tar.gz
	a52dec-0.7.4-build.patch)

build() {
	cd a52dec-$version

	patch -p 1 -i $SRC/a52dec-0.7.4-build.patch
	./bootstrap

	./configure \
		--prefix=/usr \
		--mandir=$PKG//usr/man \
		--disable-solaris-audio \
		--disable-win \
		--disable-static \
		--enable-shared \
		--with-pic

	make
	make install prefix=$PKG/usr
}

Added contrib/liba52/a52dec-0.7.4-build.patch.











































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
diff -pruN a52dec-0.7.4.orig/Makefile.am a52dec-0.7.4/Makefile.am
--- a52dec-0.7.4.orig/Makefile.am	2011-10-05 15:17:46.538118579 +0000
+++ a52dec-0.7.4/Makefile.am	2011-10-05 15:18:12.013374560 +0000
@@ -1,3 +1,5 @@
+ACLOCAL_AMFLAGS = -I m4
+
 SUBDIRS = autotools include doc liba52 libao src vc++ test
 
 EXTRA_DIST = HISTORY bootstrap
diff -pruN a52dec-0.7.4.orig/configure.in a52dec-0.7.4/configure.in
--- a52dec-0.7.4.orig/configure.in	2011-10-05 15:17:46.537119079 +0000
+++ a52dec-0.7.4/configure.in	2011-10-05 15:18:12.013374560 +0000
@@ -1,6 +1,7 @@
 dnl Process this file with autoconf to produce a configure script.
 AC_PREREQ(2.52)
 AC_INIT
+AC_CONFIG_MACRO_DIR([m4])
 AC_CONFIG_SRCDIR([src/a52dec.c])
 AC_CONFIG_AUX_DIR(autotools)
 AC_CONFIG_FILES([Makefile autotools/Makefile include/Makefile test/Makefile
@@ -32,15 +33,9 @@ if test x"$GCC" = x"yes"; then
 
     dnl arch-specific flags
     case "$host" in
-    i?86-* | k?-*)
-	case "$host" in
-	i386-*) OPT_CFLAGS="$CFLAGS -mcpu=i386";;
-	i486-*) OPT_CFLAGS="$CFLAGS -mcpu=i486";;
-	i586-*) OPT_CFLAGS="$CFLAGS -mcpu=pentium";;
-	i686-*) OPT_CFLAGS="$CFLAGS -mcpu=pentiumpro";;
-	k6-*)   OPT_CFLAGS="$CFLAGS -mcpu=k6";;
-	esac
-	AC_TRY_CFLAGS([$OPT_CFLAGS],[CFLAGS=$OPT_CFLAGS]);;
+    x86_64-*)
+        OPT_CFLAGS="$CFLAGS -fPIC"
+        AC_TRY_CFLAGS([$OPT_CFLAGS],[CFLAGS=$OPT_CFLAGS]);;
     sparc-* | sparc64-*)
 	OPT_CFLAGS="$CFLAGS -mtune=ultrasparc"
 	AC_TRY_CFLAGS([$OPT_CFLAGS],[CFLAGS=$OPT_CFLAGS]);;
diff -pruN a52dec-0.7.4.orig/liba52/Makefile.am a52dec-0.7.4/liba52/Makefile.am
--- a52dec-0.7.4.orig/liba52/Makefile.am	2011-10-05 15:17:46.536119579 +0000
+++ a52dec-0.7.4/liba52/Makefile.am	2011-10-05 15:18:12.014374060 +0000
@@ -1,4 +1,4 @@
-CFLAGS = @CFLAGS@ @LIBA52_CFLAGS@
+AM_CFLAGS = @CFLAGS@ @LIBA52_CFLAGS@
 
 lib_LTLIBRARIES = liba52.la
 
diff -pruN a52dec-0.7.4.orig/liba52/configure.incl a52dec-0.7.4/liba52/configure.incl
--- a52dec-0.7.4.orig/liba52/configure.incl	2011-10-05 15:17:46.535120079 +0000
+++ a52dec-0.7.4/liba52/configure.incl	2011-10-05 15:18:32.540106045 +0000
@@ -2,7 +2,7 @@ AC_SUBST([LIBA52_CFLAGS])
 AC_SUBST([LIBA52_LIBS])
 
 dnl avoid -fPIC when possible
-LIBA52_CFLAGS="$LIBA52_CFLAGS -prefer-non-pic"
+dnl LIBA52_CFLAGS="$LIBA52_CFLAGS -prefer-non-pic"
 
 AC_ARG_ENABLE([double],
     [  --enable-double         use double-precision samples])
diff -pruN a52dec-0.7.4.orig/src/Makefile.am a52dec-0.7.4/src/Makefile.am
--- a52dec-0.7.4.orig/src/Makefile.am	2011-10-05 15:17:46.535120079 +0000
+++ a52dec-0.7.4/src/Makefile.am	2011-10-05 15:18:12.014374060 +0000
@@ -1,4 +1,4 @@
-CFLAGS = @A52DEC_CFLAGS@
+AM_CFLAGS = @A52DEC_CFLAGS@
 
 bin_PROGRAMS = a52dec extract_a52
 a52dec_SOURCES = a52dec.c getopt.c gettimeofday.c

Added contrib/libasyncns-python/Pkgfile.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Description: A python binding for the libasyncns
# URL: https://launchpad.net/libasyncns-python
# Maintainer: Mikhail Kolesnik, mike at openbunker dot org
# Depends on: libasyncns python

name=libasyncns-python
version=0.7.1
release=2
source=(http://launchpad.net/libasyncns-python/trunk/$version/+download/$name-$version.tar.bz2)

build() {
	cd $name-$version
	python setup.py install --root=$PKG
	find $PKG -name '*egg-info' | xargs rm
}

Added contrib/libasyncns/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: A C library for executing name service queries asynchronously
# URL: http://0pointer.de/lennart/projects/libasyncns/
# Maintainer: Mikhail Kolesnik, mike at openbunker dot org
# Depends on: 

name=libasyncns
version=0.8
release=1
source=(http://0pointer.de/lennart/projects/libasyncns/$name-$version.tar.gz)

build() {
	cd $name-$version
	./configure --prefix=/usr --disable-nls
	make
	make DESTDIR=$PKG install
	rm -rf $PKG/usr/share
}

Added contrib/libbluray/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: Blu-Ray access library.
# URL: http://www.videolan.org/developers/libbluray.html
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com
# Depends on: libxml2

name=libbluray
version=0.2.1
release=1
source=(ftp://ftp.videolan.org/pub/videolan/$name/$version/$name-$version.tar.bz2)

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added contrib/libcddb/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description: Library to access and submit data on a CDDB server.
# URL: http://libcddb.sourceforge.net/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Han Boetes, han at mijncomputer dot nl
# Depends on: libcdio

name=libcddb
version=1.3.2
release=1
source=(http://download.sourceforge.net/$name/$name-$version.tar.bz2)

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--disable-nls \
		--disable-static

	make
	make DESTDIR=$PKG install
}

Added contrib/libcdio/Pkgfile.



















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# Description: A library for CD-ROM and CD image access.
# URL: http://www.gnu.org/software/libcdio/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Tim Biermann, tim_biermann at web dot de
# Depends on: cdparanoia

name=libcdio
version=0.83
release=1
source=(http://ftp.gnu.org/gnu/$name/$name-$version.tar.gz)

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--mandir=/usr/man \
		--disable-static

	make
	make DESTDIR=$PKG install

	rm -rf $PKG/usr/share
	rm -r $PKG/usr/man/jp
}

Added contrib/libcgi/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: CGI library for C.
# URL: http://libcgi.sourceforge.net/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Ivan Lyangouzov, tzong at crux dot spb dot ru

name=libcgi
version=1.0
release=1
source=(http://downloads.sourceforge.net/project/$name/$name/$version/$name-$version.tar.gz)

build() {
	cd $name-$version
	install -d $PKG/usr/lib $PKG/usr/include

	./configure \
		--prefix=/usr \
		--disable-nls

	make
	make prefix=$PKG/usr install
}

Added contrib/libconfuse/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description:  A configuration file parser library, LGPL licensed, written in C
# URL:          http://www.nongnu.org/confuse/
# Packager:     Matt Housh, jaeger at morpheus dot net
# Maintainer:   Bartlomiej Palmowski, rotwang at crux dot org dot pl

name=libconfuse
version=2.7
release=1
source=(http://mirror.lihnidos.org/GNU/savannah/confuse/confuse-$version.tar.gz)

build() {
    cd ${name/#lib/}-$version
    sed -i 's/-Werror//' src/Makefile.in
    ./configure --prefix=/usr \
        --enable-shared \
        --disable-nls
    make
    make DESTDIR=$PKG install
}

Added contrib/libdca/Pkgfile.





















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# Description: A free DTS Coherent Acoustics decoder. (early development stage)
# URL: http://www.videolan.org/developers/libdca.html
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Han Boetes, han at mijncomputer dot nl
# Depends on:

name=libdca
version=0.0.5
release=2
source=(http://download.videolan.org/pub/videolan/libdca/$version/libdca-$version.tar.bz2)

build() {
	cd libdca-$version

	sed -i configure -e 's/-mtune=pentiumpro//'

	./configure \
		--prefix=/usr \
		--mandir=/usr/man \
		--disable-static \
		--disable-nls

	make
	make DESTDIR=$PKG install
}

Added contrib/libdnet/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: daemon and tools to handle all ARP # aspects
# URL:         http://arpon.sf.net
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Depends on:  libpcap, libnet 

name=libdnet
version=1.11
release=1
source=(http://download.sourceforge.net/$name/$name-$version.tar.gz)

build() {
    cd  $name-$version
    ./configure --prefix=/usr
    make
    make install DESTDIR=$PKG
}

Added contrib/libdshconfig/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: Library for parsing dsh-style configuration files.
# URL:         http://www.netfort.gr.jp/~dancer/software/dsh.html.en
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    James Mills, prologic at shortcircuit dot net dot au
# Depends on:   

name=libdshconfig
version=0.20.13
release=1
source=(http://www.netfort.gr.jp/~dancer/software/downloads/$name-$version.tar.gz)

build() {
   cd $name-$version
   ./configure --prefix=$PKG/usr
   make && make install
}

Added contrib/libdv/Pkgfile.

























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# Description: Software codec for DV video.
# URL: http://libdv.sourceforge.net/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Hannes Mayer, kontakt at ecarux dot de
# Depends on: xorg-libxv libsdl popt
# Optional: gtk1

name=libdv
version=1.0.0
release=2
source=(http://downloads.sourceforge.net/project/$name/$name/$version/$name-$version.tar.gz
	http://www.hvlinux.net/crux/distfiles/$name/$name-1.0.0-pic.patch.bz2
	$name-0.99-2.6.patch)

build() {
	cd $name-$version

	bzcat $SRC/$name-1.0.0-pic.patch.bz2 |patch -p 1
	patch -p 1 -i $SRC/$name-0.99-2.6.patch

	./configure \
		--prefix=/usr \
		--mandir=/usr/man \
		--enable-sdl

	make
	make DESTDIR=$PKG install
}

Added contrib/libdv/README.



>
1
If you need playdv install gtk1 before installing this port.

Added contrib/libdv/libdv-0.99-2.6.patch.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
--- libdv-0.99/libdv/enc_input.c	2002-12-31 23:04:02.000000000 +0000
+++ libdv-0.99/libdv/enc_input.c.plasmaroo	2003-12-30 16:42:19.000000000 +0000
@@ -48,13 +48,13 @@
 
 #if HAVE_DEV_VIDEO
 #include <sys/types.h>
-#include <linux/videodev.h>
 #include <sys/time.h>
 #include <unistd.h>
 #include <fcntl.h>
 #include <sys/stat.h>
 #include <sys/ioctl.h>
 #include <sys/mman.h>
+#include <linux/videodev.h>
 #endif
 
 // #define ARCH_X86 0

Added contrib/libdvdcss/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description: a library which provides functions for reading DVD video disks.
# URL: http://www.videolan.org/developers/libdvdcss.html
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Matt Housh, jaeger at crux dot nu

name=libdvdcss
version=20110603
release=1
source=(http://www.hvlinux.net/crux/distfiles/$name/$name-$version-r240.tar.xz)

build() {
	cd $name

	autoreconf -i

	./configure \
		--prefix=/usr \
		--mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added contrib/libdvdnav/Pkgfile.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Description: DVD Navigation library.
# URL: http://dvd.sourceforge.net/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Matt Housh, jaeger at morpheus dot net
# Depends on: libdvdread

name=libdvdnav
version=20110603
release=1
source=(http://www.hvlinux.net/crux/distfiles/$name/$name-$version-r1226.tar.xz)

build() {
	cd $name
	autoreconf -i
	rm -r missing

	./configure \
		--prefix=/usr \
		--mandir=/usr/man \
		--disable-dependency-tracking

	make DESTDIR=$PKG install
}

Added contrib/libdvdread/Pkgfile.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Description: DVD reading library.
# URL: http://dvd.sourceforge.net/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com
# Depends on: libdvdcss

name=libdvdread
version=20110603
release=1
source=(http://www.hvlinux.net/crux/distfiles/$name/$name-$version-r1226.tar.xz)

build() {
	cd $name
	autoreconf -i
	rm -r missing

	./configure \
		--prefix=/usr \
		--mandir=/usr/man \
		--disable-dependency-tracking

	make DESTDIR=$PKG install
}

Added contrib/libebml/Pkgfile.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Description: A library for reading and writing files with the Extensible Binary Meta Language, a binary pendant to XML.  
# URL: http://www.bunkus.org/videotools/mkvtoolnix/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Brett Goulder, predatorfreak at dcaf-security dot org.

name=libebml
version=1.2.2
release=1
source=(http://www.bunkus.org/videotools/mkvtoolnix/sources/$name-$version.tar.bz2)

build() {
	cd $name-$version/make/linux
	make
	make -e prefix=$PKG/usr install
}

Added contrib/libetpan/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: A Library for low-level mail work.
# URL: http://www.etpan.org/
# Maintainer: Mikhail Kolesnik, mike at openbunker dot org
# Packager: Brett Goulder, predatorfreak at dcaf-security dot org
# Depends on: db openssl

# Nice to have: cyrus-sasl

name=libetpan
version=1.1
release=1
source=(http://download.sourceforge.net/project/$name/$name/$version/$name-$version.tar.gz)

build() {
	cd $name-$version
	./configure --disable-nls --prefix=/usr
	make
	make DESTDIR=$PKG install
}

Added contrib/libev/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: high-performance event loop/event model with lots of features
# URL: http://software.schmorp.de/pkg/libev
# Maintainer: Bartlomiej Palmowski, rotwang at crux dot org dot pl
# Packager: Younes Hafri <ycrux@club-internet.fr>

name=libev
version=4.11
release=1
source=(http://dist.schmorp.de/$name/Attic/$name-$version.tar.gz)

build () {
    cd $name-$version
    ./configure --prefix=/usr \
        --mandir=$PKG/usr/man \
        --disable-nls \
        --disable-static
    make
    make prefix=$PKG/usr install
    rm $PKG/usr/include/event.h
}

Added contrib/libfaketime/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description: Fake time preload library, report faked system time to programs without having to change the system-wide time.
# URL: http://www.code-wizards.com/projects/libfaketime/index.html
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com

name=libfaketime
version=0.9.1
release=1
source=(http://www.code-wizards.com/projects/libfaketime/libfaketime-$version.tar.gz)

build() {
	cd libfaketime-$version

	sed -i -e 's|/share/man/|/man/|g' man/Makefile
	sed -i -e 's|/lib/faketime/|/lib/|g' src/Makefile

	make PREFIX=/usr
	make PREFIX=/usr DESTDIR=$PKG install

	ln -sf libfaketime.so.1 $PKG/usr/lib/libfaketime.so
	ln -sf libfaketimeMT.so.1 $PKG/usr/lib/libfaketimeMT.so
}

Added contrib/libfame/Pkgfile.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Description: Library for encoding MPEG content.
# URL: http://fame.sourceforge.net/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Martin Opel, mo at obbl-net dot de

name=libfame
version=0.9.1
release=3
source=(http://downloads.sourceforge.net/project/fame/$name/$version/$name-$version.tar.gz
	$name-$version-gcc34-1.patch
	$name-$version-config_update-1.patch)

build() {
	cd $name-$version
	patch -p 1 -i $SRC/$name-$version-gcc34-1.patch
	patch -p 1 -i $SRC/$name-$version-config_update-1.patch

	sed -i 's/$CC --version/$CC -dumpversion/' configure
	unset CC # ccache brakes at library linking stage

	./configure --prefix=/usr
	make
	make DESTDIR=$PKG install
}

Added contrib/libfame/libfame-0.9.1-config_update-1.patch.





































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
Submitted By: Joe Ciccone <jciccone@linuxfromscratch.org>
Date: 2006-11-02
Initial Package Version: 0.9.1
Upstream Status: Unknown
Origin: Joe Ciccone
Description: Updates config.sub and config.guess with more current versions.

diff -Naur libfame-0.9.1.orig/config.guess libfame-0.9.1/config.guess
--- libfame-0.9.1.orig/config.guess	2006-11-02 15:37:32.000000000 -0500
+++ libfame-0.9.1/config.guess	2006-11-02 15:37:46.000000000 -0500
@@ -1,8 +1,10 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
-#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999
-#   Free Software Foundation, Inc.
-#
+#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+#   2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+
+timestamp='2005-07-08'
+
 # This file 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 of the License, or
@@ -15,159 +17,290 @@
 #
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
 #
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
 # configuration script generated by Autoconf, you may include it under
 # the same distribution terms that you use for the rest of that program.
 
-# Written by Per Bothner <bothner@cygnus.com>.
-# The master version of this file is at the FSF in /home/gd/gnu/lib.
-# Please send patches to <autoconf-patches@gnu.org>.
+
+# Originally written by Per Bothner <per@bothner.com>.
+# Please send patches to <config-patches@gnu.org>.  Submit a context
+# diff and a properly formatted ChangeLog entry.
 #
 # This script attempts to guess a canonical system name similar to
 # config.sub.  If it succeeds, it prints the system name on stdout, and
 # exits with 0.  Otherwise, it exits with 1.
 #
 # The plan is that this can be called by configure scripts if you
-# don't specify an explicit system type (host/target name).
-#
-# Only a few systems have been added to this list; please add others
-# (but try to keep the structure clean).
-#
+# don't specify an explicit build system type.
 
-# Use $HOST_CC if defined. $CC may point to a cross-compiler
-if test x"$CC_FOR_BUILD" = x; then
-  if test x"$HOST_CC" != x; then
-    CC_FOR_BUILD="$HOST_CC"
-  else
-    if test x"$CC" != x; then
-      CC_FOR_BUILD="$CC"
-    else
-      CC_FOR_BUILD=cc
-    fi
-  fi
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION]
+
+Output the configuration name of the system \`$me' is run on.
+
+Operation modes:
+  -h, --help         print this help, then exit
+  -t, --time-stamp   print date of last modification, then exit
+  -v, --version      print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.guess ($timestamp)
+
+Originally written by Per Bothner.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+  case $1 in
+    --time-stamp | --time* | -t )
+       echo "$timestamp" ; exit ;;
+    --version | -v )
+       echo "$version" ; exit ;;
+    --help | --h* | -h )
+       echo "$usage"; exit ;;
+    -- )     # Stop option processing
+       shift; break ;;
+    - )	# Use stdin as input.
+       break ;;
+    -* )
+       echo "$me: invalid option $1$help" >&2
+       exit 1 ;;
+    * )
+       break ;;
+  esac
+done
+
+if test $# != 0; then
+  echo "$me: too many arguments$help" >&2
+  exit 1
 fi
 
+trap 'exit 1' 1 2 15
+
+# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
+# compiler to aid in system detection is discouraged as it requires
+# temporary files to be created and, as you can see below, it is a
+# headache to deal with in a portable fashion.
+
+# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
+# use `HOST_CC' if defined, but it is deprecated.
+
+# Portable tmp directory creation inspired by the Autoconf team.
+
+set_cc_for_build='
+trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
+trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
+: ${TMPDIR=/tmp} ;
+ { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
+dummy=$tmp/dummy ;
+tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
+case $CC_FOR_BUILD,$HOST_CC,$CC in
+ ,,)    echo "int x;" > $dummy.c ;
+	for c in cc gcc c89 c99 ; do
+	  if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
+	     CC_FOR_BUILD="$c"; break ;
+	  fi ;
+	done ;
+	if test x"$CC_FOR_BUILD" = x ; then
+	  CC_FOR_BUILD=no_compiler_found ;
+	fi
+	;;
+ ,,*)   CC_FOR_BUILD=$CC ;;
+ ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
+esac ; set_cc_for_build= ;'
 
 # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
-# (ghazi@noc.rutgers.edu 8/24/94.)
+# (ghazi@noc.rutgers.edu 1994-08-24)
 if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
 	PATH=$PATH:/.attbin ; export PATH
 fi
 
 UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
 UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
-UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
+UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
 UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
 
-dummy=dummy-$$
-trap 'rm -f $dummy.c $dummy.o $dummy; exit 1' 1 2 15
-
 # Note: order is significant - the case branches are not exclusive.
 
 case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+    *:NetBSD:*:*)
+	# NetBSD (nbsd) targets should (where applicable) match one or
+	# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
+	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
+	# switched to ELF, *-*-netbsd* would select the old
+	# object file format.  This provides both forward
+	# compatibility and a consistent mechanism for selecting the
+	# object file format.
+	#
+	# Note: NetBSD doesn't particularly care about the vendor
+	# portion of the name.  We always set it to "unknown".
+	sysctl="sysctl -n hw.machine_arch"
+	UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
+	    /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
+	case "${UNAME_MACHINE_ARCH}" in
+	    armeb) machine=armeb-unknown ;;
+	    arm*) machine=arm-unknown ;;
+	    sh3el) machine=shl-unknown ;;
+	    sh3eb) machine=sh-unknown ;;
+	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
+	esac
+	# The Operating System including object format, if it has switched
+	# to ELF recently, or will in the future.
+	case "${UNAME_MACHINE_ARCH}" in
+	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
+		eval $set_cc_for_build
+		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
+			| grep __ELF__ >/dev/null
+		then
+		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
+		    # Return netbsd for either.  FIX?
+		    os=netbsd
+		else
+		    os=netbsdelf
+		fi
+		;;
+	    *)
+	        os=netbsd
+		;;
+	esac
+	# The OS release
+	# Debian GNU/NetBSD machines have a different userland, and
+	# thus, need a distinct triplet. However, they do not need
+	# kernel version information, so it can be replaced with a
+	# suitable tag, in the style of linux-gnu.
+	case "${UNAME_VERSION}" in
+	    Debian*)
+		release='-gnu'
+		;;
+	    *)
+		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+		;;
+	esac
+	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
+	# contains redundant information, the shorter form:
+	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
+	echo "${machine}-${os}${release}"
+	exit ;;
+    *:OpenBSD:*:*)
+	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
+	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
+	exit ;;
+    *:ekkoBSD:*:*)
+	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
+	exit ;;
+    macppc:MirBSD:*:*)
+	echo powerppc-unknown-mirbsd${UNAME_RELEASE}
+	exit ;;
+    *:MirBSD:*:*)
+	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
+	exit ;;
     alpha:OSF1:*:*)
-	if test $UNAME_RELEASE = "V4.0"; then
+	case $UNAME_RELEASE in
+	*4.0)
 		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
-	fi
+		;;
+	*5.*)
+	        UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+		;;
+	esac
+	# According to Compaq, /usr/sbin/psrinfo has been available on
+	# OSF/1 and Tru64 systems produced since 1995.  I hope that
+	# covers most systems running today.  This code pipes the CPU
+	# types through head -n 1, so we only detect the type of CPU 0.
+	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
+	case "$ALPHA_CPU_TYPE" in
+	    "EV4 (21064)")
+		UNAME_MACHINE="alpha" ;;
+	    "EV4.5 (21064)")
+		UNAME_MACHINE="alpha" ;;
+	    "LCA4 (21066/21068)")
+		UNAME_MACHINE="alpha" ;;
+	    "EV5 (21164)")
+		UNAME_MACHINE="alphaev5" ;;
+	    "EV5.6 (21164A)")
+		UNAME_MACHINE="alphaev56" ;;
+	    "EV5.6 (21164PC)")
+		UNAME_MACHINE="alphapca56" ;;
+	    "EV5.7 (21164PC)")
+		UNAME_MACHINE="alphapca57" ;;
+	    "EV6 (21264)")
+		UNAME_MACHINE="alphaev6" ;;
+	    "EV6.7 (21264A)")
+		UNAME_MACHINE="alphaev67" ;;
+	    "EV6.8CB (21264C)")
+		UNAME_MACHINE="alphaev68" ;;
+	    "EV6.8AL (21264B)")
+		UNAME_MACHINE="alphaev68" ;;
+	    "EV6.8CX (21264D)")
+		UNAME_MACHINE="alphaev68" ;;
+	    "EV6.9A (21264/EV69A)")
+		UNAME_MACHINE="alphaev69" ;;
+	    "EV7 (21364)")
+		UNAME_MACHINE="alphaev7" ;;
+	    "EV7.9 (21364A)")
+		UNAME_MACHINE="alphaev79" ;;
+	esac
+	# A Pn.n version is a patched version.
 	# A Vn.n version is a released version.
 	# A Tn.n version is a released field test version.
 	# A Xn.n version is an unreleased experimental baselevel.
 	# 1.2 uses "1.2" for uname -r.
-	cat <<EOF >$dummy.s
-	.globl main
-	.ent main
-main:
-	.frame \$30,0,\$26,0
-	.prologue 0
-	.long 0x47e03d80 # implver $0
-	lda \$2,259
-	.long 0x47e20c21 # amask $2,$1
-	srl \$1,8,\$2
-	sll \$2,2,\$2
-	sll \$0,3,\$0
-	addl \$1,\$0,\$0
-	addl \$2,\$0,\$0
-	ret \$31,(\$26),1
-	.end main
-EOF
-	$CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
-	if test "$?" = 0 ; then
-		./$dummy
-		case "$?" in
-			7)
-				UNAME_MACHINE="alpha"
-				;;
-			15)
-				UNAME_MACHINE="alphaev5"
-				;;
-			14)
-				UNAME_MACHINE="alphaev56"
-				;;
-			10)
-				UNAME_MACHINE="alphapca56"
-				;;
-			16)
-				UNAME_MACHINE="alphaev6"
-				;;
-		esac
-	fi
-	rm -f $dummy.s $dummy
-	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-	exit 0 ;;
+	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+	exit ;;
     Alpha\ *:Windows_NT*:*)
 	# How do we know it's Interix rather than the generic POSIX subsystem?
 	# Should we change UNAME_MACHINE based on the output of uname instead
 	# of the specific Alpha model?
 	echo alpha-pc-interix
-	exit 0 ;;
+	exit ;;
     21064:Windows_NT:50:3)
 	echo alpha-dec-winnt3.5
-	exit 0 ;;
+	exit ;;
     Amiga*:UNIX_System_V:4.0:*)
-	echo m68k-cbm-sysv4
-	exit 0;;
-    amiga:NetBSD:*:*)
-      echo m68k-cbm-netbsd${UNAME_RELEASE}
-      exit 0 ;;
-    amiga:OpenBSD:*:*)
-	echo m68k-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
+	echo m68k-unknown-sysv4
+	exit ;;
     *:[Aa]miga[Oo][Ss]:*:*)
 	echo ${UNAME_MACHINE}-unknown-amigaos
-	exit 0 ;;
-    arc64:OpenBSD:*:*)
-	echo mips64el-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    arc:OpenBSD:*:*)
-	echo mipsel-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    hkmips:OpenBSD:*:*)
-	echo mips-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    pmax:OpenBSD:*:*)
-	echo mipsel-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    sgi:OpenBSD:*:*)
-	echo mips-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    wgrisc:OpenBSD:*:*)
-	echo mipsel-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
+	exit ;;
+    *:[Mm]orph[Oo][Ss]:*:*)
+	echo ${UNAME_MACHINE}-unknown-morphos
+	exit ;;
     *:OS/390:*:*)
 	echo i370-ibm-openedition
-	exit 0 ;;
+	exit ;;
+    *:z/VM:*:*)
+	echo s390-ibm-zvmoe
+	exit ;;
+    *:OS400:*:*)
+        echo powerpc-ibm-os400
+	exit ;;
     arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
 	echo arm-acorn-riscix${UNAME_RELEASE}
-	exit 0;;
-    arm32:NetBSD:*:*)
-	echo arm-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
-	exit 0 ;;
-    SR2?01:HI-UX/MPP:*:*)
+	exit ;;
+    arm:riscos:*:*|arm:RISCOS:*:*)
+	echo arm-unknown-riscos
+	exit ;;
+    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
 	echo hppa1.1-hitachi-hiuxmpp
-	exit 0;;
+	exit ;;
     Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
 	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
 	if test "`(/bin/universe) 2>/dev/null`" = att ; then
@@ -175,25 +308,32 @@
 	else
 		echo pyramid-pyramid-bsd
 	fi
-	exit 0 ;;
+	exit ;;
     NILE*:*:*:dcosx)
 	echo pyramid-pyramid-svr4
-	exit 0 ;;
+	exit ;;
+    DRS?6000:unix:4.0:6*)
+	echo sparc-icl-nx6
+	exit ;;
+    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
+	case `/usr/bin/uname -p` in
+	    sparc) echo sparc-icl-nx7; exit ;;
+	esac ;;
     sun4H:SunOS:5.*:*)
 	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit 0 ;;
+	exit ;;
     sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
 	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit 0 ;;
+	exit ;;
     i86pc:SunOS:5.*:*)
 	echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit 0 ;;
+	exit ;;
     sun4*:SunOS:6*:*)
 	# According to config.sub, this is the proper way to canonicalize
 	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
 	# it's likely to be more like Solaris than SunOS4.
 	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit 0 ;;
+	exit ;;
     sun4*:SunOS:*:*)
 	case "`/usr/bin/arch -k`" in
 	    Series*|S4*)
@@ -202,12 +342,12 @@
 	esac
 	# Japanese Language versions have a version number like `4.1.3-JL'.
 	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
-	exit 0 ;;
+	exit ;;
     sun3*:SunOS:*:*)
 	echo m68k-sun-sunos${UNAME_RELEASE}
-	exit 0 ;;
+	exit ;;
     sun*:*:4.2BSD:*)
-	UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
+	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
 	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
 	case "`/bin/arch`" in
 	    sun3)
@@ -217,19 +357,13 @@
 		echo sparc-sun-sunos${UNAME_RELEASE}
 		;;
 	esac
-	exit 0 ;;
+	exit ;;
     aushp:SunOS:*:*)
 	echo sparc-auspex-sunos${UNAME_RELEASE}
-	exit 0 ;;
-    atari*:NetBSD:*:*)
-	echo m68k-atari-netbsd${UNAME_RELEASE}
-	exit 0 ;;
-    atari*:OpenBSD:*:*)
-	echo m68k-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
+	exit ;;
     # The situation for MiNT is a little confusing.  The machine name
     # can be virtually everything (everything which is not
-    # "atarist" or "atariste" at least should have a processor 
+    # "atarist" or "atariste" at least should have a processor
     # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
     # to the lowercase version "mint" (or "freemint").  Finally
     # the system name "TOS" denotes a system which is actually not
@@ -237,61 +371,45 @@
     # be no problem.
     atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
         echo m68k-atari-mint${UNAME_RELEASE}
-	exit 0 ;;
+	exit ;;
     atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
 	echo m68k-atari-mint${UNAME_RELEASE}
-        exit 0 ;;
+        exit ;;
     *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
         echo m68k-atari-mint${UNAME_RELEASE}
-	exit 0 ;;
+	exit ;;
     milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
         echo m68k-milan-mint${UNAME_RELEASE}
-        exit 0 ;;
+        exit ;;
     hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
         echo m68k-hades-mint${UNAME_RELEASE}
-        exit 0 ;;
+        exit ;;
     *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
         echo m68k-unknown-mint${UNAME_RELEASE}
-        exit 0 ;;
-    sun3*:NetBSD:*:*)
-	echo m68k-sun-netbsd${UNAME_RELEASE}
-	exit 0 ;;
-    sun3*:OpenBSD:*:*)
-	echo m68k-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    mac68k:NetBSD:*:*)
-	echo m68k-apple-netbsd${UNAME_RELEASE}
-	exit 0 ;;
-    mac68k:OpenBSD:*:*)
-	echo m68k-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    mvme68k:OpenBSD:*:*)
-	echo m68k-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    mvme88k:OpenBSD:*:*)
-	echo m88k-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
+        exit ;;
+    m68k:machten:*:*)
+	echo m68k-apple-machten${UNAME_RELEASE}
+	exit ;;
     powerpc:machten:*:*)
 	echo powerpc-apple-machten${UNAME_RELEASE}
-	exit 0 ;;
-    macppc:NetBSD:*:*)
-        echo powerpc-apple-netbsd${UNAME_RELEASE}
-        exit 0 ;;
+	exit ;;
     RISC*:Mach:*:*)
 	echo mips-dec-mach_bsd4.3
-	exit 0 ;;
+	exit ;;
     RISC*:ULTRIX:*:*)
 	echo mips-dec-ultrix${UNAME_RELEASE}
-	exit 0 ;;
+	exit ;;
     VAX*:ULTRIX*:*:*)
 	echo vax-dec-ultrix${UNAME_RELEASE}
-	exit 0 ;;
+	exit ;;
     2020:CLIX:*:* | 2430:CLIX:*:*)
 	echo clipper-intergraph-clix${UNAME_RELEASE}
-	exit 0 ;;
+	exit ;;
     mips:*:*:UMIPS | mips:*:*:RISCos)
+	eval $set_cc_for_build
 	sed 's/^	//' << EOF >$dummy.c
 #ifdef __cplusplus
+#include <stdio.h>  /* for printf() prototype */
 	int main (int argc, char *argv[]) {
 #else
 	int main (argc, argv) int argc; char *argv[]; {
@@ -310,28 +428,37 @@
 	  exit (-1);
 	}
 EOF
-	$CC_FOR_BUILD $dummy.c -o $dummy \
-	  && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
-	  && rm $dummy.c $dummy && exit 0
-	rm -f $dummy.c $dummy
+	$CC_FOR_BUILD -o $dummy $dummy.c &&
+	  dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
+	  SYSTEM_NAME=`$dummy $dummyarg` &&
+	    { echo "$SYSTEM_NAME"; exit; }
 	echo mips-mips-riscos${UNAME_RELEASE}
-	exit 0 ;;
+	exit ;;
+    Motorola:PowerMAX_OS:*:*)
+	echo powerpc-motorola-powermax
+	exit ;;
+    Motorola:*:4.3:PL8-*)
+	echo powerpc-harris-powermax
+	exit ;;
+    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
+	echo powerpc-harris-powermax
+	exit ;;
     Night_Hawk:Power_UNIX:*:*)
 	echo powerpc-harris-powerunix
-	exit 0 ;;
+	exit ;;
     m88k:CX/UX:7*:*)
 	echo m88k-harris-cxux7
-	exit 0 ;;
+	exit ;;
     m88k:*:4*:R4*)
 	echo m88k-motorola-sysv4
-	exit 0 ;;
+	exit ;;
     m88k:*:3*:R3*)
 	echo m88k-motorola-sysv3
-	exit 0 ;;
+	exit ;;
     AViiON:dgux:*:*)
         # DG/UX returns AViiON for all architectures
         UNAME_PROCESSOR=`/usr/bin/uname -p`
-	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110]
+	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
 	then
 	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
 	       [ ${TARGET_BINARY_INTERFACE}x = x ]
@@ -343,31 +470,40 @@
 	else
 	    echo i586-dg-dgux${UNAME_RELEASE}
 	fi
- 	exit 0 ;;
+ 	exit ;;
     M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
 	echo m88k-dolphin-sysv3
-	exit 0 ;;
+	exit ;;
     M88*:*:R3*:*)
 	# Delta 88k system running SVR3
 	echo m88k-motorola-sysv3
-	exit 0 ;;
+	exit ;;
     XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
 	echo m88k-tektronix-sysv3
-	exit 0 ;;
+	exit ;;
     Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
 	echo m68k-tektronix-bsd
-	exit 0 ;;
+	exit ;;
     *:IRIX*:*:*)
 	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
-	exit 0 ;;
+	exit ;;
     ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
-	echo romp-ibm-aix      # uname -m gives an 8 hex-code CPU id
-	exit 0 ;;              # Note that: echo "'`uname -s`'" gives 'AIX '
-    i?86:AIX:*:*)
+	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
+	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
+    i*86:AIX:*:*)
 	echo i386-ibm-aix
-	exit 0 ;;
+	exit ;;
+    ia64:AIX:*:*)
+	if [ -x /usr/bin/oslevel ] ; then
+		IBM_REV=`/usr/bin/oslevel`
+	else
+		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+	fi
+	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
+	exit ;;
     *:AIX:2:3)
 	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
+		eval $set_cc_for_build
 		sed 's/^		//' << EOF >$dummy.c
 		#include <sys/systemcfg.h>
 
@@ -379,18 +515,21 @@
 			exit(0);
 			}
 EOF
-		$CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm $dummy.c $dummy && exit 0
-		rm -f $dummy.c $dummy
-		echo rs6000-ibm-aix3.2.5
+		if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
+		then
+			echo "$SYSTEM_NAME"
+		else
+			echo rs6000-ibm-aix3.2.5
+		fi
 	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
 		echo rs6000-ibm-aix3.2.4
 	else
 		echo rs6000-ibm-aix3.2
 	fi
-	exit 0 ;;
-    *:AIX:*:4)
-	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'`
-	if /usr/sbin/lsattr -EHl ${IBM_CPU_ID} | grep POWER >/dev/null 2>&1; then
+	exit ;;
+    *:AIX:*:[45])
+	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
+	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
 		IBM_ARCH=rs6000
 	else
 		IBM_ARCH=powerpc
@@ -398,37 +537,56 @@
 	if [ -x /usr/bin/oslevel ] ; then
 		IBM_REV=`/usr/bin/oslevel`
 	else
-		IBM_REV=4.${UNAME_RELEASE}
+		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
 	fi
 	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
-	exit 0 ;;
+	exit ;;
     *:AIX:*:*)
 	echo rs6000-ibm-aix
-	exit 0 ;;
+	exit ;;
     ibmrt:4.4BSD:*|romp-ibm:BSD:*)
 	echo romp-ibm-bsd4.4
-	exit 0 ;;
-    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC NetBSD and
+	exit ;;
+    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
 	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
-	exit 0 ;;                           # report: romp-ibm BSD 4.3
+	exit ;;                             # report: romp-ibm BSD 4.3
     *:BOSX:*:*)
 	echo rs6000-bull-bosx
-	exit 0 ;;
+	exit ;;
     DPX/2?00:B.O.S.:*:*)
 	echo m68k-bull-sysv3
-	exit 0 ;;
+	exit ;;
     9000/[34]??:4.3bsd:1.*:*)
 	echo m68k-hp-bsd
-	exit 0 ;;
+	exit ;;
     hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
 	echo m68k-hp-bsd4.4
-	exit 0 ;;
+	exit ;;
     9000/[34678]??:HP-UX:*:*)
+	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
 	case "${UNAME_MACHINE}" in
 	    9000/31? )            HP_ARCH=m68000 ;;
 	    9000/[34]?? )         HP_ARCH=m68k ;;
 	    9000/[678][0-9][0-9])
-              sed 's/^              //' << EOF >$dummy.c
+		if [ -x /usr/bin/getconf ]; then
+		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
+                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
+                    case "${sc_cpu_version}" in
+                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
+                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+                      532)                      # CPU_PA_RISC2_0
+                        case "${sc_kernel_bits}" in
+                          32) HP_ARCH="hppa2.0n" ;;
+                          64) HP_ARCH="hppa2.0w" ;;
+			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
+                        esac ;;
+                    esac
+		fi
+		if [ "${HP_ARCH}" = "" ]; then
+		    eval $set_cc_for_build
+		    sed 's/^              //' << EOF >$dummy.c
+
+              #define _HPUX_SOURCE
               #include <stdlib.h>
               #include <unistd.h>
 
@@ -459,13 +617,39 @@
                   exit (0);
               }
 EOF
-	(CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy`
-	rm -f $dummy.c $dummy
+		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+		    test -z "$HP_ARCH" && HP_ARCH=hppa
+		fi ;;
 	esac
-	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+	if [ ${HP_ARCH} = "hppa2.0w" ]
+	then
+	    eval $set_cc_for_build
+
+	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
+	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
+	    # generating 64-bit code.  GNU and HP use different nomenclature:
+	    #
+	    # $ CC_FOR_BUILD=cc ./config.guess
+	    # => hppa2.0w-hp-hpux11.23
+	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
+	    # => hppa64-hp-hpux11.23
+
+	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
+		grep __LP64__ >/dev/null
+	    then
+		HP_ARCH="hppa2.0w"
+	    else
+		HP_ARCH="hppa64"
+	    fi
+	fi
 	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
-	exit 0 ;;
+	exit ;;
+    ia64:HP-UX:*:*)
+	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+	echo ia64-hp-hpux${HPUX_REV}
+	exit ;;
     3050*:HI-UX:*:*)
+	eval $set_cc_for_build
 	sed 's/^	//' << EOF >$dummy.c
 	#include <unistd.h>
 	int
@@ -491,434 +675,444 @@
 	  exit (0);
 	}
 EOF
-	$CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm $dummy.c $dummy && exit 0
-	rm -f $dummy.c $dummy
+	$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
+		{ echo "$SYSTEM_NAME"; exit; }
 	echo unknown-hitachi-hiuxwe2
-	exit 0 ;;
+	exit ;;
     9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
 	echo hppa1.1-hp-bsd
-	exit 0 ;;
+	exit ;;
     9000/8??:4.3bsd:*:*)
 	echo hppa1.0-hp-bsd
-	exit 0 ;;
-    *9??*:MPE/iX:*:*)
+	exit ;;
+    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
 	echo hppa1.0-hp-mpeix
-	exit 0 ;;
+	exit ;;
     hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
 	echo hppa1.1-hp-osf
-	exit 0 ;;
+	exit ;;
     hp8??:OSF1:*:*)
 	echo hppa1.0-hp-osf
-	exit 0 ;;
-    i?86:OSF1:*:*)
+	exit ;;
+    i*86:OSF1:*:*)
 	if [ -x /usr/sbin/sysversion ] ; then
 	    echo ${UNAME_MACHINE}-unknown-osf1mk
 	else
 	    echo ${UNAME_MACHINE}-unknown-osf1
 	fi
-	exit 0 ;;
+	exit ;;
     parisc*:Lites*:*:*)
 	echo hppa1.1-hp-lites
-	exit 0 ;;
-    hppa*:OpenBSD:*:*)
-	echo hppa-unknown-openbsd
-	exit 0 ;;
+	exit ;;
     C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
 	echo c1-convex-bsd
-        exit 0 ;;
+        exit ;;
     C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
 	if getsysinfo -f scalar_acc
 	then echo c32-convex-bsd
 	else echo c2-convex-bsd
 	fi
-        exit 0 ;;
+        exit ;;
     C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
 	echo c34-convex-bsd
-        exit 0 ;;
+        exit ;;
     C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
 	echo c38-convex-bsd
-        exit 0 ;;
+        exit ;;
     C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
 	echo c4-convex-bsd
-        exit 0 ;;
-    CRAY*X-MP:*:*:*)
-	echo xmp-cray-unicos
-        exit 0 ;;
+        exit ;;
     CRAY*Y-MP:*:*:*)
-	echo ymp-cray-unicos${UNAME_RELEASE}
-	exit 0 ;;
+	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
     CRAY*[A-Z]90:*:*:*)
 	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
 	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
-	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/
-	exit 0 ;;
+	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
+	      -e 's/\.[^.]*$/.X/'
+	exit ;;
     CRAY*TS:*:*:*)
-	echo t90-cray-unicos${UNAME_RELEASE}
-	exit 0 ;;
+	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
     CRAY*T3E:*:*:*)
-	echo alpha-cray-unicosmk${UNAME_RELEASE}
-	exit 0 ;;
-    CRAY-2:*:*:*)
-	echo cray2-cray-unicos
-        exit 0 ;;
-    F300:UNIX_System_V:*:*)
+	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    CRAY*SV1:*:*:*)
+	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    *:UNICOS/mp:*:*)
+	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
+	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
         FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
         FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
-        echo "f300-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
-        exit 0 ;;
-    F301:UNIX_System_V:*:*)
-       echo f301-fujitsu-uxpv`echo $UNAME_RELEASE | sed 's/ .*//'`
-       exit 0 ;;
-    hp3[0-9][05]:NetBSD:*:*)
-	echo m68k-hp-netbsd${UNAME_RELEASE}
-	exit 0 ;;
-    hp300:OpenBSD:*:*)
-	echo m68k-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    i?86:BSD/386:*:* | i?86:BSD/OS:*:*)
+        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+        exit ;;
+    5000:UNIX_System_V:4.*:*)
+        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+	exit ;;
+    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
 	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
-	exit 0 ;;
+	exit ;;
     sparc*:BSD/OS:*:*)
 	echo sparc-unknown-bsdi${UNAME_RELEASE}
-	exit 0 ;;
+	exit ;;
     *:BSD/OS:*:*)
 	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
-	exit 0 ;;
+	exit ;;
     *:FreeBSD:*:*)
-	if test -x /usr/bin/objformat; then
-	    if test "elf" = "`/usr/bin/objformat`"; then
-		echo ${UNAME_MACHINE}-unknown-freebsdelf`echo ${UNAME_RELEASE}|sed -e 's/[-_].*//'`
-		exit 0
-	    fi
-	fi
 	echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
-	exit 0 ;;
-    *:NetBSD:*:*)
-	echo ${UNAME_MACHINE}-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*//'`
-	exit 0 ;;
-    *:OpenBSD:*:*)
-	echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
-	exit 0 ;;
+	exit ;;
     i*:CYGWIN*:*)
 	echo ${UNAME_MACHINE}-pc-cygwin
-	exit 0 ;;
+	exit ;;
     i*:MINGW*:*)
 	echo ${UNAME_MACHINE}-pc-mingw32
-	exit 0 ;;
+	exit ;;
+    i*:windows32*:*)
+    	# uname -m includes "-pc" on this system.
+    	echo ${UNAME_MACHINE}-mingw32
+	exit ;;
+    i*:PW*:*)
+	echo ${UNAME_MACHINE}-pc-pw32
+	exit ;;
+    x86:Interix*:[34]*)
+	echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//'
+	exit ;;
+    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
+	echo i${UNAME_MACHINE}-pc-mks
+	exit ;;
     i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
 	# How do we know it's Interix rather than the generic POSIX subsystem?
 	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
 	# UNAME_MACHINE based on the output of uname instead of i386?
-	echo i386-pc-interix
-	exit 0 ;;
+	echo i586-pc-interix
+	exit ;;
     i*:UWIN*:*)
 	echo ${UNAME_MACHINE}-pc-uwin
-	exit 0 ;;
+	exit ;;
+    amd64:CYGWIN*:*:*)
+	echo x86_64-unknown-cygwin
+	exit ;;
     p*:CYGWIN*:*)
 	echo powerpcle-unknown-cygwin
-	exit 0 ;;
+	exit ;;
     prep*:SunOS:5.*:*)
 	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit 0 ;;
+	exit ;;
     *:GNU:*:*)
+	# the GNU system
 	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
-	exit 0 ;;
-    *:Linux:*:*)
-
+	exit ;;
+    *:GNU/*:*:*)
+	# other systems with GNU libc and userland
+	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
+	exit ;;
+    i*86:Minix:*:*)
+	echo ${UNAME_MACHINE}-pc-minix
+	exit ;;
+    arm*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    cris:Linux:*:*)
+	echo cris-axis-linux-gnu
+	exit ;;
+    crisv32:Linux:*:*)
+	echo crisv32-axis-linux-gnu
+	exit ;;
+    frv:Linux:*:*)
+    	echo frv-unknown-linux-gnu
+	exit ;;
+    ia64:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    m32r*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    m68*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    mips:Linux:*:*)
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+	#undef CPU
+	#undef mips
+	#undef mipsel
+	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+	CPU=mipsel
+	#else
+	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+	CPU=mips
+	#else
+	CPU=
+	#endif
+	#endif
+EOF
+	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
+	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+	;;
+    mips64:Linux:*:*)
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+	#undef CPU
+	#undef mips64
+	#undef mips64el
+	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+	CPU=mips64el
+	#else
+	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+	CPU=mips64
+	#else
+	CPU=
+	#endif
+	#endif
+EOF
+	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
+	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+	;;
+    ppc:Linux:*:*)
+	echo powerpc-unknown-linux-gnu
+	exit ;;
+    ppc64:Linux:*:*)
+	echo powerpc64-unknown-linux-gnu
+	exit ;;
+    alpha:Linux:*:*)
+	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
+	  EV5)   UNAME_MACHINE=alphaev5 ;;
+	  EV56)  UNAME_MACHINE=alphaev56 ;;
+	  PCA56) UNAME_MACHINE=alphapca56 ;;
+	  PCA57) UNAME_MACHINE=alphapca56 ;;
+	  EV6)   UNAME_MACHINE=alphaev6 ;;
+	  EV67)  UNAME_MACHINE=alphaev67 ;;
+	  EV68*) UNAME_MACHINE=alphaev68 ;;
+        esac
+	objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
+	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
+	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+	exit ;;
+    parisc:Linux:*:* | hppa:Linux:*:*)
+	# Look for CPU level
+	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
+	  PA7*) echo hppa1.1-unknown-linux-gnu ;;
+	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
+	  *)    echo hppa-unknown-linux-gnu ;;
+	esac
+	exit ;;
+    parisc64:Linux:*:* | hppa64:Linux:*:*)
+	echo hppa64-unknown-linux-gnu
+	exit ;;
+    s390:Linux:*:* | s390x:Linux:*:*)
+	echo ${UNAME_MACHINE}-ibm-linux
+	exit ;;
+    sh64*:Linux:*:*)
+    	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    sh*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    sparc:Linux:*:* | sparc64:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    x86_64:Linux:*:*)
+	echo x86_64-unknown-linux-gnu
+	exit ;;
+    i*86:Linux:*:*)
 	# The BFD linker knows what the default object file format is, so
 	# first see if it will tell us. cd to the root directory to prevent
 	# problems with other programs or directories called `ld' in the path.
-	ld_help_string=`cd /; ld --help 2>&1`
-	ld_supported_emulations=`echo $ld_help_string \
-			 | sed -ne '/supported emulations:/!d
+	# Set LC_ALL=C to ensure ld outputs messages in English.
+	ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
+			 | sed -ne '/supported targets:/!d
 				    s/[ 	][ 	]*/ /g
-				    s/.*supported emulations: *//
+				    s/.*supported targets: *//
 				    s/ .*//
 				    p'`
-        case "$ld_supported_emulations" in
-	  *ia64)
-		echo "${UNAME_MACHINE}-unknown-linux"
-		exit 0
+        case "$ld_supported_targets" in
+	  elf32-i386)
+		TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
 		;;
-	  i?86linux)
+	  a.out-i386-linux)
 		echo "${UNAME_MACHINE}-pc-linux-gnuaout"
-		exit 0
-		;;
-	  i?86coff)
+		exit ;;
+	  coff-i386)
 		echo "${UNAME_MACHINE}-pc-linux-gnucoff"
-		exit 0
-		;;
-	  sparclinux)
-		echo "${UNAME_MACHINE}-unknown-linux-gnuaout"
-		exit 0
-		;;
-	  armlinux)
-		echo "${UNAME_MACHINE}-unknown-linux-gnuaout"
-		exit 0
-		;;
-	  elf32arm*)
-		echo "${UNAME_MACHINE}-unknown-linux-gnu"
-		exit 0
-		;;
-	  armelf_linux*)
-		echo "${UNAME_MACHINE}-unknown-linux-gnu"
-		exit 0
-		;;
-	  m68klinux)
-		echo "${UNAME_MACHINE}-unknown-linux-gnuaout"
-		exit 0
-		;;
-	  elf32ppc)
-		# Determine Lib Version
-		cat >$dummy.c <<EOF
-#include <features.h>
-#if defined(__GLIBC__)
-extern char __libc_version[];
-extern char __libc_release[];
-#endif
-main(argc, argv)
-     int argc;
-     char *argv[];
-{
-#if defined(__GLIBC__)
-  printf("%s %s\n", __libc_version, __libc_release);
-#else
-  printf("unkown\n");
-#endif
-  return 0;
-}
-EOF
-		LIBC=""
-		$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null
-		if test "$?" = 0 ; then
-			./$dummy | grep 1\.99 > /dev/null
-			if test "$?" = 0 ; then
-				LIBC="libc1"
-			fi
-		fi	
-		rm -f $dummy.c $dummy
-		echo powerpc-unknown-linux-gnu${LIBC}
-		exit 0
-		;;
+		exit ;;
+	  "")
+		# Either a pre-BFD a.out linker (linux-gnuoldld) or
+		# one that does not give us useful --help.
+		echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
+		exit ;;
 	esac
-
-	if test "${UNAME_MACHINE}" = "alpha" ; then
-		sed 's/^	//'  <<EOF >$dummy.s
-		.globl main
-		.ent main
-	main:
-		.frame \$30,0,\$26,0
-		.prologue 0
-		.long 0x47e03d80 # implver $0
-		lda \$2,259
-		.long 0x47e20c21 # amask $2,$1
-		srl \$1,8,\$2
-		sll \$2,2,\$2
-		sll \$0,3,\$0
-		addl \$1,\$0,\$0
-		addl \$2,\$0,\$0
-		ret \$31,(\$26),1
-		.end main
-EOF
-		LIBC=""
-		$CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
-		if test "$?" = 0 ; then
-			./$dummy
-			case "$?" in
-			7)
-				UNAME_MACHINE="alpha"
-				;;
-			15)
-				UNAME_MACHINE="alphaev5"
-				;;
-			14)
-				UNAME_MACHINE="alphaev56"
-				;;
-			10)
-				UNAME_MACHINE="alphapca56"
-				;;
-			16)
-				UNAME_MACHINE="alphaev6"
-				;;
-			esac
-
-			objdump --private-headers $dummy | \
-			  grep ld.so.1 > /dev/null
-			if test "$?" = 0 ; then
-				LIBC="libc1"
-			fi
-		fi
-		rm -f $dummy.s $dummy
-		echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} ; exit 0
-	elif test "${UNAME_MACHINE}" = "mips" ; then
-	  cat >$dummy.c <<EOF
-#ifdef __cplusplus
-	int main (int argc, char *argv[]) {
-#else
-	int main (argc, argv) int argc; char *argv[]; {
-#endif
-#ifdef __MIPSEB__
-  printf ("%s-unknown-linux-gnu\n", argv[1]);
-#endif
-#ifdef __MIPSEL__
-  printf ("%sel-unknown-linux-gnu\n", argv[1]);
-#endif
-  return 0;
-}
-EOF
-	  $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm $dummy.c $dummy && exit 0
-	  rm -f $dummy.c $dummy
-	else
-	  # Either a pre-BFD a.out linker (linux-gnuoldld)
-	  # or one that does not give us useful --help.
-	  # GCC wants to distinguish between linux-gnuoldld and linux-gnuaout.
-	  # If ld does not provide *any* "supported emulations:"
-	  # that means it is gnuoldld.
-	  echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations:"
-	  test $? != 0 && echo "${UNAME_MACHINE}-pc-linux-gnuoldld" && exit 0
-
-	  case "${UNAME_MACHINE}" in
-	  i?86)
-	    VENDOR=pc;
-	    ;;
-	  *)
-	    VENDOR=unknown;
-	    ;;
-	  esac
-	  # Determine whether the default compiler is a.out or elf
-	  cat >$dummy.c <<EOF
-#include <features.h>
-#ifdef __cplusplus
-	int main (int argc, char *argv[]) {
-#else
-	int main (argc, argv) int argc; char *argv[]; {
-#endif
-#ifdef __ELF__
-# ifdef __GLIBC__
-#  if __GLIBC__ >= 2
-    printf ("%s-${VENDOR}-linux-gnu\n", argv[1]);
-#  else
-    printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
-#  endif
-# else
-   printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
-# endif
-#else
-  printf ("%s-${VENDOR}-linux-gnuaout\n", argv[1]);
-#endif
-  return 0;
-}
+	# Determine whether the default compiler is a.out or elf
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+	#include <features.h>
+	#ifdef __ELF__
+	# ifdef __GLIBC__
+	#  if __GLIBC__ >= 2
+	LIBC=gnu
+	#  else
+	LIBC=gnulibc1
+	#  endif
+	# else
+	LIBC=gnulibc1
+	# endif
+	#else
+	#ifdef __INTEL_COMPILER
+	LIBC=gnu
+	#else
+	LIBC=gnuaout
+	#endif
+	#endif
+	#ifdef __dietlibc__
+	LIBC=dietlibc
+	#endif
 EOF
-	  $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm $dummy.c $dummy && exit 0
-	  rm -f $dummy.c $dummy
-	fi ;;
-# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.  earlier versions
-# are messed up and put the nodename in both sysname and nodename.
-    i?86:DYNIX/ptx:4*:*)
+	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
+	test x"${LIBC}" != x && {
+		echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
+		exit
+	}
+	test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
+	;;
+    i*86:DYNIX/ptx:4*:*)
+	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
+	# earlier versions are messed up and put the nodename in both
+	# sysname and nodename.
 	echo i386-sequent-sysv4
-	exit 0 ;;
-    i?86:UNIX_SV:4.2MP:2.*)
+	exit ;;
+    i*86:UNIX_SV:4.2MP:2.*)
         # Unixware is an offshoot of SVR4, but it has its own version
         # number series starting with 2...
         # I am not positive that other SVR4 systems won't match this,
 	# I just have to hope.  -- rms.
         # Use sysv4.2uw... so that sysv4* matches it.
 	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
-	exit 0 ;;
-    i?86:*:4.*:* | i?86:SYSTEM_V:4.*:*)
+	exit ;;
+    i*86:OS/2:*:*)
+	# If we were able to find `uname', then EMX Unix compatibility
+	# is probably installed.
+	echo ${UNAME_MACHINE}-pc-os2-emx
+	exit ;;
+    i*86:XTS-300:*:STOP)
+	echo ${UNAME_MACHINE}-unknown-stop
+	exit ;;
+    i*86:atheos:*:*)
+	echo ${UNAME_MACHINE}-unknown-atheos
+	exit ;;
+    i*86:syllable:*:*)
+	echo ${UNAME_MACHINE}-pc-syllable
+	exit ;;
+    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
+	echo i386-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    i*86:*DOS:*:*)
+	echo ${UNAME_MACHINE}-pc-msdosdjgpp
+	exit ;;
+    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
 	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
 	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
 		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
 	else
 		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
 	fi
-	exit 0 ;;
-    i?86:*:5:7*)
-        # Fixed at (any) Pentium or better
-        UNAME_MACHINE=i586
-        if [ ${UNAME_SYSTEM} = "UnixWare" ] ; then
-	    echo ${UNAME_MACHINE}-sco-sysv${UNAME_RELEASE}uw${UNAME_VERSION}
-	else
-	    echo ${UNAME_MACHINE}-pc-sysv${UNAME_RELEASE}
-	fi
-	exit 0 ;;
-    i?86:*:3.2:*)
+	exit ;;
+    i*86:*:5:[678]*)
+    	# UnixWare 7.x, OpenUNIX and OpenServer 6.
+	case `/bin/uname -X | grep "^Machine"` in
+	    *486*)	     UNAME_MACHINE=i486 ;;
+	    *Pentium)	     UNAME_MACHINE=i586 ;;
+	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
+	esac
+	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
+	exit ;;
+    i*86:*:3.2:*)
 	if test -f /usr/options/cb.name; then
 		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
 		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
 	elif /bin/uname -X 2>/dev/null >/dev/null ; then
-		UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
-		(/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
-		(/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
+		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
+		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
+		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
 			&& UNAME_MACHINE=i586
-		(/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \
+		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
 			&& UNAME_MACHINE=i686
-		(/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \
+		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
 			&& UNAME_MACHINE=i686
 		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
 	else
 		echo ${UNAME_MACHINE}-pc-sysv32
 	fi
-	exit 0 ;;
+	exit ;;
     pc:*:*:*)
+	# Left here for compatibility:
         # uname -m prints for DJGPP always 'pc', but it prints nothing about
         # the processor, so we play safe by assuming i386.
 	echo i386-pc-msdosdjgpp
-        exit 0 ;;
+        exit ;;
     Intel:Mach:3*:*)
 	echo i386-pc-mach3
-	exit 0 ;;
+	exit ;;
     paragon:*:*:*)
 	echo i860-intel-osf1
-	exit 0 ;;
+	exit ;;
     i860:*:4.*:*) # i860-SVR4
 	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
 	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
 	else # Add other i860-SVR4 vendors below as they are discovered.
 	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
 	fi
-	exit 0 ;;
+	exit ;;
     mini*:CTIX:SYS*5:*)
 	# "miniframe"
 	echo m68010-convergent-sysv
-	exit 0 ;;
-    M68*:*:R3V[567]*:*)
-	test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
-    3[34]??:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0)
+	exit ;;
+    mc68k:UNIX:SYSTEM5:3.51m)
+	echo m68k-convergent-sysv
+	exit ;;
+    M680?0:D-NIX:5.3:*)
+	echo m68k-diab-dnix
+	exit ;;
+    M68*:*:R3V[5678]*:*)
+	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
+    3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
 	OS_REL=''
 	test -r /etc/.relid \
 	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
 	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-	  && echo i486-ncr-sysv4.3${OS_REL} && exit 0
+	  && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
 	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
-	  && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
+	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
     3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
         /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-          && echo i486-ncr-sysv4 && exit 0 ;;
-    m68*:LynxOS:2.*:*)
+          && { echo i486-ncr-sysv4; exit; } ;;
+    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
 	echo m68k-unknown-lynxos${UNAME_RELEASE}
-	exit 0 ;;
+	exit ;;
     mc68030:UNIX_System_V:4.*:*)
 	echo m68k-atari-sysv4
-	exit 0 ;;
-    i?86:LynxOS:2.*:* | i?86:LynxOS:3.[01]*:*)
-	echo i386-unknown-lynxos${UNAME_RELEASE}
-	exit 0 ;;
+	exit ;;
     TSUNAMI:LynxOS:2.*:*)
 	echo sparc-unknown-lynxos${UNAME_RELEASE}
-	exit 0 ;;
-    rs6000:LynxOS:2.*:* | PowerPC:LynxOS:2.*:*)
+	exit ;;
+    rs6000:LynxOS:2.*:*)
 	echo rs6000-unknown-lynxos${UNAME_RELEASE}
-	exit 0 ;;
+	exit ;;
+    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
+	echo powerpc-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
     SM[BE]S:UNIX_SV:*:*)
 	echo mips-dde-sysv${UNAME_RELEASE}
-	exit 0 ;;
+	exit ;;
     RM*:ReliantUNIX-*:*:*)
 	echo mips-sni-sysv4
-	exit 0 ;;
+	exit ;;
     RM*:SINIX-*:*:*)
 	echo mips-sni-sysv4
-	exit 0 ;;
+	exit ;;
     *:SINIX-*:*:*)
 	if uname -p 2>/dev/null >/dev/null ; then
 		UNAME_MACHINE=`(uname -p) 2>/dev/null`
@@ -926,62 +1120,153 @@
 	else
 		echo ns32k-sni-sysv
 	fi
-	exit 0 ;;
-    PENTIUM:CPunix:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
-                           # says <Richard.M.Bartel@ccMail.Census.GOV>
+	exit ;;
+    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+                      # says <Richard.M.Bartel@ccMail.Census.GOV>
         echo i586-unisys-sysv4
-        exit 0 ;;
+        exit ;;
     *:UNIX_System_V:4*:FTX*)
 	# From Gerald Hewes <hewes@openmarket.com>.
 	# How about differentiating between stratus architectures? -djm
 	echo hppa1.1-stratus-sysv4
-	exit 0 ;;
+	exit ;;
     *:*:*:FTX*)
 	# From seanf@swdc.stratus.com.
 	echo i860-stratus-sysv4
-	exit 0 ;;
+	exit ;;
+    i*86:VOS:*:*)
+	# From Paul.Green@stratus.com.
+	echo ${UNAME_MACHINE}-stratus-vos
+	exit ;;
+    *:VOS:*:*)
+	# From Paul.Green@stratus.com.
+	echo hppa1.1-stratus-vos
+	exit ;;
     mc68*:A/UX:*:*)
 	echo m68k-apple-aux${UNAME_RELEASE}
-	exit 0 ;;
-    news*:NEWS-OS:*:6*)
+	exit ;;
+    news*:NEWS-OS:6*:*)
 	echo mips-sony-newsos6
-	exit 0 ;;
+	exit ;;
     R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
 	if [ -d /usr/nec ]; then
 	        echo mips-nec-sysv${UNAME_RELEASE}
 	else
 	        echo mips-unknown-sysv${UNAME_RELEASE}
 	fi
-        exit 0 ;;
+        exit ;;
     BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
 	echo powerpc-be-beos
-	exit 0 ;;
+	exit ;;
     BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
 	echo powerpc-apple-beos
-	exit 0 ;;
+	exit ;;
     BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
 	echo i586-pc-beos
-	exit 0 ;;
+	exit ;;
     SX-4:SUPER-UX:*:*)
 	echo sx4-nec-superux${UNAME_RELEASE}
-	exit 0 ;;
+	exit ;;
     SX-5:SUPER-UX:*:*)
 	echo sx5-nec-superux${UNAME_RELEASE}
-	exit 0 ;;
+	exit ;;
+    SX-6:SUPER-UX:*:*)
+	echo sx6-nec-superux${UNAME_RELEASE}
+	exit ;;
     Power*:Rhapsody:*:*)
 	echo powerpc-apple-rhapsody${UNAME_RELEASE}
-	exit 0 ;;
+	exit ;;
     *:Rhapsody:*:*)
 	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
-	exit 0 ;;
+	exit ;;
+    *:Darwin:*:*)
+	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
+	case $UNAME_PROCESSOR in
+	    *86) UNAME_PROCESSOR=i686 ;;
+	    unknown) UNAME_PROCESSOR=powerpc ;;
+	esac
+	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
+	exit ;;
+    *:procnto*:*:* | *:QNX:[0123456789]*:*)
+	UNAME_PROCESSOR=`uname -p`
+	if test "$UNAME_PROCESSOR" = "x86"; then
+		UNAME_PROCESSOR=i386
+		UNAME_MACHINE=pc
+	fi
+	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
+	exit ;;
     *:QNX:*:4*)
-	echo i386-qnx-qnx${UNAME_VERSION}
-	exit 0 ;;
+	echo i386-pc-qnx
+	exit ;;
+    NSE-?:NONSTOP_KERNEL:*:*)
+	echo nse-tandem-nsk${UNAME_RELEASE}
+	exit ;;
+    NSR-?:NONSTOP_KERNEL:*:*)
+	echo nsr-tandem-nsk${UNAME_RELEASE}
+	exit ;;
+    *:NonStop-UX:*:*)
+	echo mips-compaq-nonstopux
+	exit ;;
+    BS2000:POSIX*:*:*)
+	echo bs2000-siemens-sysv
+	exit ;;
+    DS/*:UNIX_System_V:*:*)
+	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
+	exit ;;
+    *:Plan9:*:*)
+	# "uname -m" is not consistent, so use $cputype instead. 386
+	# is converted to i386 for consistency with other x86
+	# operating systems.
+	if test "$cputype" = "386"; then
+	    UNAME_MACHINE=i386
+	else
+	    UNAME_MACHINE="$cputype"
+	fi
+	echo ${UNAME_MACHINE}-unknown-plan9
+	exit ;;
+    *:TOPS-10:*:*)
+	echo pdp10-unknown-tops10
+	exit ;;
+    *:TENEX:*:*)
+	echo pdp10-unknown-tenex
+	exit ;;
+    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
+	echo pdp10-dec-tops20
+	exit ;;
+    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
+	echo pdp10-xkl-tops20
+	exit ;;
+    *:TOPS-20:*:*)
+	echo pdp10-unknown-tops20
+	exit ;;
+    *:ITS:*:*)
+	echo pdp10-unknown-its
+	exit ;;
+    SEI:*:*:SEIUX)
+        echo mips-sei-seiux${UNAME_RELEASE}
+	exit ;;
+    *:DragonFly:*:*)
+	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+	exit ;;
+    *:*VMS:*:*)
+    	UNAME_MACHINE=`(uname -p) 2>/dev/null`
+	case "${UNAME_MACHINE}" in
+	    A*) echo alpha-dec-vms ; exit ;;
+	    I*) echo ia64-dec-vms ; exit ;;
+	    V*) echo vax-dec-vms ; exit ;;
+	esac ;;
+    *:XENIX:*:SysV)
+	echo i386-pc-xenix
+	exit ;;
+    i*86:skyos:*:*)
+	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
+	exit ;;
 esac
 
 #echo '(No uname command or uname output not recognized.)' 1>&2
 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
 
+eval $set_cc_for_build
 cat >$dummy.c <<EOF
 #ifdef _SEQUENT_
 # include <sys/types.h>
@@ -1007,7 +1292,7 @@
 #endif
 
 #if defined (__arm) && defined (__acorn) && defined (__unix)
-  printf ("arm-acorn-riscix"); exit (0);
+  printf ("arm-acorn-riscix\n"); exit (0);
 #endif
 
 #if defined (hp300) && !defined (hpux)
@@ -1068,11 +1353,24 @@
 #endif
 
 #if defined (vax)
-#if !defined (ultrix)
-  printf ("vax-dec-bsd\n"); exit (0);
-#else
-  printf ("vax-dec-ultrix\n"); exit (0);
-#endif
+# if !defined (ultrix)
+#  include <sys/param.h>
+#  if defined (BSD)
+#   if BSD == 43
+      printf ("vax-dec-bsd4.3\n"); exit (0);
+#   else
+#    if BSD == 199006
+      printf ("vax-dec-bsd4.3reno\n"); exit (0);
+#    else
+      printf ("vax-dec-bsd\n"); exit (0);
+#    endif
+#   endif
+#  else
+    printf ("vax-dec-bsd\n"); exit (0);
+#  endif
+# else
+    printf ("vax-dec-ultrix\n"); exit (0);
+# endif
 #endif
 
 #if defined (alliant) && defined (i860)
@@ -1083,12 +1381,12 @@
 }
 EOF
 
-$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm $dummy.c $dummy && exit 0
-rm -f $dummy.c $dummy
+$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
+	{ echo "$SYSTEM_NAME"; exit; }
 
 # Apollos put the system type in the environment.
 
-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
+test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
 
 # Convex versions that predate uname can use getsysinfo(1)
 
@@ -1097,25 +1395,69 @@
     case `getsysinfo -f cpu_type` in
     c1*)
 	echo c1-convex-bsd
-	exit 0 ;;
+	exit ;;
     c2*)
 	if getsysinfo -f scalar_acc
 	then echo c32-convex-bsd
 	else echo c2-convex-bsd
 	fi
-	exit 0 ;;
+	exit ;;
     c34*)
 	echo c34-convex-bsd
-	exit 0 ;;
+	exit ;;
     c38*)
 	echo c38-convex-bsd
-	exit 0 ;;
+	exit ;;
     c4*)
 	echo c4-convex-bsd
-	exit 0 ;;
+	exit ;;
     esac
 fi
 
-#echo '(Unable to guess system type)' 1>&2
+cat >&2 <<EOF
+$0: unable to guess system type
+
+This script, last modified $timestamp, has failed to recognize
+the operating system you are using. It is advised that you
+download the most up to date version of the config scripts from
+
+  http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess
+and
+  http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub
+
+If the version you run ($0) is already up to date, please
+send the following data and any information you think might be
+pertinent to <config-patches@gnu.org> in order to provide the needed
+information to handle your system.
+
+config.guess timestamp = $timestamp
+
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
+/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
+
+hostinfo               = `(hostinfo) 2>/dev/null`
+/bin/universe          = `(/bin/universe) 2>/dev/null`
+/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
+/bin/arch              = `(/bin/arch) 2>/dev/null`
+/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
+
+UNAME_MACHINE = ${UNAME_MACHINE}
+UNAME_RELEASE = ${UNAME_RELEASE}
+UNAME_SYSTEM  = ${UNAME_SYSTEM}
+UNAME_VERSION = ${UNAME_VERSION}
+EOF
 
 exit 1
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff -Naur libfame-0.9.1.orig/config.sub libfame-0.9.1/config.sub
--- libfame-0.9.1.orig/config.sub	2006-11-02 15:37:32.000000000 -0500
+++ libfame-0.9.1/config.sub	2006-11-02 15:37:46.000000000 -0500
@@ -1,6 +1,10 @@
 #! /bin/sh
-# Configuration validation subroutine script, version 1.1.
-#   Copyright (C) 1991, 92-97, 1998, 1999 Free Software Foundation, Inc.
+# Configuration validation subroutine script.
+#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+#   2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+
+timestamp='2005-07-08'
+
 # This file is (in principle) common to ALL GNU software.
 # The presence of a machine in this file suggests that SOME GNU software
 # can handle that machine.  It does not imply ALL GNU software can.
@@ -17,14 +21,18 @@
 #
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
-
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
+#
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
 # configuration script generated by Autoconf, you may include it under
 # the same distribution terms that you use for the rest of that program.
 
+
+# Please send patches to <config-patches@gnu.org>.  Submit a context
+# diff and a properly formatted ChangeLog entry.
+#
 # Configuration subroutine to validate and canonicalize a configuration type.
 # Supply the specified configuration type as an argument.
 # If it is invalid, we print an error message on stderr and exit with code 1.
@@ -45,30 +53,74 @@
 #	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
 # It is wrong to echo any other type of specification.
 
-if [ x$1 = x ]
-then
-	echo Configuration name missing. 1>&2
-	echo "Usage: $0 CPU-MFR-OPSYS" 1>&2
-	echo "or     $0 ALIAS" 1>&2
-	echo where ALIAS is a recognized configuration type. 1>&2
-	exit 1
-fi
+me=`echo "$0" | sed -e 's,.*/,,'`
 
-# First pass through any local machine types.
-case $1 in
-	*local*)
-		echo $1
-		exit 0
-		;;
-	*)
-	;;
+usage="\
+Usage: $0 [OPTION] CPU-MFR-OPSYS
+       $0 [OPTION] ALIAS
+
+Canonicalize a configuration name.
+
+Operation modes:
+  -h, --help         print this help, then exit
+  -t, --time-stamp   print date of last modification, then exit
+  -v, --version      print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.sub ($timestamp)
+
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+  case $1 in
+    --time-stamp | --time* | -t )
+       echo "$timestamp" ; exit ;;
+    --version | -v )
+       echo "$version" ; exit ;;
+    --help | --h* | -h )
+       echo "$usage"; exit ;;
+    -- )     # Stop option processing
+       shift; break ;;
+    - )	# Use stdin as input.
+       break ;;
+    -* )
+       echo "$me: invalid option $1$help"
+       exit 1 ;;
+
+    *local*)
+       # First pass through any local machine types.
+       echo $1
+       exit ;;
+
+    * )
+       break ;;
+  esac
+done
+
+case $# in
+ 0) echo "$me: missing argument$help" >&2
+    exit 1;;
+ 1) ;;
+ *) echo "$me: too many arguments$help" >&2
+    exit 1;;
 esac
 
 # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
 # Here we must recognize all the valid KERNEL-OS combinations.
 maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
 case $maybe_os in
-  linux-gnu*)
+  nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \
+  kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
     os=-$maybe_os
     basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
     ;;
@@ -94,7 +146,7 @@
 	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
 	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
 	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
-	-apple)
+	-apple | -axis | -knuth | -cray)
 		os=
 		basic_machine=$1
 		;;
@@ -108,6 +160,14 @@
 		os=-vxworks
 		basic_machine=$1
 		;;
+	-chorusos*)
+		os=-chorusos
+		basic_machine=$1
+		;;
+ 	-chorusrdb)
+ 		os=-chorusrdb
+		basic_machine=$1
+ 		;;
 	-hiux*)
 		os=-hiuxwe2
 		;;
@@ -166,27 +226,71 @@
 case $basic_machine in
 	# Recognize the basic CPU types without company name.
 	# Some are omitted here because they have special meanings below.
-	tahoe | i860 | ia64 | m32r | m68k | m68000 | m88k | ns32k | arc | arm \
-		| arme[lb] | pyramid | mn10200 | mn10300 | tron | a29k \
-		| 580 | i960 | h8300 \
-		| hppa | hppa1.0 | hppa1.1 | hppa2.0 | hppa2.0w | hppa2.0n \
-		| alpha | alphaev[4-7] | alphaev56 | alphapca5[67] \
-		| we32k | ns16k | clipper | i370 | sh | powerpc | powerpcle \
-		| 1750a | dsp16xx | pdp11 | mips16 | mips64 | mipsel | mips64el \
-		| mips64orion | mips64orionel | mipstx39 | mipstx39el \
-		| mips64vr4300 | mips64vr4300el | mips64vr4100 | mips64vr4100el \
-		| mips64vr5000 | miprs64vr5000el | mcore \
-		| sparc | sparclet | sparclite | sparc64 | sparcv9 | v850 | c4x \
-		| thumb | d10v | fr30)
+	1750a | 580 \
+	| a29k \
+	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
+	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
+	| am33_2.0 \
+	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
+	| bfin \
+	| c4x | clipper \
+	| d10v | d30v | dlx | dsp16xx \
+	| fr30 | frv \
+	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+	| i370 | i860 | i960 | ia64 \
+	| ip2k | iq2000 \
+	| m32r | m32rle | m68000 | m68k | m88k | maxq | mcore \
+	| mips | mipsbe | mipseb | mipsel | mipsle \
+	| mips16 \
+	| mips64 | mips64el \
+	| mips64vr | mips64vrel \
+	| mips64orion | mips64orionel \
+	| mips64vr4100 | mips64vr4100el \
+	| mips64vr4300 | mips64vr4300el \
+	| mips64vr5000 | mips64vr5000el \
+	| mips64vr5900 | mips64vr5900el \
+	| mipsisa32 | mipsisa32el \
+	| mipsisa32r2 | mipsisa32r2el \
+	| mipsisa64 | mipsisa64el \
+	| mipsisa64r2 | mipsisa64r2el \
+	| mipsisa64sb1 | mipsisa64sb1el \
+	| mipsisa64sr71k | mipsisa64sr71kel \
+	| mipstx39 | mipstx39el \
+	| mn10200 | mn10300 \
+	| ms1 \
+	| msp430 \
+	| ns16k | ns32k \
+	| or32 \
+	| pdp10 | pdp11 | pj | pjl \
+	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
+	| pyramid \
+	| sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
+	| sh64 | sh64le \
+	| sparc | sparc64 | sparc64b | sparc86x | sparclet | sparclite \
+	| sparcv8 | sparcv9 | sparcv9b \
+	| strongarm \
+	| tahoe | thumb | tic4x | tic80 | tron \
+	| v850 | v850e \
+	| we32k \
+	| x86 | xscale | xscalee[bl] | xstormy16 | xtensa \
+	| z8k)
 		basic_machine=$basic_machine-unknown
 		;;
-	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | z8k | v70 | h8500 | w65 | pj | pjl)
+	m32c)
+		basic_machine=$basic_machine-unknown
+		;;
+	m6811 | m68hc11 | m6812 | m68hc12)
+		# Motorola 68HC11/12.
+		basic_machine=$basic_machine-unknown
+		os=-none
+		;;
+	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
 		;;
 
 	# We use `pc' rather than `unknown'
 	# because (1) that's what they normally are, and
 	# (2) the word "unknown" tends to confuse beginning users.
-	i[34567]86)
+	i*86 | x86_64)
 	  basic_machine=$basic_machine-pc
 	  ;;
 	# Object if more than one company name word.
@@ -195,24 +299,67 @@
 		exit 1
 		;;
 	# Recognize the basic CPU types with company name.
-	# FIXME: clean up the formatting here.
-	vax-* | tahoe-* | i[34567]86-* | i860-* | ia64-* | m32r-* | m68k-* | m68000-* \
-	      | m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | arm-* | c[123]* \
-	      | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
-	      | power-* | none-* | 580-* | cray2-* | h8300-* | h8500-* | i960-* \
-	      | xmp-* | ymp-* \
-	      | hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* | hppa2.0w-* | hppa2.0n-* \
-	      | alpha-* | alphaev[4-7]-* | alphaev56-* | alphapca5[67]-* \
-	      | we32k-* | cydra-* | ns16k-* | pn-* | np1-* | xps100-* \
-	      | clipper-* | orion-* \
-	      | sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \
-	      | sparc64-* | sparcv9-* | sparc86x-* | mips16-* | mips64-* | mipsel-* \
-	      | mips64el-* | mips64orion-* | mips64orionel-* \
-	      | mips64vr4100-* | mips64vr4100el-* | mips64vr4300-* | mips64vr4300el-* \
-	      | mipstx39-* | mipstx39el-* | mcore-* \
-	      | f301-* | armv*-* | t3e-* \
-	      | m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | d10v-* \
-	      | thumb-* | v850-* | d30v-* | tic30-* | c30-* | fr30-* )
+	580-* \
+	| a29k-* \
+	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
+	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
+	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
+	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
+	| avr-* \
+	| bfin-* | bs2000-* \
+	| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
+	| clipper-* | craynv-* | cydra-* \
+	| d10v-* | d30v-* | dlx-* \
+	| elxsi-* \
+	| f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
+	| h8300-* | h8500-* \
+	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+	| i*86-* | i860-* | i960-* | ia64-* \
+	| ip2k-* | iq2000-* \
+	| m32r-* | m32rle-* \
+	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
+	| m88110-* | m88k-* | maxq-* | mcore-* \
+	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
+	| mips16-* \
+	| mips64-* | mips64el-* \
+	| mips64vr-* | mips64vrel-* \
+	| mips64orion-* | mips64orionel-* \
+	| mips64vr4100-* | mips64vr4100el-* \
+	| mips64vr4300-* | mips64vr4300el-* \
+	| mips64vr5000-* | mips64vr5000el-* \
+	| mips64vr5900-* | mips64vr5900el-* \
+	| mipsisa32-* | mipsisa32el-* \
+	| mipsisa32r2-* | mipsisa32r2el-* \
+	| mipsisa64-* | mipsisa64el-* \
+	| mipsisa64r2-* | mipsisa64r2el-* \
+	| mipsisa64sb1-* | mipsisa64sb1el-* \
+	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
+	| mipstx39-* | mipstx39el-* \
+	| mmix-* \
+	| ms1-* \
+	| msp430-* \
+	| none-* | np1-* | ns16k-* | ns32k-* \
+	| orion-* \
+	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
+	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
+	| pyramid-* \
+	| romp-* | rs6000-* \
+	| sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | shbe-* \
+	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
+	| sparc-* | sparc64-* | sparc64b-* | sparc86x-* | sparclet-* \
+	| sparclite-* \
+	| sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
+	| tahoe-* | thumb-* \
+	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
+	| tron-* \
+	| v850-* | v850e-* | vax-* \
+	| we32k-* \
+	| x86-* | x86_64-* | xps100-* | xscale-* | xscalee[bl]-* \
+	| xstormy16-* | xtensa-* \
+	| ymp-* \
+	| z8k-*)
+		;;
+	m32c-*)
 		;;
 	# Recognize the various machine names and aliases which stand
 	# for a CPU type and a company and sometimes even an OS.
@@ -230,6 +377,9 @@
 		basic_machine=a29k-amd
 		os=-udi
 		;;
+    	abacus)
+		basic_machine=abacus-unknown
+		;;
 	adobe68k)
 		basic_machine=m68010-adobe
 		os=-scout
@@ -244,19 +394,25 @@
 		basic_machine=a29k-none
 		os=-bsd
 		;;
+	amd64)
+		basic_machine=x86_64-pc
+		;;
+	amd64-*)
+		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
 	amdahl)
 		basic_machine=580-amdahl
 		os=-sysv
 		;;
 	amiga | amiga-*)
-		basic_machine=m68k-cbm
+		basic_machine=m68k-unknown
 		;;
 	amigaos | amigados)
-		basic_machine=m68k-cbm
+		basic_machine=m68k-unknown
 		os=-amigaos
 		;;
 	amigaunix | amix)
-		basic_machine=m68k-cbm
+		basic_machine=m68k-unknown
 		os=-sysv4
 		;;
 	apollo68)
@@ -275,6 +431,10 @@
 		basic_machine=ns32k-sequent
 		os=-dynix
 		;;
+	c90)
+		basic_machine=c90-cray
+		os=-unicos
+		;;
 	convex-c1)
 		basic_machine=c1-convex
 		os=-bsd
@@ -295,27 +455,45 @@
 		basic_machine=c38-convex
 		os=-bsd
 		;;
-	cray | ymp)
-		basic_machine=ymp-cray
+	cray | j90)
+		basic_machine=j90-cray
 		os=-unicos
 		;;
-	cray2)
-		basic_machine=cray2-cray
-		os=-unicos
+	craynv)
+		basic_machine=craynv-cray
+		os=-unicosmp
 		;;
-	[ctj]90-cray)
-		basic_machine=c90-cray
-		os=-unicos
+	cr16c)
+		basic_machine=cr16c-unknown
+		os=-elf
 		;;
 	crds | unos)
 		basic_machine=m68k-crds
 		;;
+	crisv32 | crisv32-* | etraxfs*)
+		basic_machine=crisv32-axis
+		;;
+	cris | cris-* | etrax*)
+		basic_machine=cris-axis
+		;;
+	crx)
+		basic_machine=crx-unknown
+		os=-elf
+		;;
 	da30 | da30-*)
 		basic_machine=m68k-da30
 		;;
 	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
 		basic_machine=mips-dec
 		;;
+	decsystem10* | dec10*)
+		basic_machine=pdp10-dec
+		os=-tops10
+		;;
+	decsystem20* | dec20*)
+		basic_machine=pdp10-dec
+		os=-tops20
+		;;
 	delta | 3300 | motorola-3300 | motorola-delta \
 	      | 3300-motorola | delta-motorola)
 		basic_machine=m68k-motorola
@@ -324,6 +502,10 @@
 		basic_machine=m88k-motorola
 		os=-sysv3
 		;;
+	djgpp)
+		basic_machine=i586-pc
+		os=-msdosdjgpp
+		;;
 	dpx20 | dpx20-*)
 		basic_machine=rs6000-bull
 		os=-bosx
@@ -357,6 +539,10 @@
 		basic_machine=tron-gmicro
 		os=-sysv
 		;;
+	go32)
+		basic_machine=i386-pc
+		os=-go32
+		;;
 	h3050r* | hiux*)
 		basic_machine=hppa1.1-hitachi
 		os=-hiuxwe2
@@ -432,19 +618,19 @@
 		basic_machine=i370-ibm
 		;;
 # I'm not sure what "Sysv32" means.  Should this be sysv3.2?
-	i[34567]86v32)
+	i*86v32)
 		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
 		os=-sysv32
 		;;
-	i[34567]86v4*)
+	i*86v4*)
 		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
 		os=-sysv4
 		;;
-	i[34567]86v)
+	i*86v)
 		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
 		os=-sysv
 		;;
-	i[34567]86sol2)
+	i*86sol2)
 		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
 		os=-solaris2
 		;;
@@ -456,17 +642,6 @@
 		basic_machine=i386-unknown
 		os=-vsta
 		;;
-	i386-go32 | go32)
-		basic_machine=i386-unknown
-		os=-go32
-		;;
-	i386-mingw32 | mingw32)
-		basic_machine=i386-unknown
-		os=-mingw32
-		;;
-	i386-qnx | qnx)
-		basic_machine=i386-qnx
-		;;
 	iris | iris4d)
 		basic_machine=mips-sgi
 		case $os in
@@ -492,6 +667,10 @@
 		basic_machine=ns32k-utek
 		os=-sysv
 		;;
+	mingw32)
+		basic_machine=i386-pc
+		os=-mingw32
+		;;
 	miniframe)
 		basic_machine=m68000-convergent
 		;;
@@ -499,14 +678,6 @@
 		basic_machine=m68k-atari
 		os=-mint
 		;;
-	mipsel*-linux*)
-		basic_machine=mipsel-unknown
-		os=-linux-gnu
-		;;
-	mips*-linux*)
-		basic_machine=mips-unknown
-		os=-linux-gnu
-		;;
 	mips3*-*)
 		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
 		;;
@@ -517,8 +688,12 @@
 		basic_machine=m68k-rom68k
 		os=-coff
 		;;
+	morphos)
+		basic_machine=powerpc-unknown
+		os=-morphos
+		;;
 	msdos)
-		basic_machine=i386-unknown
+		basic_machine=i386-pc
 		os=-msdos
 		;;
 	mvs)
@@ -582,13 +757,27 @@
 		basic_machine=i960-intel
 		os=-mon960
 		;;
+	nonstopux)
+		basic_machine=mips-compaq
+		os=-nonstopux
+		;;
 	np1)
 		basic_machine=np1-gould
 		;;
+	nsr-tandem)
+		basic_machine=nsr-tandem
+		;;
 	op50n-* | op60c-*)
 		basic_machine=hppa1.1-oki
 		os=-proelf
 		;;
+	openrisc | openrisc-*)
+		basic_machine=or32-unknown
+		;;
+	os400)
+		basic_machine=powerpc-ibm
+		os=-os400
+		;;
 	OSE68000 | ose68000)
 		basic_machine=m68000-ericsson
 		os=-ose
@@ -611,45 +800,65 @@
 	pbb)
 		basic_machine=m68k-tti
 		;;
-        pc532 | pc532-*)
+	pc532 | pc532-*)
 		basic_machine=ns32k-pc532
 		;;
-	pentium | p5 | k5 | k6 | nexen)
+	pentium | p5 | k5 | k6 | nexgen | viac3)
 		basic_machine=i586-pc
 		;;
-	pentiumpro | p6 | 6x86)
+	pentiumpro | p6 | 6x86 | athlon | athlon_*)
 		basic_machine=i686-pc
 		;;
-	pentiumii | pentium2)
+	pentiumii | pentium2 | pentiumiii | pentium3)
+		basic_machine=i686-pc
+		;;
+	pentium4)
 		basic_machine=i786-pc
 		;;
-	pentium-* | p5-* | k5-* | k6-* | nexen-*)
+	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
 		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
 		;;
-	pentiumpro-* | p6-* | 6x86-*)
+	pentiumpro-* | p6-* | 6x86-* | athlon-*)
+		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
 		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
 		;;
-	pentiumii-* | pentium2-*)
+	pentium4-*)
 		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
 		;;
 	pn)
 		basic_machine=pn-gould
 		;;
-	power)	basic_machine=rs6000-ibm
+	power)	basic_machine=power-ibm
 		;;
 	ppc)	basic_machine=powerpc-unknown
-	        ;;
+		;;
 	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
 		;;
 	ppcle | powerpclittle | ppc-le | powerpc-little)
 		basic_machine=powerpcle-unknown
-	        ;;
+		;;
 	ppcle-* | powerpclittle-*)
 		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
 		;;
+	ppc64)	basic_machine=powerpc64-unknown
+		;;
+	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
+		basic_machine=powerpc64le-unknown
+		;;
+	ppc64le-* | powerpc64little-*)
+		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
 	ps2)
 		basic_machine=i386-ibm
 		;;
+	pw32)
+		basic_machine=i586-unknown
+		os=-pw32
+		;;
 	rom68k)
 		basic_machine=m68k-rom68k
 		os=-coff
@@ -660,10 +869,26 @@
 	rtpc | rtpc-*)
 		basic_machine=romp-ibm
 		;;
+	s390 | s390-*)
+		basic_machine=s390-ibm
+		;;
+	s390x | s390x-*)
+		basic_machine=s390x-ibm
+		;;
 	sa29200)
 		basic_machine=a29k-amd
 		os=-udi
 		;;
+	sb1)
+		basic_machine=mipsisa64sb1-unknown
+		;;
+	sb1el)
+		basic_machine=mipsisa64sb1el-unknown
+		;;
+	sei)
+		basic_machine=mips-sei
+		os=-seiux
+		;;
 	sequent)
 		basic_machine=i386-sequent
 		;;
@@ -671,7 +896,10 @@
 		basic_machine=sh-hitachi
 		os=-hms
 		;;
-	sparclite-wrs)
+	sh64)
+		basic_machine=sh64-unknown
+		;;
+	sparclite-wrs | simso-wrs)
 		basic_machine=sparclite-wrs
 		os=-vxworks
 		;;
@@ -729,23 +957,51 @@
 	sun386 | sun386i | roadrunner)
 		basic_machine=i386-sun
 		;;
+	sv1)
+		basic_machine=sv1-cray
+		os=-unicos
+		;;
 	symmetry)
 		basic_machine=i386-sequent
 		os=-dynix
 		;;
 	t3e)
-		basic_machine=t3e-cray
+		basic_machine=alphaev5-cray
+		os=-unicos
+		;;
+	t90)
+		basic_machine=t90-cray
 		os=-unicos
 		;;
+	tic54x | c54x*)
+		basic_machine=tic54x-unknown
+		os=-coff
+		;;
+	tic55x | c55x*)
+		basic_machine=tic55x-unknown
+		os=-coff
+		;;
+	tic6x | c6x*)
+		basic_machine=tic6x-unknown
+		os=-coff
+		;;
 	tx39)
 		basic_machine=mipstx39-unknown
 		;;
 	tx39el)
 		basic_machine=mipstx39el-unknown
 		;;
+	toad1)
+		basic_machine=pdp10-xkl
+		os=-tops20
+		;;
 	tower | tower-32)
 		basic_machine=m68k-ncr
 		;;
+	tpf)
+		basic_machine=s390x-ibm
+		os=-tpf
+		;;
 	udi29k)
 		basic_machine=a29k-amd
 		os=-udi
@@ -767,8 +1023,8 @@
 		os=-vms
 		;;
 	vpp*|vx|vx-*)
-               basic_machine=f301-fujitsu
-               ;;
+		basic_machine=f301-fujitsu
+		;;
 	vxworks960)
 		basic_machine=i960-wrs
 		os=-vxworks
@@ -789,13 +1045,17 @@
 		basic_machine=hppa1.1-winbond
 		os=-proelf
 		;;
-	xmp)
-		basic_machine=xmp-cray
-		os=-unicos
+	xbox)
+		basic_machine=i686-pc
+		os=-mingw32
 		;;
-        xps | xps100)
+	xps | xps100)
 		basic_machine=xps100-honeywell
 		;;
+	ymp)
+		basic_machine=ymp-cray
+		os=-unicos
+		;;
 	z8k-*-coff)
 		basic_machine=z8k-unknown
 		os=-sim
@@ -816,32 +1076,35 @@
 	op60c)
 		basic_machine=hppa1.1-oki
 		;;
-	mips)
-		if [ x$os = x-linux-gnu ]; then
-			basic_machine=mips-unknown
-		else
-			basic_machine=mips-mips
-		fi
-		;;
 	romp)
 		basic_machine=romp-ibm
 		;;
+	mmix)
+		basic_machine=mmix-knuth
+		;;
 	rs6000)
 		basic_machine=rs6000-ibm
 		;;
 	vax)
 		basic_machine=vax-dec
 		;;
+	pdp10)
+		# there are many clones, so DEC is not a safe bet
+		basic_machine=pdp10-unknown
+		;;
 	pdp11)
 		basic_machine=pdp11-dec
 		;;
 	we32k)
 		basic_machine=we32k-att
 		;;
-	sparc | sparcv9)
+	sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
+		basic_machine=sh-unknown
+		;;
+	sparc | sparcv8 | sparcv9 | sparcv9b)
 		basic_machine=sparc-sun
 		;;
-        cydra)
+	cydra)
 		basic_machine=cydra-cydrome
 		;;
 	orion)
@@ -856,9 +1119,8 @@
 	pmac | pmac-mpw)
 		basic_machine=powerpc-apple
 		;;
-	c4x*)
-		basic_machine=c4x-none
-		os=-coff
+	*-unknown)
+		# Make sure to match an already-canonicalized machine name.
 		;;
 	*)
 		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
@@ -912,22 +1174,47 @@
 	      | -aos* \
 	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
 	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
-	      | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
-	      | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
+	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* | -openbsd* \
+	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
+	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
 	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
 	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+	      | -chorusos* | -chorusrdb* \
 	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
-	      | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
-	      | -interix* | -uwin* | -rhapsody* | -opened* | -openstep* | -oskit*)
+	      | -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \
+	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
+	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
+	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
+	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
+	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
+	      | -skyos* | -haiku*)
 	# Remember, each alternative MUST END IN *, to match a version number.
 		;;
+	-qnx*)
+		case $basic_machine in
+		    x86-* | i*86-*)
+			;;
+		    *)
+			os=-nto$os
+			;;
+		esac
+		;;
+	-nto-qnx*)
+		;;
+	-nto*)
+		os=`echo $os | sed -e 's|nto|nto-qnx|'`
+		;;
 	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
-	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
-	      | -macos* | -mpw* | -magic* | -mon960* | -lnews*)
+	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
+	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
 		;;
 	-mac*)
 		os=`echo $os | sed -e 's|mac|macos|'`
 		;;
+	-linux-dietlibc)
+		os=-linux-dietlibc
+		;;
 	-linux*)
 		os=`echo $os | sed -e 's|linux|linux-gnu|'`
 		;;
@@ -940,6 +1227,12 @@
 	-opened*)
 		os=-openedition
 		;;
+        -os400*)
+		os=-os400
+		;;
+	-wince*)
+		os=-wince
+		;;
 	-osfrose*)
 		os=-osfrose
 		;;
@@ -955,14 +1248,26 @@
 	-acis*)
 		os=-aos
 		;;
+	-atheos*)
+		os=-atheos
+		;;
+	-syllable*)
+		os=-syllable
+		;;
 	-386bsd)
 		os=-bsd
 		;;
 	-ctix* | -uts*)
 		os=-sysv
 		;;
+	-nova*)
+		os=-rtmk-nova
+		;;
 	-ns2 )
-	        os=-nextstep2
+		os=-nextstep2
+		;;
+	-nsk*)
+		os=-nsk
 		;;
 	# Preserve the version number of sinix5.
 	-sinix5.*)
@@ -971,15 +1276,15 @@
 	-sinix*)
 		os=-sysv4
 		;;
+        -tpf*)
+		os=-tpf
+		;;
 	-triton*)
 		os=-sysv3
 		;;
 	-oss*)
 		os=-sysv3
 		;;
-        -qnx)
-		os=-qnx4
-		;;
 	-svr4)
 		os=-sysv4
 		;;
@@ -1001,8 +1306,17 @@
 	-xenix)
 		os=-xenix
 		;;
-        -*mint | -*MiNT)
-	        os=-mint
+	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+		os=-mint
+		;;
+	-aros*)
+		os=-aros
+		;;
+	-kaos*)
+		os=-kaos
+		;;
+	-zvmoe)
+		os=-zvmoe
 		;;
 	-none)
 		;;
@@ -1035,7 +1349,14 @@
 	arm*-semi)
 		os=-aout
 		;;
-        pdp11-*)
+    c4x-* | tic4x-*)
+        os=-coff
+        ;;
+	# This must come before the *-dec entry.
+	pdp10-*)
+		os=-tops20
+		;;
+	pdp11-*)
 		os=-none
 		;;
 	*-dec | vax-*)
@@ -1062,6 +1383,9 @@
 	mips*-*)
 		os=-elf
 		;;
+	or32-*)
+		os=-coff
+		;;
 	*-tti)	# must be before sparc entry or we get the wrong os.
 		os=-sysv3
 		;;
@@ -1071,9 +1395,15 @@
 	*-be)
 		os=-beos
 		;;
+	*-haiku)
+		os=-haiku
+		;;
 	*-ibm)
 		os=-aix
 		;;
+    	*-knuth)
+		os=-mmixware
+		;;
 	*-wec)
 		os=-proelf
 		;;
@@ -1125,25 +1455,25 @@
 	*-next)
 		os=-nextstep3
 		;;
-        *-gould)
+	*-gould)
 		os=-sysv
 		;;
-        *-highlevel)
+	*-highlevel)
 		os=-bsd
 		;;
 	*-encore)
 		os=-bsd
 		;;
-        *-sgi)
+	*-sgi)
 		os=-irix
 		;;
-        *-siemens)
+	*-siemens)
 		os=-sysv4
 		;;
 	*-masscomp)
 		os=-rtu
 		;;
-	f301-fujitsu)
+	f30[01]-fujitsu | f700-fujitsu)
 		os=-uxpv
 		;;
 	*-rom68k)
@@ -1206,10 +1536,16 @@
 			-mvs* | -opened*)
 				vendor=ibm
 				;;
+			-os400*)
+				vendor=ibm
+				;;
 			-ptx*)
 				vendor=sequent
 				;;
-			-vxsim* | -vxworks*)
+			-tpf*)
+				vendor=ibm
+				;;
+			-vxsim* | -vxworks* | -windiss*)
 				vendor=wrs
 				;;
 			-aux*)
@@ -1221,12 +1557,23 @@
 			-mpw* | -macos*)
 				vendor=apple
 				;;
-			-*mint | -*MiNT)
+			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
 				vendor=atari
 				;;
+			-vos*)
+				vendor=stratus
+				;;
 		esac
 		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
 		;;
 esac
 
 echo $basic_machine$os
+exit
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:

Added contrib/libfame/libfame-0.9.1-gcc34-1.patch.

































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Submitted By:            Randy McMurchy <randy_at_linuxfromscratch_dot_org>
Date:                    2004-09-04
Initial Package Version: 0.9.1
Upstream Status:         Not submitted 
Origin:                  Randy McMurchy
Description:             Fixes libfame library when compiled with GCC-3.4.x

diff -Naur libfame-0.9.1-orig/src/half_mmx.h libfame-0.9.1/src/half_mmx.h
--- libfame-0.9.1-orig/src/half_mmx.h	2002-04-30 18:04:02.000000000 +0000
+++ libfame-0.9.1/src/half_mmx.h	2004-09-05 03:49:09.666845896 +0000
@@ -18,7 +18,7 @@
 */
 /**************************** half-pixel interpolation ***********************/
 
-static short const _mmx_one[] = { 1, 1, 1, 1 };
+const _mmx_one[] = { 1, 1, 1, 1 };
 
 static void inline mmx_interpolate(unsigned char **ref,
 				   int pitch,

diff -Naur libfame-0.9.1-orig/src/half_sse.h libfame-0.9.1/src/half_sse.h
--- libfame-0.9.1-orig/src/half_sse.h	2002-01-27 02:24:56.000000000 +0000
+++ libfame-0.9.1/src/half_sse.h	2004-09-05 03:49:39.894250632 +0000
@@ -19,7 +19,7 @@
 */
 /**************************** half-pixel interpolation ***********************/
 
-static short const _mmx_one[] = { 1, 1, 1, 1 };
+const _mmx_one[] = { 1, 1, 1, 1 };
 static unsigned char const _mmx_one_byte[] = {1,1,1,1,1,1,1,1};
 
 

Added contrib/libfm/Pkgfile.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Description: gtk library for writing file managers
# URL:         http://pcmanfm.sourceforge.net/
# Maintainer:  Bartlomiej Palmowski, rotwang at crux dot org dot pl
# Depends on:  gtk menu-cache intltool xorg-libxdamage

name=libfm
version=0.1.17
release=1
source=("http://ftp.jaist.ac.jp/pub/sourceforge/p/project/pc/pcmanfm/PCManFM%20+%20Libfm%20(tarball%20release)/libfm%20(required%20by%20PCManFM)/$name-$version.tar.gz")

build() {
    cd $name-$version
    ./configure \
        --prefix=/usr \
        --disable-nls \
        --disable-static \
        --sysconfdir=/etc \
        --disable-gtk-doc-html
    make
    make DESTDIR=$PKG install
    rm -rf $PKG/usr/share/locale
    rm -rf $PKG/usr/share/gtk-doc
}

Added contrib/libmatroska/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: An extensible open standard Audio/Video container format library.
# URL: http://www.bunkus.org/videotools/mkvtoolnix/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Brett Goulder, predatorfreak at dcaf-security dot org
# Depends on: libebml

name=libmatroska
version=1.3.0
release=1
source=(http://www.bunkus.org/videotools/mkvtoolnix/sources/$name-$version.tar.bz2)

build() {
	cd $name-$version/make/linux
	make
	make -e prefix=$PKG/usr install
}

Added contrib/libmcrypt/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: A replacement for the old crypt() package.
# URL: http://mcrypt.sourceforge.net/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Younes Hafri, ycrux at club-internet dot fr

name=libmcrypt
version=2.5.8
release=2
source=(http://downloads.sourceforge.net/project/mcrypt/Libmcrypt/$version/$name-$version.tar.gz)

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--disable-posix-threads

	make DESTDIR=$PKG install
}

Added contrib/libmikmod/Pkgfile.































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# Description: A library which supports many formats, including: mod, s3m, it, and xm.
# URL: http://mikmod.raphnet.net/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Daniel Mueller, daniel at danm dot de
# Depends on: alsa-lib

name=libmikmod
version=3.1.12
release=1
source=(http://downloads.sourceforge.net/project/mikmod/libmikmod%20%28source%29/$version/$name-$version.tar.gz)

build(){
	cd $name-$version

	sed -i docs/Makefile.in \
		-e 's|^INFO_DEPS = .*|INFO_DEPS =|g'
	
	./configure \
		--prefix=/usr \
		--enable-alsa \
		--disable-static \
		--disable-esd \
		--disable-oss \
		--disable-dependency-tracking

	make
	make DESTDIR=$PKG install

	chmod a+x $PKG/usr/lib/*.la
	rm -r $PKG/usr/info
}

Added contrib/libmms/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: LibMMS aims to be common mms:// and mmsh:// (Microsoft streaming protocols) parsing library.
# URL: http://sourceforge.net/projects/libmms/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com
# Depends on: glib

name=libmms
version=0.6.2
release=1
source=(http://downloads.sourceforge.net/project/$name/$name/$version/$name-$version.tar.gz)

build() {
	cd $name-$version
	./configure --prefix=/usr
	make
	make DESTDIR=$PKG install	
}

Added contrib/libmnl/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: A minimalistic user-space library oriented to Netlink developers.
# URL: http://netfilter.org/projects/libmnl/index.html
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com
# Depends on: libnfnetlink

name=libmnl
version=1.0.2
release=1
source=(http://www.netfilter.org/projects/$name/files/$name-$version.tar.bz2)

build() {
    cd $name-$version

    ./configure \
	 	--prefix=/usr \
		--disable-static

    make
    make DESTDIR=$PKG install
}

Added contrib/libmodplug/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: Library for playing module music.
# URL: http://modplug-xmms.sourceforge.net/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Jukka Heino, vector at pp dot nic dot fi 

name=libmodplug
version=0.8.8.4
release=1
source=(http://downloads.sourceforge.net/project/modplug-xmms/$name/$version/$name-$version.tar.gz)

build() {
	cd $name-$version
	./configure --prefix=/usr
	make
	make DESTDIR=$PKG install 
}

Added contrib/libmp4v2/Pkgfile.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Description: A library to provide an API to MPEG-4 files.
# URL: http://code.google.com/p/mp4v2/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Matt Housh, jaeger at morpheus dot net
# Depends on:

name=libmp4v2
version=1.9.1
release=1
source=(http://mp4v2.googlecode.com/files/mp4v2-$version.tar.bz2)

build() {
	cd mp4v2-$version

	./configure \
		--prefix=/usr \
		--mandir=/usr/man \
		--disable-static \
		--disable-gch

	make
	make DESTDIR=$PKG install
}

Added contrib/libmpcdec/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description: Encoder, Decoder and replaygain for Musepack audio streams.
# URL: http://www.musepack.net/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Jukka Heino, vector at pp dot nic dot fi
# Depends on: nasm

name=libmpcdec
version=1.2.6
release=1
source=(http://files.musepack.net/source/libmpcdec-$version.tar.bz2)

build() {
	cd libmpcdec-$version

	./configure \
		--prefix=/usr \
		--disable-static

	make
	make DESTDIR=$PKG install
}

Added contrib/libmpdclient/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: Library for the Command line MPD client
# URL: http://www.musicpd.org/mpc.shtml
# Maintainer:  Thomas Penteker, tek at serverop dot de

name=libmpdclient
version=2.7
release=1
source=(http://download.sourceforge.net/musicpd/$name/$version/$name-$version.tar.bz2)

build() {
  cd $name-$version

  ./configure \
      --prefix=/usr \
      --mandir=/usr/man
  make
  make DESTDIR=$PKG install

  rm -rf $PKG/usr/share
}

Added contrib/libnet/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: Library for constructing and injecting network packets
# URL:         http://www.packetfactory.net/libnet/
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Depends on:

name=libnet
version=1.1.2.1
release=2
source=(ftp://ftp.eenet.ee/pub/FreeBSD/distfiles/$name-$version.tar.gz)

build() {
    cd $name
    export CFLAGS=$CFLAGS" -fPIC" 

    ./configure --prefix=/usr
    sed -i 's/ sample//g' Makefile
    make
    make DESTDIR=$PKG install
    install -D -m 755 libnet-config $PKG/usr/bin/libnet-config
}

Added contrib/libnetfilter_conntrack/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: Library providing a API to the in-kernel connection tracking state table.
# URL: http://www.netfilter.org/projects/libnetfilter_conntrack
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Jurgen Daubert, juergen dot daubert at t-online dot de
# Depends on: libnfnetlink

name=libnetfilter_conntrack
version=1.0.0
release=1
source=(http://www.netfilter.org/projects/$name/files/$name-$version.tar.bz2)

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--disable-static

	make
	make DESTDIR=$PKG install
}

Added contrib/libnetfilter_log/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: A userspace library providing interface to packets that have been logged by the kernel packet filter.
# URL: http://netfilter.org/projects/libnetfilter_log/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Jose V Beneyto, sepen at users dot sourceforge dot net
# Depends on: libnfnetlink

name=libnetfilter_log
version=1.0.1
release=1
source=(http://www.netfilter.org/projects/$name/files/$name-$version.tar.bz2)

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--disable-static

	make
	make DESTDIR=$PKG install
}

Added contrib/libnetfilter_queue/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: API for packets queued by the kernel packet filter.
# URL: http://www.netfilter.org/projects/libnetfilter_queue/index.html
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Nathan Pardoe, lithium at poolofrandomness dot com
# Depends on: libnfnetlink

name=libnetfilter_queue
version=1.0.1
release=1
source=(http://www.netfilter.org/projects/$name/files/$name-$version.tar.bz2)

build() {
    cd $name-$version

    ./configure \
	 	--prefix=/usr \
		--disable-static

    make
    make DESTDIR=$PKG install
}

Added contrib/libnfnetlink/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: Netfilter kernel/userspace communication library.
# URL: http://www.netfilter.org/projects/libnfnetlink/index.html
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Nathan Pardoe, lithium at poolofrandomness dot com

name=libnfnetlink
version=1.0.0
release=1
source=(http://www.netfilter.org/projects/$name/files/$name-$version.tar.bz2)

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--disable-static

	make
	make DESTDIR=$PKG install
}

Added contrib/libnids/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: implementation of a Network Intrusion Detection System
# URL:         http://libnids.sf.net
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Depends on:  glib, libnet, libpcap

name=libnids
version=1.24
release=1
source=(http://download.sourceforge.net/libnids/$name-$version.tar.gz)

build() {
    cd  $name-$version
    ./configure --prefix=/usr
    make
    install -m 644 -D src/libnids.a $PKG/usr/lib/libnids.a
    install -m 644 -D src/nids.h $PKG/usr/include/nids.h
}

Added contrib/libquicktime/Pkgfile.



















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# Description: A library based on quicktime4linux with extensions.
# URL: http://libquicktime.sourceforge.net/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Younes Hafri, ycrux at club-internet dot fr
# Depends on: ffmpeg gtk libdv schroedinger util-linux-ng xorg-libxaw

name=libquicktime
version=1.2.4
release=1
source=(http://downloads.sourceforge.net/project/$name/$name/$version/$name-$version.tar.gz)

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--mandir=/usr/man \
		--enable-gpl \
		--disable-nls \
		--with-libdv \
		--without-doxygen

	make
	make DESTDIR=$PKG install
}

Added contrib/libreoffice/Pkgfile.













































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# Description: full featured cross platform office suite (binary)
# URL: http://www.libreoffice.org
# Maintainer: Bartlomiej Palmowski, rotwang at crux dot org dot pl
# Depends on: mesa3d xorg-libxaw xorg-libxcursor xorg-libxft xorg-libxinerama xorg-libxi xorg-libxrandr

name=libreoffice
version=3.4.5
release=1
#http://download.documentfoundation.org/libreoffice/stable/3.5.0/rpm/
source=(http://ftp.tu-chemnitz.de/pub/tdf/$name/stable/$version/rpm/x86/LibO_${version}_Linux_x86_install-rpm_en-US.tar.gz)

build() {
    local workd="$SRC/tmp_work"
    mkdir $workd

    cd LibO*/RPMS
    for rpm in *.rpm; do
        bsdtar -p -o -C $workd -xf $rpm
    done
    cd desktop-integration
    bsdtar -p -o -C $workd -xf \
        $name${version%.*}-freedesktop-menus-${version%.*}-*.noarch.rpm

    cd $workd
    mkdir -p $PKG/usr/lib/$name
    mv opt/$name*/* $PKG/usr/lib/$name

    cd $PKG/usr/lib/$name
    ln -sf basis${version%.*} basis-link

    mkdir -p $PKG/usr/bin
    local programs=(sbase scalc sdraw simpress smath soffice spadmin swriter)
    for program in ${programs[@]}; do
        ln -sf /usr/lib/$name/program/$program $PKG/usr/bin/$program
    done

    mkdir -p $PKG/usr/share/applications
    cd $PKG/usr/lib/$name/share/xdg/
    sed -i '/^Exec=/s/libreoffice-printeradmin/spadmin/' printeradmin.desktop
    for desktop in *.desktop; do
       sed -i '/^Exec=/s/libreoffice[^ ]*/soffice/' $desktop
       ln -sf /usr/lib/$name/share/xdg/$desktop $PKG/usr/share/applications/$desktop 
    done
    mv $workd/usr/share/{mime,icons} $PKG/usr/share

    find $PKG \(\
        -iname '*readme*' -o \
        -iname '*changelog*' -o \
        -name '*TODO*' -o \
        -iname '*news*' -o \
        -iname '*license*' -o \
        -iname '*credits*' \
     \) -exec rm -rf '{}' \; || true
}

Added contrib/libreoffice/post-install.











>
>
>
>
>
1
2
3
4
5
#!/bin/bash
set -x
update-mime-database /usr/share/mime
update-desktop-database
gtk-update-icon-cache /usr/share/icons/hicolor/

Added contrib/libsamplerate/Pkgfile.























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# Description: Sound sample rate conversion library.
# URL: http://www.mega-nerd.com/SRC/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Martin Opel, mo at obbl-net dot de
# Depends on: libsndfile
# Optional: fftw

name=libsamplerate
version=0.1.8
release=1
source=(http://www.mega-nerd.com/SRC/$name-$version.tar.gz)

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--mandir=/usr/man \
		--disable-gcc-pipe \
		--disable-dependency-tracking

	make
	make DESTDIR=$PKG install

	rm -r $PKG/usr/share/doc
	rmdir $PKG/usr/share
}

Added contrib/libshout/Pkgfile.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Description: Library for communicating with an icecast server.
# URL: http://www.icecast.org/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Han Boetes, han at mijncomputer dot nl
# Depends on: libvorbis

name=libshout
version=2.3.0
release=1
source=(http://downloads.us.xiph.org/releases/$name/$name-$version.tar.gz)

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--disable-nls

	make
	make install DESTDIR=$PKG
	rm -r $PKG/usr/share/doc/
}

Added contrib/libsigc++/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: A callback framework for C++.
# URL: http://libsigc.sourceforge.net/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Han Boetes, han mijncomputer dot nl

name=libsigc++
version=2.2.10
release=1
source=(http://ftp.gnome.org/pub/GNOME/sources/libsigc++/${version%.*}/libsigc++-$version.tar.bz2)

build() {
	cd libsigc++-$version
	./configure --prefix=/usr
	make
	make install DESTDIR=$PKG
	rm -r $PKG/usr/share
}

Added contrib/libsndfile/Pkgfile.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Description: Library for manipulating sound files.
# URL: http://www.mega-nerd.com/libsndfile
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Jay Dolan, jdolan at jdolan dot dyndns dot org
# Depends on: flac alsa-lib libvorbis

name=libsndfile
version=1.0.25
release=1
source=(http://www.mega-nerd.com/$name/files/$name-$version.tar.gz)

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--mandir=/usr/man \
		--disable-static

	make
	make DESTDIR=$PKG install
	rm -r $PKG/usr/share/doc
	rmdir $PKG/usr/share
}

Added contrib/libsoup/Pkgfile.





















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# Description: HTTP library implementation in C.
# URL: http://live.gnome.org/LibSoup
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Matt Housh, jaeger at morpheus dot net
# Depends on: glib libxml2 glib-networking

name=libsoup
version=2.34.3
release=1
source=(http://ftp.gnome.org/pub/GNOME/sources/$name/${version%.*}/$name-$version.tar.bz2)

build() {
	cd $name-$version

	# remove gtk-doc
	sed -i -e "/^SUBDIRS = /s/docs//" Makefile.in

	./configure \
		--prefix=/usr \
		--enable-debug=no \
		--disable-static \
		--without-gnome

	make
	make DESTDIR=$PKG install
}

Added contrib/libtorrent-rasterbar/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description: A C++ bittorrent library designed to run on anything from embedded systems to large scale seed servers.
# URL: http://code.google.com/p/libtorrent/
# Packager: Danny Rawlins, monster dot romster at gmail dot com
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Depends on: boost

name=libtorrent-rasterbar
version=0.16.0
release=1
source=(http://libtorrent.googlecode.com/files/$name-$version.tar.gz)

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--enable-python-binding

	make
	make DESTDIR=$PKG install
	find $PKG -name '*.egg-info' | xargs rm -rf
}

Added contrib/libtorrent/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: torrent library
# URL:         http://libtorrent.rakshasa.no
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Depends on:  libsigc++ curl

name=libtorrent
version=0.13.1
release=1
source=(http://libtorrent.rakshasa.no/downloads/libtorrent-$version.tar.gz)

build() {
  cd $name-$version
  ./configure --prefix=/usr
  make
  make install DESTDIR=$PKG
}

Added contrib/libva/Pkgfile.



















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# Description: Video Acceleration API to enable hardware accelerated video decode/encode.
# URL: http://freedesktop.org/wiki/Software/vaapi
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: mesa3d xorg-libpciaccess

name=libva
version=1.0.15
release=1
source=(http://www.hvlinux.net/crux/distfiles/$name/$name-$version.tar.bz2)

build() {
	cd $name-$version

	autoreconf -fi

	./configure \
		--prefix=/usr \
		--enable-i965-driver \
        	--enable-glx \
		--disable-dependency-tracking

	make
	make DESTDIR=$PKG install
}

Added contrib/libvdpau/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description: Video Decode and Presentation API for Unix provides a complete solution for decoding, post-processing, compositing, and displaying compressed or uncompressed video streams.
# URL: http://http.download.nvidia.com/XFree86/vdpau/doxygen/html/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com
# Depends on: xorg-libxext

name=libvdpau
version=0.4.1
release=1
source=(http://people.freedesktop.org/~aplattner/vdpau/$name-$version.tar.gz)

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--mandir=/usr/man \
		--disable-dependency-tracking

	make
	make DESTDIR=$PKG install
}

Added contrib/libwmf/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description:	Library to convert WMF files.
# URL:	http://wvware.sourceforge.net/
# Maintainer:	Alan Mizrahi, alan at mizrahi dot com dot ve
# Depends on:	libgd, freetype

name=libwmf
version=0.2.8.4
release=1
source=(http://download.sourceforge.net/sourceforge/wvware/$name-$version.tar.gz)

build() {
        cd $name-$version
        ./configure --prefix=/usr
        make
        make DESTDIR=$PKG install
	rm -rf $PKG/usr/share/doc
}

Added contrib/libxdg-basedir/Pkgfile.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Description: The XDG Base Directory Specification (implementation)
# URL:         http://n.ethz.ch/student/nevillm/download/libxdg-basedir
# Maintainer:  Bartlomiej Palmowski, rotwang at crux dot org dot pl

name=libxdg-basedir
version=1.2.0
release=1
source=(http://n.ethz.ch/~nevillm/download/$name/$name-$version.tar.gz)

build() {
    cd $name-$version
    ./configure --prefix=/usr --disable-static
    make
    make DESTDIR=$PKG install
}

Added contrib/libzrtpcpp/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description:	Secure RTP library
# URL:	http://wiki.gnutelephony.org/index.php/Secure_Call
# Maintainer:	Alan Mizrahi, alan at mizrahi dot com dot ve
# Depends on:	ccrtp

name=libzrtpcpp
version=1.4.3
release=1
source=(http://ftp.gnu.org/pub/gnu/ccrtp/$name-$version.tar.gz)

build () {
	cd $name-$version
	./configure --prefix=/usr
	make
	make DESTDIR=$PKG install
}

Added contrib/lighttpd/Pkgfile.



























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# Description: Secure, fast, compliant and very flexible web server
# URL: http://www.lighttpd.net/
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager: Jukka Heino, jukka dot heino at gmail dot com
# Depends on: libpcre

name=lighttpd
version=1.4.30
release=1
source=(http://download.$name.net/$name/releases-1.4.x/$name-$version.tar.bz2 \
        $name.conf \
        $name.rc)

build() {
    cd $name-$version
    ./configure --prefix=/usr --libdir=/usr/lib/$name --with-openssl \
        --mandir=/usr/man --with-pcre
    make
    make DESTDIR=$PKG install

    install -D -m 644 $SRC/$name.conf $PKG/etc/$name.conf
    install -D -m 755 $SRC/$name.rc $PKG/etc/rc.d/$name
    install -d $PKG/var/www/{htdocs,logs}
    install -d $PKG/var/run
    install -d $PKG/etc/ssl/certs
    touch $PKG/var/run/lighttpd.pid
    touch $PKG/etc/ssl/certs/lighttpd.pem
    chmod 0600 $PKG/etc/ssl/certs/lighttpd.pem
}

Added contrib/lighttpd/README.





















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
REQUIREMENTS

PRE-INSTALL

POST-INSTALL

lighttpd runs as a different user ('lighttpd') by default for security reasons.
Do the following after installing the port:

  useradd -s /bin/false lighttpd
  groupadd lighttpd
  touch /var/www/logs/access_log
  touch /var/www/logs/error_log
  chown lighttpd:lighttpd /var/www/logs/*

If you wish to enable SSL support, uncomment the relevant lines in 
/etc/lighttpd.conf and generate a self-signed certificate:

  openssl req -new -x509 \
  -keyout /etc/ssl/certs/lighttpd.pem -out /etc/ssl/certs/lighttpd.pem \
  -days 365 -nodes

PRECAUTION

As of lighttpd 1.4.23 spawn-fcgi was removed and is now provided as a separate
project at http://redmine.lighttpd.net/projects/spawn-fcgi

Added contrib/lighttpd/lighttpd.conf.

























































































































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
#
# /etc/lighttpd.conf: lighttpd(1) configuration
#

# to use mod_rewrite you have to compile lighttpd with libpcre installed
server.modules = ("mod_accesslog")

server.port = 80
server.username = "lighttpd"
server.groupname = "lighttpd"
server.pid-file = "/var/run/lighttpd.pid"

# ssl support
#server.port = 443
#ssl.engine = "enable"
#ssl.pemfile = "/etc/ssl/certs/lighttpd.pem"

# chrooted operation
server.chroot = "/var/www"
server.document-root = "/htdocs"
server.errorlog = "/logs/error_log"
accesslog.filename = "/logs/access_log"

# non-chrooted operation
#server.document-root = "/var/www/htdocs"
#server.errorlog = "/var/www/logs/error_log"
#accesslog.filename = "/var/www/logs/access_log"

server.dir-listing = "enable"
server.indexfiles = ("index.html", "index.htm", "default.htm")

mimetype.assign = (
	".ai" => "application/postscript",
	".aif" => "audio/x-aiff",
	".aifc" => "audio/x-aiff",
	".aiff" => "audio/x-aiff",
	".arj" => "application/x-arj-compressed",
	".asc" => "text/plain",
	".atom" => "application/atom+xml",
	".au" => "audio/ulaw",
	".avi" => "video/x-msvideo",
	".bat" => "application/x-msdos-program",
	".bcpio" => "application/x-bcpio",
	".bin" => "application/octet-stream",
	".bmp" => "image/bmp",
	".cdf" => "application/x-netcdf",
	".cgm" => "image/cgm",
	".class" => "application/octet-stream",
	".com" => "application/x-msdos-program",
	".cpio" => "application/x-cpio",
	".cpt" => "application/mac-compactpro",
	".csh" => "application/x-csh",
	".css" => "text/css",
	".dcr" => "application/x-director",
	".deb" => "application/x-debian-package",
	".dir" => "application/x-director",
	".djv" => "image/vnd.djvu",
	".djvu" => "image/vnd.djvu",
	".dl" => "video/dl",
	".dll" => "application/octet-stream",
	".dmg" => "application/octet-stream",
	".dms" => "application/octet-stream",
	".doc" => "application/msword",
	".dtd" => "application/xml-dtd",
	".dvi" => "application/x-dvi",
	".dxr" => "application/x-director",
	".eps" => "application/postscript",
	".etx" => "text/x-setext",
	".exe" => "application/x-msdos-program",
	".ez" => "application/andrew-inset",
	".fli" => "video/fli",
	".gif" => "image/gif",
	".gl" => "video/gl",
	".gram" => "application/srgs",
	".grxml" => "application/srgs+xml",
	".gtar" => "application/x-gtar",
	".tar.gz" => "application/x-tar-gz",
	".gz" => "application/x-gunzip",
	".hdf" => "application/x-hdf",
	".hqx" => "application/mac-binhex40",
	".htm" => "text/html",
	".html" => "text/html",
	".ice" => "x-conference/x-cooltalk",
	".ico" => "image/x-icon",
	".ics" => "text/calendar",
	".ief" => "image/ief",
	".ifb" => "text/calendar",
	".iges" => "model/iges",
	".igs" => "model/iges",
	".jpe" => "image/jpeg",
	".jpeg" => "image/jpeg",
	".jpg" => "image/jpeg",
	".js" => "application/x-javascript",
	".kar" => "audio/midi",
	".latex" => "application/x-latex",
	".lha" => "application/octet-stream",
	".lzh" => "application/octet-stream",
	".m3u" => "audio/x-mpegurl",
	".m4u" => "video/vnd.mpegurl",
	".man" => "application/x-troff-man",
	".mathml" => "application/mathml+xml",
	".me" => "application/x-troff-me",
	".mesh" => "model/mesh",
	".mid" => "audio/midi",
	".midi" => "audio/midi",
	".mif" => "application/x-mif",
	".mov" => "video/quicktime",
	".movie" => "video/x-sgi-movie",
	".mp2" => "video/mpeg",
	".mp3" => "audio/mpeg",
	".mpe" => "video/mpeg",
	".mpeg" => "video/mpeg",
	".mpg" => "video/mpeg",
	".mpga" => "audio/mpeg",
	".ms" => "application/x-troff-ms",
	".msh" => "model/mesh",
	".mxu" => "video/vnd.mpegurl",
	".nc" => "application/x-netcdf",
	".oda" => "application/oda",
	".ogg" => "application/ogg",
	".pbm" => "image/x-portable-bitmap",
	".pdb" => "chemical/x-pdb",
	".pdf" => "application/pdf",
	".pgm" => "image/x-portable-graymap",
	".pgn" => "application/x-chess-pgn",
	".pgp" => "application/pgp",
	".pl" => "application/x-perl",
	".pm" => "application/x-perl",
	".png" => "image/png",
	".pnm" => "image/x-portable-anymap",
	".ppm" => "image/x-portable-pixmap",
	".ppt" => "application/vnd.ms-powerpoint",
	".ps" => "application/postscript",
	".qt" => "video/quicktime",
	".ra" => "audio/x-pn-realaudio",
	".ram" => "audio/x-pn-realaudio",
	".rar" => "application/x-rar-compressed",
	".ras" => "image/x-cmu-raster",
	".rdf" => "application/rdf+xml",
	".rgb" => "image/x-rgb",
	".rm" => "application/vnd.rn-realmedia",
	".roff" => "application/x-troff",
	".rtf" => "application/rtf",
	".rtx" => "text/richtext",
	".sgm" => "text/sgml",
	".sgml" => "text/sgml",
	".sh" => "application/x-sh",
	".shar" => "application/x-shar",
	".silo" => "model/mesh",
	".sit" => "application/x-stuffit",
	".skd" => "application/x-koan",
	".skm" => "application/x-koan",
	".skp" => "application/x-koan",
	".skt" => "application/x-koan",
	".smi" => "application/smil",
	".smil" => "application/smil",
	".snd" => "audio/basic",
	".so" => "application/octet-stream",
	".spl" => "application/x-futuresplash",
	".src" => "application/x-wais-source",
	".sv4cpio" => "application/x-sv4cpio",
	".sv4crc" => "application/x-sv4crc",
	".svg" => "image/svg+xml",
	".swf" => "application/x-shockwave-flash",
	".t" => "application/x-troff",
	".tar" => "application/x-tar",
	".tcl" => "application/x-tcl",
	".tex" => "application/x-tex",
	".texi" => "application/x-texinfo",
	".texinfo" => "application/x-texinfo",
	".tgz" => "application/x-tar-gz",
	".tif" => "image/tiff",
	".tiff" => "image/tiff",
	".tr" => "application/x-troff",
	".tsv" => "text/tab-separated-values",
	".txt" => "text/plain",
	".ustar" => "application/x-ustar",
	".vcd" => "application/x-cdlink",
	".vrm" => "x-world/x-vrml",
	".vrml" => "x-world/x-vrml",
	".vxml" => "application/voicexml+xml",
	".wav" => "audio/x-wav",
	".wbmp" => "image/vnd.wap.wbmp",
	".wbxml" => "application/vnd.wap.wbxml",
	".wml" => "text/vnd.wap.wml",
	".wmlc" => "application/vnd.wap.wmlc",
	".wmls" => "text/vnd.wap.wmlscript",
	".wmlsc" => "application/vnd.wap.wmlscriptc",
	".wrl" => "x-world/x-vrml",
	".xbm" => "image/x-xbitmap",
	".xht" => "application/xhtml+xml",
	".xhtml" => "application/xhtml+xml",
	".xls" => "application/excel",
	".xml" => "application/xml",
	".xpm" => "image/x-xpixmap",
	".xsl" => "application/xml",
	".xslt" => "application/xslt+xml",
	".xul" => "application/vnd.mozilla.xul+xml",
	".xwd" => "image/x-xwindowdump",
	".xyz" => "chemical/x-xyz",
	".zip" => "application/x-zip-compressed"
)

# End of file

Added contrib/lighttpd/lighttpd.rc.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/bin/sh
#
# /etc/rc.d/lighttpd: start/stop lighttpd daemon
#

case $1 in
start)
  /usr/sbin/lighttpd -f /etc/lighttpd.conf
  ;;
stop)
  rm -f /var/run/lighttpd.pid
  killall -q /usr/sbin/lighttpd
  ;;
restart)
  $0 stop
  sleep 2
  $0 start
  ;;
*)
  echo "usage: $0 [start|stop|restart]"
  ;;
esac

# End of file

Added contrib/lincity-ng/Pkgfile.























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# Description: Polished and improved version of the classic LinCity game.
# URL: http://www.libregamewiki.org/LinCity-NG
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Mark Rosenstand, mark at borkware dot net
# Depends on: jam physfs sdl_gfx sdl_image sdl_mixer sdl_ttf

name=lincity-ng
version=2.0
release=1
source=(http://www.hvlinux.net/crux/distfiles/$name/$name-$version.tar.bz2)

build() {
	cd $name-$version
	local JOBS="$(sed -e 's/.*\(\-j[ 0-9]\+\) \{0,1\}.*/\1/' <<< $MAKEFLAGS)"

	./configure \
		--prefix=/usr \
		--disable-nls

	jam $JOBS
	jam -sprefix=$PKG/usr install

	rm -r \
		$PKG/usr/share/doc \
		$PKG/usr/share/lincity-ng/locale \
		$PKG/usr/share/lincity-ng/help/{ca,cs,de,es,fr,gl,nl,pt_BR,ru,sv,tr}
}

Added contrib/linux-pam/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description:	Linux-PAM (Pluggable Authentication Modules for Linux)
# URL:		http://www.us.kernel.org/pub/linux/libs/pam/
# Maintainer:	Alan Mizrahi, alan at mizrahi dot com dot ve

name=linux-pam
version=1.1.4
release=1
source=(http://www.mizrahi.com.ve/crux/dist/Linux-PAM-$version.tar.bz2 pam.conf)

build() {
	cd Linux-PAM-$version

	./configure --sysconfdir=/etc --prefix=/usr --mandir=/usr/man --disable-nls
	make
	make DESTDIR=$PKG install
	rm -rf $PKG/usr/share $PKG/lib/*.la $PKG/lib/security/*.la
	install -D -m 644 $SRC/pam.conf $PKG/etc/pam.conf
}

Added contrib/linux-pam/README.

























>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
REQUIREMENTS

PRE-INSTALL

POST-INSTALL

	* You might want to rebuild some pam-aware packages:
	ssh, samba, shadow, kde, ftpd, imapd, pop3d, etc

PRECAUTION
	
	* Please review the provided pam.conf configuration.

Added contrib/linux-pam/pam.conf.





































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#
# /etc/pam.conf: authentication stack configuration file
#
ftp	auth		sufficient	pam_ftp.so
ftp	auth		required	pam_unix.so md5 shadow try_first_pass
ftp	account		required	pam_unix.so
ftp	session		required	pam_unix.so
#
imap	auth		required	pam_unix.so md5 shadow try_first_pass
imap	account		required	pam_unix.so
imap	session		required	pam_unix.so
#
pop3	auth		required	pam_unix.so md5 shadow try_first_pass
pop3	account		required	pam_unix.so
pop3	session		required	pam_unix.so
#
kde	auth		requisite	pam_securetty.so
kde	auth		required	pam_unix.so md5 shadow try_first_pass
kde	account		requisite	pam_time.so
kde	account		required	pam_unix.so
kde	session		required	pam_unix.so
#
login	auth		requisite	pam_securetty.so
login	auth		required	pam_unix.so md5 shadow try_first_pass
login	account		requisite	pam_time.so
login	account		required	pam_unix.so
login	session		required	pam_unix.so
#
samba	auth		required	pam_unix.so md5 shadow try_first_pass
samba	account		required	pam_unix.so
samba	session		required	pam_unix.so
#
sshd	auth		required	pam_unix.so md5 shadow try_first_pass
sshd	account		required	pam_unix.so
sshd	session		required	pam_unix.so
#
su	auth		sufficient	pam_rootok.so
su	auth		required	pam_unix.so md5 shadow try_first_pass
su	account		required	pam_unix.so
su	session		required	pam_unix.so
#
passwd	password	required	pam_unix.so md5 shadow try_first_pass
#
other	auth		required	pam_warn.so
other	auth		requisite	pam_deny.so
other	account		requisite	pam_deny.so
other	password	required	pam_warn.so
other	password	requisite	pam_deny.so
other	session		required	pam_warn.so
other	session		requisite	pam_deny.so

Added contrib/linux_logo/Pkgfile.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Description: renders an ascii linux logo
# URL:         http://www.deater.net/weave/vmwprod/linux_logo/
# Maintainer:  Bartlomiej Palmowski, rotwang at crux dot org dot pl
# Packager:    Olle Gustafsson <ogg att linux dot se>

name=linux_logo
version=5.11
release=1
source=(http://www.deater.net/weave/vmwprod/$name/$name-$version.tar.gz crux.logo logo_config.crux)

build() {
    cd $name-$version
    cp ../logo_config.crux logo_config
    cp ../crux.logo logos/distributions
    ./configure
    sed -i "s/-O2/$CFLAGS/" Makefile.default libsysinfo-0.2.2/Makefile.default
    sed -i '/USE_I18N/s/1/0/2' Makefile.default
    sed -i 's/\$(TRANSLATIONS)//' Makefile
    make
    install -D -m 0775 linux_logo $PKG/usr/bin/linux_logo
    install -D -m 0644 linux_logo.1.gz $PKG/usr/man/man1/linux_logo.1.gz
}

Added contrib/linux_logo/crux.logo.





























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# CRUX logo by Bartlomiej Palmowski, rotwang at crux dot org dot pl

SYSINFO_POSITION right
NAME crux
DESCRIPTION_STRING CRUX logo
BEGIN_ASCII_LOGO
       #####           KKKK  IIII   S    S  S   S
      # o 0 #         K      I   I  S    S   S S
      # \"/ #         K      IIII   S    S    S
      #  v  #         K      I  I   S    S   S S
    #        #         KKKK  I   I   SSSS   S   S
   #%  -----   %
   # %/     \ %%
   @@@%%    @%@#
    @@ ---- @@#
     @~~~~~~@#
END_ASCII_LOGO

BEGIN_LOGO
       #####           KKKK  IIII   S    S  S   S
      ##o#0##         K      I   I  S    S   S S
      ##\"/##         K      IIII   S    S    S
      ###v###         K      I  I   S    S   S S
    ###########        KKKK  I   I   SSSS   S   S
   #%##&&&&&###%
   ##%&&&&&&&#%%
   @@@%%&&&&@%@#
    @@#&&&&#@@#
     @######@#
END_LOGO

Added contrib/linux_logo/logo_config.crux.













>
>
>
>
>
>
1
2
3
4
5
6
./logos/distributions/crux.logo
./logos/banner.logo
./logos/banner-simplified.logo
./logos/classic.logo
./logos/classic-no_periods_or_chars.logo
./logos/classic-no_periods.logo

Added contrib/lirc/Pkgfile.















































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# Description:	Linux Infrared Remote Control
# URL:		http://www.lirc.org/
# Maintainer:	Alan Mizrahi, alan at mizrahi dot com dot ve
#
# Depends on:	

name=lirc
version=0.9.0
release=1
source=(http://download.sourceforge.net/$name/$name-$version.tar.bz2 irxevent_name.diff lircd)

# Possible drivers:	
#
# none, any, act200l, animax, atiusb, audio, avermedia, avermedia_vdomate,
# avermedia98, bestbuy, bestbuy2, breakoutbox, bte, caraca, chronos, comX,
# creative_infracd, dsp, cph03x, cph06x, creative, devinput, flyvideo,
# gvbctv5pci, hauppauge, hauppauge_dvb, hercules_smarttv_stereo, irdeo,
# irdeo_remote, irman, irreal, it87, knc_one, kworld, leadtek_0007,
# leadtek_0010, livedrive_midi, livedrive_seq, logitech, lptX, mceusb,
# mediafocusI, mp3anywhere, packard_bell, parallel, pctv, pixelview_bt878,
# pixelview_pak, pixelview_pro, provideo, realmagic, remotemaster, sa1100,
# sasem, serial, silitek, sir, slinke, tekram, tekram_bt829, tira, tvbox,
# udp, uirt2, uirt2_raw

# To select the driver, you can change this:
LIRC_DRIVER=serial

build() {
	cd lirc-$version

	# Patch to let irxevent use different program names
	patch -p1 -i $SRC/irxevent_name.diff

	./configure --prefix=/usr --mandir=/usr/man --disable-static --with-driver=$LIRC_DRIVER
	make
	make DESTDIR=$PKG install
	install -D -m 755 $SRC/lircd $PKG/etc/rc.d/lircd
	rm -rf $PKG/dev $PKG/var
}

Added contrib/lirc/README.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
README for lirc

REQUIREMENTS

Enable the kernel modules required for your particular driver.
Please refer to the LIRC website for more details.

PRE-INSTALL

This port builds lirc using the serial driver by default.
Just edit the Pkgfile to set LIRC_DRIVER line to your needs.
   
POST-INSTALL

PRECAUTION

Added contrib/lirc/irxevent_name.diff.





























































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
--- lirc-0.9.0/tools/irxevent.c.orig	2012-03-28 17:37:58.603657279 +0900
+++ lirc-0.9.0/tools/irxevent.c	2012-03-28 17:41:20.432647800 +0900
@@ -131,6 +131,7 @@
 static const char *root_window_name = "RootWindow";
 
 static const char *progname = "irxevent";
+static char *lirc_progname = NULL; /* program name to react to, by default irxevent */
 static Display *dpy;
 static Window root;
 static XEvent xev;
@@ -550,6 +551,7 @@
 }
 
 static struct option long_options[] = {
+	{"name", required_argument, NULL, 'n'},
 	{"daemon", no_argument, NULL, 'd'},
 	{"help", no_argument, NULL, 'h'},
 	{"version", no_argument, NULL, 'V'},
@@ -566,8 +568,11 @@
 	int c;
 	int WindowID;
 
-	while ((c = getopt_long(argc, argv, "dhV", long_options, NULL)) != EOF) {
+	while ((c = getopt_long(argc, argv, "n:dhV", long_options, NULL)) != EOF) {
 		switch (c) {
+		case 'n':
+			lirc_progname = optarg;
+			continue;
 		case 'd':
 			bDaemon = 1;
 			continue;
@@ -605,7 +610,7 @@
 	// windows may get closed at wrong time. Override default error handler...
 	XSetErrorHandler(errorHandler);
 
-	if (lirc_init("irxevent", 1) == -1)
+	if (lirc_init(lirc_progname?lirc_progname:progname, 1) == -1)
 		exit(EXIT_FAILURE);
 
 	if (lirc_readconfig(config_file, &config, check) == 0) {
--- lirc-0.9.0/doc/man/irxevent.1.orig	2012-03-28 17:49:49.743623879 +0900
+++ lirc-0.9.0/doc/man/irxevent.1	2012-03-28 17:53:34.603613319 +0900
@@ -14,6 +14,9 @@
 
 Irxevent is a complement to irexec and irpty.
 .TP
+\fB\-n\fR \fB\-\-name\fR
+program name in .lircrc for this irxevent instance
+.TP
 \fB\-d\fR \fB\-\-daemon\fR
 fork and run in background
 .TP
--- lirc-0.9.0/doc/html/irxevent.html.orig	2012-03-28 17:54:15.632611392 +0900
+++ lirc-0.9.0/doc/html/irxevent.html	2012-03-28 17:54:44.502610035 +0900
@@ -55,6 +55,7 @@
 <P>
 Irxevent is a complement to irexec and irpty.
 <DL COMPACT>
+<DT><B>-n</B> <B>--name</B><DD>
 <DT><B>-d</B> <B>--daemon</B><DD>
 fork and run in background
 <DT><B>-h</B> <B>--help</B><DD>

Added contrib/lirc/lircd.



















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/bin/bash
#
# /etc/rc.d/lircd: start/stop/restart lirc daemon
#

case "$1" in
	start)
		/usr/sbin/lircd -p 666 /etc/lircd.conf
	;;
	stop)
		if [ -f /var/run/lircd.pid ]; then
			kill $(< /var/run/lircd.pid) && rm -f /var/run/lircd.pid
		else
			return 1
		fi
	;;
	restart)
		$0 stop
		$0 start
	;;
	*)
		echo "Usage: $0 start|stop|restart"
		exit 1
	;;
esac

Added contrib/lmms/Pkgfile.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Description: LMMS aims to be a free alternative to popular programs like FruityLoops.
# URL: http://lmms.sourceforge.net/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Jose V Beneyto, sepen at crux dot nu
# Depends on: cmake qt4 jack-audio-connection-kit
# Nice to have: libsamplerate fluidsynth

name=lmms
version=0.4.11
release=1
source=(http://download.sourceforge.net/$name/$name-$version.tar.bz2)

build() {
  export QTDIR=/usr/share/qt4
  cd $name-$version
  mkdir build
  cd build
  cmake ../ -DCMAKE_INSTALL_PREFIX=/usr
  make
  make DESTDIR=$PKG install
  mv $PKG/usr/share/man $PKG/usr
  rm -rf $PKG/usr/share/{locale,mime}
}

Added contrib/logrotate/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: Rotates, compresses, removes and mails system log files
# URL: https://fedorahosted.org/releases/l/o/logrotate/
# Maintainer: Mikhail Kolesnik, mike at openbunker dot org
# Depends on: popt

name=logrotate
version=3.8.1
release=1
source=(https://fedorahosted.org/releases/l/o/$name/$name-$version.tar.gz
		$name.conf logrotate-paths.diff)

build() {
	cd $name-$version
	patch -p1 -i $SRC/logrotate-paths.diff
	make
	make PREFIX=$PKG install
	mkdir -p $PKG/etc/$name.d
	mkdir -p $PKG/var/state/logrotate
	install -D -m 750 examples/$name.cron $PKG/etc/cron/hourly/$name
	install -D -m 640 $SRC/$name.conf $PKG/etc/$name.conf
}

Added contrib/logrotate/logrotate-paths.diff.

















































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
diff -Nru logrotate-3.7.9-orig/config.h logrotate-3.7.9/config.h
--- logrotate-3.7.9-orig/config.h	2010-12-23 20:21:54.000000000 +0200
+++ logrotate-3.7.9/config.h	2010-12-23 20:24:13.000000000 +0200
@@ -20,7 +20,7 @@
  * Default settings for Linux - leave these last.
  */
 #ifndef DEFAULT_MAIL_COMMAND
-#define DEFAULT_MAIL_COMMAND "/bin/mail"
+#define DEFAULT_MAIL_COMMAND "/usr/bin/mail"
 #endif
 
 #ifndef COMPRESS_COMMAND
@@ -36,5 +36,5 @@
 #endif
 
 #ifndef STATEFILE
-#define STATEFILE "/var/lib/logrotate.status"
+#define STATEFILE "/var/state/logrotate/logrotate.status"
 #endif
diff -Nru logrotate-3.7.9-orig/logrotate.8 logrotate-3.7.9/logrotate.8
--- logrotate-3.7.9-orig/logrotate.8	2010-12-23 20:21:54.000000000 +0200
+++ logrotate-3.7.9/logrotate.8	2010-12-23 20:23:32.000000000 +0200
@@ -55,7 +55,7 @@
 \fB-s, -\-state <statefile>\fR
 Tells \fBlogrotate\fR to use an alternate state file.  This is useful
 if logrotate is being run as a different user for various sets of
-log files.  The default state file is \fI/var/lib/logrotate.status\fR.
+log files.  The default state file is \fI/var/state/logrotate/logrotate.status\fR.
 
 .TP
 \fB-\-usage\fR
@@ -473,7 +473,7 @@
 .SH FILES
 .PD 0
 .TP 27
-\fI/var/lib/logrotate.status\fR
+\fI/var/state/logrotate/logrotate.status\fR
 Default state file.
 .TP 27
 \fI/etc/logrotate.conf\fR

Added contrib/logrotate/logrotate.conf.































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# see "man logrotate" for details
# rotate log files weekly
weekly

# keep 4 weeks worth of backlogs
rotate 4

# create new (empty) log files after rotating old ones
create

# uncomment this if you want your log files compressed
#compress

# some packages can drop log rotation information into 
# this directory
include /etc/logrotate.d

# few generic files to rotate
/var/log/wtmp {
    monthly
    create 0644 root root
    rotate 1
}

/var/log/btmp {
    monthly
    create 0600 root root
    rotate 1
}

# system-specific logs may be also be configured here.

Added contrib/lrzsz/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: Xmodem, Ymodem and Zmodem file transfer programs
# Maintainer: Alan Mizrahi, alan at mizrahi dot com dot ve
# URL: http://www.ohse.de/uwe/software/lrzsz.html
# depends: 

name=lrzsz
version=0.12.20
release=1
source=(http://www.ohse.de/uwe/releases/$name-$version.tar.gz)

build() {
	cd $name-$version
	./configure --prefix=/usr --disable-nls
	make -j 1
	make DESTDIR=$PKG install
}

Added contrib/lxml/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: A pythonic binding for the libxml2 and libxslt libraries.
# URL: http://lxml.de/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com
# Depends on: libxslt cython

name=lxml
version=2.3.4
release=1
source=(http://lxml.de/files/$name-$version.tgz)

build() {
	cd $name-$version
	python setup.py install --root $PKG
	rm $PKG/usr/lib/python*/site-packages/lxml-2.3.4-py2.7.egg-info/*
	rmdir $PKG/usr/lib/python*/site-packages/*.egg-info
}

Added contrib/lxmusic/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description:  gui frontend for xmms2
# URL:          http://lxde.org/
# Maintainer:   Bartlomiej Palmowski, rotwang at crux dot org dot pl
# Depends on:   xmms2 gtk intltool xorg-libxdamage

name=lxmusic
version=0.4.4
release=1
source=(http://download.sourceforge.net/sourceforge/lxde/$name-$version.tar.gz)

build() {
    cd $name-$version
    ./configure --prefix=/usr --disable-nls
    make
    make DESTDIR=$PKG install
    rm -rf $PKG/usr/share/locale
}

Added contrib/lxmusic/post-install.







>
>
>
1
2
3
#!/bin/bash

gtk-update-icon-cache /usr/share/icons/hicolor

Added contrib/lxmusic/post-remove.







>
>
>
1
2
3
#!/bin/bash

gtk-update-icon-cache /usr/share/icons/hicolor

Added contrib/lxpanel/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: desktop panel from lxde project
# URL:         http://lxde.org/
# Maintainer:  Bartlomiej Palmowski, rotwang at crux dot org dot pl
# Depends on:  gtk intltool menu-cache

name=lxpanel
version=0.5.8
release=1
source=(http://download.sourceforge.net/sourceforge/lxde/$name-$version.tar.gz)

build() {
    cd $name-$version
    ./configure \
        --prefix=/usr \
        --mandir=/usr/man \
        --disable-nls
    make
    make DESTDIR=$PKG install
    rm -rf $PKG/usr/share/locale
}

Added contrib/lynx/Pkgfile.



















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# Description: Text-based web browser.
# URL: http://lynx.isc.org/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Mark Rosenstand, mark at borkware dot net
# Depends on: ncurses openssl zlib

name=lynx
version=2.8.7
release=3
source=(http://lynx.isc.org/lynx$version/lynx$version.tar.bz2)

build() {
	cd lynx${version//./-}

	./configure \
		--prefix=/usr \
		--disable-nls \
		--enable-color-style \
		--enable-ipv6 \
		--with-ssl \
		--with-zlib

	make
	make -j 1 DESTDIR=$PKG install
}

Added contrib/lzo/Pkgfile.



















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# Description: A data compression library suitable for data de-/compression in real-time.
# URL: http://www.oberhumer.com/opensource/lzo/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Younes Hafri, ycrux at club-internet dot fr

name=lzo
version=2.06
release=1
source=(http://www.oberhumer.com/opensource/lzo/download/$name-$version.tar.gz)

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--enable-shared

	make
	make DESTDIR=$PKG install

	ln -s liblzo2.so.2.0.0 $PKG/usr/lib/liblzo.so

	rm -r $PKG/usr/share/doc
	rmdir $PKG/usr/share
}

Added contrib/macchanger/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: Utility for viewing/manipulating the MAC address of network interfaces
# URL: http://www.alobbs.com/macchanger/
# Maintainer: Jose V Beneyto, sepen at users dot sourceforge dot net
# Packager: Antonio Bonifati, ant at venus dot deis dot unical dot it

name=macchanger
version=1.5.0
release=1
source=(ftp://ftp.gnu.org/gnu/macchanger/$name-$version.tar.gz)

build () {
  cd $name-$version
  ./configure --prefix=/usr
  make
  make DESTDIR=$PKG install
  rm -rf $PKG/usr/info
}

Added contrib/makeself/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: Makeself generates self-extractable tar.gz archives
# URL: http://www.megastep.org/makeself/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Stoyan Zhekov, zhware at hotpop dot com
# Depends on:

name=makeself
version=2.1.5
release=1
source=(http://www.megastep.org/$name/$name-$version.run)

build() {
  sh $name-$version.run
  mkdir -p $PKG/usr/bin
  install -D -m 0755 $name-$version/$name.sh $PKG/usr/bin/$name
}

Added contrib/mako/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: A template library written in Python.
# URL: http://www.makotemplates.org/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com
# Depends on: setuptools

name=mako
version=0.4.2
release=1
source=(http://www.makotemplates.org/downloads/Mako-$version.tar.gz)

build() {
	cd Mako-$version
	python setup.py build
	python setup.py install --prefix=/usr --root=$PKG
	find $PKG -name '*.egg-info' | xargs rm -rf
}

Added contrib/medit/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description: text editor
# URL:         http://mooedit.sourceforge.net/
# Maintainer:  Bartlomiej Palmowski, rotwang at crux dot org dot pl
# Depends on:  gtk

name=medit
version=1.1.0
release=1
source=(http://downloads.sourceforge.net/project/mooedit/$name/$version/$name-$version.tar.bz2)

build() {
    cd $name-$version
    ./configure \
        --prefix=/usr \
        --mandir=/usr/man \
        --disable-install-hooks \
        --disable-coverage \
        --disable-nls
    make
    make DESTDIR=$PKG install
    rm -rf $PKG/usr/share/doc
}

Added contrib/medit/post-install.















>
>
>
>
>
>
>
1
2
3
4
5
6
7
#!/bin/bash

if type update-mime-database >/dev/null 2>&1; then
update-mime-database /usr/share/mime
fi

gtk-update-icon-cache /usr/share/icons/hicolor/

Added contrib/memtest86+/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: Advanced memory diagnostic tool.
# URL: http://www.memtest.org/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Mark Rosenstand, mark at borkware dot net

name=memtest86+
version=4.20
release=1
source=(http://www.memtest.org/download/$version/$name-$version.tar.gz
	memtest86+-2.11-makefile_install_remove.patch)

build() {
	cd $name-$version
	patch -p 1 -i $SRC/memtest86+-2.11-makefile_install_remove.patch
	make memtest.bin
	make DESTDIR=$PKG install-memtest.bin
}

Added contrib/memtest86+/memtest86+-2.11-makefile_install_remove.patch.



























>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
diff -pruN memtest86+-2.11.orig/Makefile memtest86+-2.11/Makefile
--- memtest86+-2.11.orig/Makefile	2008-12-24 10:41:30.410800131 +0000
+++ memtest86+-2.11/Makefile	2008-12-24 10:55:52.043549975 +0000
@@ -69,3 +69,9 @@ install-precomp:
 dos: all
 	cat mt86+_loader memtest.bin > memtest.exe
 
+install-memtest.bin:
+	install -m 0644 -D memtest.bin $(DESTDIR)/boot/memtest.bin
+
+remove-memtest.bin:
+	rm $(DESTDIR)/boot/memtest.bin
+

Added contrib/menu-cache/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: replacement for libgnome-menu
# URL:         http://lxde.org/
# Maintainer:  Bartlomiej Palmowski, rotwang at crux dot org dot pl
# Depends on:  glib
# Comment:     library creating and utilizing caches to speed up the manipulation for freedesktop.org defined application menus

name=menu-cache
version=0.3.2
release=1
source=(http://download.sourceforge.net/project/lxde/$name/$name%20$version/$name-$version.tar.gz)

build() {
    cd $name-$version
    ./configure --prefix=/usr \
        --disable-static \
        --libexecdir=/usr/lib/$name
    make
    make DESTDIR=$PKG install
}

Added contrib/menumaker/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: Tool for generate menu for many window manager.
# URL:         http://menumaker.sourceforge.net/
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    Coviello Giuseppe giuseppecoviello at tin dot it
# Depends on:  python

name=menumaker
version=0.99.7
release=1
source=(http://download.sourceforge.net/menumaker/$name-$version.tar.gz)

build() {
   cd $name-$version
   ./configure --prefix=/usr
   make && make DESTDIR=$PKG install
   rm -r $PKG/usr/info
}

Added contrib/mercurial/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: Mercurial the distributed VCS.
# URL:         http://www.selenic.com/mercurial/wiki/
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    James Mills, prologic at shortcircuit dot net dot au
# Depends on: python

name=mercurial
version=2.1.2
release=1
source=(http://www.selenic.com/$name/release/$name-$version.tar.gz)

build() {
  cd $name-$version
  python setup.py install --root=$PKG
  rm -r $PKG/usr/lib/python*/site-packages/mercurial/locale
}

Added contrib/miau/Pkgfile.































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# Description: Small IRC proxy.
# URL: http://miau.sourceforge.net/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Mark Rosenstand, mark at borkware dot net

name=miau
version=0.6.6
release=1
source=(http://downloads.sourceforge.net/project/$name/$name/$version/$name-$version.tar.bz2)

build() {
	cd $name-$version
	./configure \
		--prefix=/usr \
		--mandir=/usr/man \
		--enable-dccbounce \
		--enable-mkpasswd \
		--enable-uptime \
		--enable-chanlog \
		--enable-privlog \
		--enable-onconnect \
		--enable-empty-awaymsg \
		--disable-ascii-art \
		--disable-qlogstamp \
		--enable-pingstat \
		--enable-dumpstatus
	make
	make DESTDIR=$PKG install
	mv $PKG/usr/share/doc/miau $PKG/usr/share
	rm -r $PKG/usr/share/{doc,info}
}

Added contrib/midori/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: Midori is a lightweight web browser.
# URL: http://www.twotoasts.de/index.php?/categories/2-Midori
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Brett Goulder, predatorfreak at dcaf-security dot org
# Depends on: libnotify librsvg vala webkit xorg-libxscrnsaver libunique

name=midori
version=0.4.3
release=1
source=(http://archive.xfce.org/src/apps/$name/${version%.*}/$name-$version.tar.bz2)

build() {
	cd $name-$version
	local JOBS="$(sed -e 's/.*\(\-j[ 0-9]\+\) \{0,1\}.*/\1/' <<< $MAKEFLAGS)"
	./configure --prefix=/usr $JOBS
	make
	make DESTDIR=$PKG install
	rm -r $PKG/usr/share/{doc,locale}
}

Added contrib/mjpegtools/Pkgfile.



























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# Description: Tools for recording, editing, playing and encoding mpeg video.
# URL: http://mjpeg.sourceforge.net
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: bashy, ronny kornexl at online de
# Depends on: libquicktime xorg-libxxf86dga

name=mjpegtools
version=1.9.0
release=2
source=(http://downloads.sourceforge.net/project/mjpeg/$name/$version/$name-$version.tar.gz
	mjpegtools-1.9.0-glibc-2.10.patch)

build() {
	cd $name-$version
	patch -p 1 -i $SRC/mjpegtools-1.9.0-glibc-2.10.patch

	./configure \
		--prefix=/usr \
		--mandir=/usr/man \
		--disable-static \
		--enable-compile-warnings \
		--enable-simd-accel \
		--disable-assert

	make
	make DESTDIR=$PKG install
	rm -rf $PKG/usr/share/info
	rmdir $PKG/usr/share
}

Added contrib/mjpegtools/mjpegtools-1.9.0-glibc-2.10.patch.

























>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
diff -pruN mjpegtools-1.9.0.orig/mplex/lpcmstrm_in.cpp mjpegtools-1.9.0/mplex/lpcmstrm_in.cpp
--- mjpegtools-1.9.0.orig/mplex/lpcmstrm_in.cpp	2009-11-03 09:12:41.193553723 +0000
+++ mjpegtools-1.9.0/mplex/lpcmstrm_in.cpp	2009-11-03 09:13:54.740427219 +0000
@@ -53,7 +53,7 @@ LPCMStream::LPCMStream(IBitStream &ibs, 
 
 bool LPCMStream::Probe(IBitStream &bs )
 {
-    char *last_dot = strrchr( bs.StreamName(), '.' );
+    const char *last_dot = strrchr( bs.StreamName(), '.' );
     return 
         last_dot != NULL 
         && strcmp( last_dot+1, "lpcm") == 0;

Added contrib/mkvtoolnix/Pkgfile.







































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# Description: Tools to create, alter and inspect Matroska files.
# URL: http://www.bunkus.org/videotools/mkvtoolnix
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Han Boetes, han at mijncomputer dot nl
# Depends on: boost file flac libmatroska libvorbis ruby

name=mkvtoolnix
version=5.0.1 # later versions require gcc 4.6.x to compile, which may be in crux 2.8
release=1
source=(http://www.bunkus.org/videotools/mkvtoolnix/sources/$name-$version.tar.bz2)

build() {
	cd $name-$version

	local JOBS="$(sed -e 's/.*\(\-j[ 0-9]\+\) .*/\1/' <<< $MAKEFLAGS)"

	# Disable automagic curl dep used for online update checking
	sed -i -e '/curl/d' configure.in
	export CURL_CFLAGS="" CURL_LIBS=""

	autoreconf

	./configure \
		--prefix=/usr \
		--mandir=/usr/man \
		--disable-precompiled-headers

	./drake $JOBS
	./drake $JOBS DESTDIR=$PKG install

	rm -r \
		$PKG/usr/man/{ja,nl,zh_CN} \
		$PKG/usr/share/locale \
		$PKG/usr/share/doc
}

Added contrib/mldonkey/Pkgfile.





















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# Description: Multi-platform multi-network peer-to-peer client.
# URL: http://mldonkey.sourceforge.net/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Jose V Beneyto, sepen at crux dot nu
# Depends on: ocaml bzip2
# Nice to have: libgd

name=mldonkey
version=3.0.5
release=1
source=(http://download.sourceforge.net/$name/$name-$version.tar.bz2 \
        mlnetd)

build() {
  local OCAML_VER=$(ocaml -version | awk '{print $6}')
  cd $name-$version
  ./configure --prefix=/usr \
              --disable-gui \
              --disable-bittorrent \
              --enable-ocamlver="$OCAML_VER" \
              --disable-debug
  make
  make DESTDIR=$PKG install
  install -d $PKG/var/mlnet
  install -D -m 0755 $SRC/mlnetd $PKG/etc/rc.d/mlnetd
}

Added contrib/mldonkey/README.



























>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
README for mldonkey

REQUIREMENTS

PRE-INSTALL

POST-INSTALL

  Run the post-install script in order to add a mlusers group to your system.
  After that, you should add your user to the mlusers group:
  # usermod -G mlusers <your_user> 
  
PRECAUTIONS

Added contrib/mldonkey/mlnetd.























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/bin/sh
#
# /etc/rc.d/mlnetd: start/stop mldonkey daemon
#

LOG_FILE=/var/log/mlnetd

case $1 in
  start)
    export MLDONKEY_DIR=/var/mlnet
    su mldonkey -c \
      "mlnet -run_as_user mldonkey 2>&1 >/dev/null" 2>&1 >$LOG_FILE &
    ;;
  stop)
    pkill mlnet
    ;;
  restart)
    $0 stop
    sleep 1
    $0 start
    ;;
  *)
    echo "Usage: $0 [start|stop|restart]"
    ;;
esac

# End of file

Added contrib/mldonkey/post-install.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/bin/sh

MLUSER=mldonkey
MLGROUP=mlusers
MLPATH=/var/mlnet


# check for mlusers group or add one if not exists
/usr/bin/getent group $MLGROUP || /usr/sbin/groupadd $MLGROUP

# check for mldonkey user or add one
/usr/bin/getent passwd $MLUSER || /usr/sbin/useradd -g $MLGROUP -m -d $MLPATH $MLUSER

# lock the account
/usr/bin/passwd -l $MLUSER

# setup bitperms
[ ! -d $MLPATH ] && mkdir -p $MLPATH
/bin/chmod 0775 $MLPATH
/bin/chown root.$MLGROUP $MLPATH

# End of file

Added contrib/moc-tray/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: tray icon for music on console player
# URL:         http://code.google.com/p/moc-tray/
# Maintainer:  Bartlomiej Palmowski, rotwang at crux dot org dot pl
# Depends on:  moc p5-gtk2

name=moc-tray
version=0.4
release=1
source=(http://$name.googlecode.com/files/$name-$version.tar.bz2)

build() {
    cd $name-$version
    make DESTDIR=$PKG install
    mkdir -p $PKG/usr/man/man1
    pod2man $PKG/usr/bin/$name > $PKG/usr/man/man1/$name.1
}

Added contrib/moc/Pkgfile.





















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# Description: Console audio player.
# URL: http://moc.daper.net/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Stoyan Zhekov, zhware at hotpop dot com
# Depends on: curl libsndfile libid3tag libmad
 

name=moc
version=2.4.4
release=1
source=(ftp://ftp.daper.net/pub/soft/$name/stable/$name-$version.tar.bz2)

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--mandir=/usr/man \
		--disable-nls \
		--disable-debug

	make
	make DESTDIR=$PKG install
	install -D -m 0644 -t $PKG/usr/share/moc/ config.example keymap.example 
	rm -rf $PKG/usr/share/doc
}

Added contrib/mod_wsgi/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: Apache mod_wsgi adapter.
# URL: http://code.google.com/p/modwsgi/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: James Mills, prologic at shortcircuit dot net dot au
# Depends on: apache python

name=mod_wsgi
version=3.3
release=1
source=(http://modwsgi.googlecode.com/files/mod_wsgi-$version.tar.gz)

build() {
	cd mod_wsgi-$version
	./configure --prefix=/usr
	make
	make DESTDIR=$PKG install
	chmod a-x $PKG/usr/lib/apache/mod_wsgi.so
}

Added contrib/monit/Pkgfile.



















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# Description: Utility for monitoring daemons running on a Unix system
# URL: http://www.tildeslash.com/monit/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Jose V Beneyto, sepen at crux dot nu
# Depends on: openssl 

name=monit
version=5.3.2
release=1
source=(http://mmonit.com/$name/dist/$name-$version.tar.gz \
        monitd)

build() {
  cd $name-$version

  ./configure --prefix=/usr \
              --mandir=/usr/man \
              --sysconfdir=/etc

  make
  make DESTDIR=$PKG install

  install -D -m 0755 $SRC/monitd $PKG/etc/rc.d/monitd
  install -D -m 0700 $SRC/$name-$version/monitrc $PKG/etc/monitrc
}

Added contrib/monit/README.



























>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
README for monit

POST-INSTALL

  Edit monitrc control file as you need (/usr/etc/monitrc)
  
  Also, monit can run and be controlled from init.
  If monit should crash, init will re-spawn a new monit process.
  To setup monit to run from init, you can use the 'set init' statement
  in monitrc and then edit your /etc/inittab as:
  
  # Run monit in standard run-levels
  mo:2345:respawn:/usr/bin/monit -Ic /usr/etc/monitrc

Added contrib/monit/monitd.

























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/bin/sh
#
# /etc/rc.d/monitd: start/stop monit daemon
#

CONFIG=/etc/monitrc

case $1 in
  start)
    /usr/bin/monit -c $CONFIG
    ;;
  stop)
    /usr/bin/killall -q /usr/bin/monit
    ;;
  reload)
    /usr/bin/monit -c $CONFIG reload
    ;;
  restart)
    $0 stop
    sleep 1
    $0 start
    ;;
  *)
    echo "usage: $0 [start|stop|reload|restart]"
    ;;
esac

# End of File

Added contrib/mpc/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description: Command line MPD client
# URL: http://www.musicpd.org/mpc.shtml
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager: Mark Rosenstand, mark at borkware dot net
# Depends on: libmpdclient

name=mpc
version=0.21
release=1
source=(http://download.sourceforge.net/musicpd/mpc/$version/mpc-$version.tar.bz2)

build() {
  cd $name-$version

  ./configure \
      --prefix=/usr \
      --mandir=/usr/man
  make
  make DESTDIR=$PKG install

  rm -rf $PKG/usr/share
}

Added contrib/mpd/Pkgfile.





















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# Description:  Music playback daemon
# URL:          http://www.musicpd.org/
# Maintainer:   Thomas Penteker, tek at serverop dot de
# Packager:     Mark Rosenstand, mark at borkware dot net
# Depends on:   libmad libvorbis libid3tag glib
# Nice to have: faad2 flac audiofile

name=mpd
version=0.16.7
release=1
source=(http://download.sourceforge.net/musicpd/$name-$version.tar.bz2)

build() {
  cd $name-$version

  ./configure \
      --prefix=/usr \
      --mandir=/usr/man
  make
  make DESTDIR=$PKG install

  mkdir -p $PKG/etc
  install -m 0644 doc/mpdconf.example $PKG/etc/mpd.conf 

  rm -rf $PKG/usr/share
}

Added contrib/mrtg/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description:	Multirouter traffic grapher
# URL:	http://oss.oetiker.ch/mrtg/
# Maintainer:	Alan Mizrahi, alan at mizrahi dot com dot ve
# Depends on: perl, p5-gd

name=mrtg
version=2.17.4
release=1
source=(http://oss.oetiker.ch/mrtg/pub/mrtg-$version.tar.gz)

build () {
	cd mrtg-$version
	./configure --prefix=/usr --mandir=/usr/man
	make
	make DESTDIR=$PKG install
	rm -rf $PKG/usr/share/doc $PKG/usr/share/man/man1/mrtg-nt-guide.1 $PKG/usr/share/mrtg2
}

Added contrib/mrxvt/Pkgfile.































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# Description: Multi-tabbed rxvt based terminal
# URL: http://materm.sourceforge.net/ 
# Maintainer: Jose V Beneyto, sepen at users dot sourceforge dot net
# Packager: Jose V Beneyto, sepen at users dot sourceforge dot net
# Depends on: xorg-libxft

name=mrxvt
version=0.5.4
release=2
source=(http://download.sourceforge.net/materm/$name-$version.tar.gz \
        $name-$version-001-fix-segfault-when-wd-empty.patch)

build() {
  cd $name-$version
  patch -p0 -i $SRC/$name-$version-001-fix-segfault-when-wd-empty.patch
  ./configure --prefix=/usr \
              --disable-debug \
              --enable-menubar \
              --enable-xft \
              --with-save-lines=200 \
              --with-x
  make
  make DESTDIR=$PKG install
  rm -rf $PKG/usr/share/doc
  mv $PKG/usr/etc/{mrxvt/mrxvtrc,mrxvtrc}
  mv $PKG/usr/etc/mrxvt/default.{menu,menu.sample}
  mv $PKG/usr/etc/mrxvt/submenus.{menu,menu.sample}
  mv $PKG/usr/share/man $PKG/usr
  rm -f $PKG/usr/share/pixmaps/*.png
  ln -sf /usr/bin/$name $PKG/usr/bin/materm
}

Added contrib/mrxvt/mrxvt-0.5.4-001-fix-segfault-when-wd-empty.patch.



























>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
Index: src/tabbar.c
===================================================================
--- src/tabbar.c	(revision 337)
+++ src/tabbar.c	(working copy)
@@ -1327,7 +1327,7 @@
 		if( p.we_wordc > 1)
 		    rxvt_msg( DBG_ERROR, DBG_TABBAR,
 			    "Too many words when expanding %s\n", cwdOption );
-		else
+		else if( NOT_NULL( *p.we_wordv ) )
 		{
 		    filename = *p.we_wordv;
 

Added contrib/mt-st/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: controls magnetic tape drive operation (SCSI & QIC-02)
# URL: ftp://ftp.ibiblio.org/pub/linux/system/backup/
# Maintainer: Jose V Beneyto, sepen at users dot sourceforge dot net
# Packager: Manuel Ruiz, manuel dot tienza at gmail dot com
# Depends on:

name=mt-st
version=1.1
release=1
source=(http://www.ibiblio.org/pub/Linux/system/backup/$name-$version.tar.gz)

build() {
    cd $name-$version
    sed -e 's|<linux/qic117.h>|"qic117.h"|g' -i mtio.h
    make CFLAGS="$CFLAGS" CC=gcc
    mkdir -p $PKG/usr/{bin,man/man1,man/man8}
    cp mt stinit $PKG/usr/bin/
    cp mt.1 $PKG/usr/man/man1/
    cp stinit.8 $PKG/usr/man/man8/
}

Added contrib/mtpaint/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: simple GTK+1/2 painting program
# URL: http://mtpaint.sourceforge.net/
# Maintainer: Bartlomiej Palmowski, rotwang at crux dot org dot pl
# Packager: Ricardo Oliveira, crux at roliveira dot eu
# Depends on: gtk
# Nice to have: libungif

name=mtpaint
version=3.40
release=1
source=(http://downloads.sourceforge.net/project/$name/$name/$version/$name-$version.tar.bz2)

build() {
    cd $name-$version
    ./configure --prefix=/usr gtk2 cflags man

    make
    make DESTDIR=$PKG install
}

Added contrib/mtr/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: Matt's traceroute - network diagnostic tool
# URL: http://www.bitwizard.nl/mtr/
# Maintainer: Mikhail Kolesnik, mike at openbunker dot org
# Depends on:

name=mtr
version=0.80
release=1
source=(ftp://ftp.bitwizard.nl/mtr/$name-$version.tar.gz)

build() {
	cd $name-$version
	./configure --prefix=/usr \
				--mandir=/usr/man \
				--sbindir=/usr/bin \
				--without-gtk
	make
	make DESTDIR=$PKG install
}

Added contrib/multimux/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Multipexes up to 8 mono channels into a multi channel wave file.
# URL: http://www.ibiblio.org/pub/linux/apps/video/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com
# Depends on: 

name=multimux
version=0.2.5.2
release=1
source=(http://www.ibiblio.org/pub/linux/apps/video/multimux-$version.tgz)

build() {
	cd multimux-$version
	sed -i -e "s|-O2|$CFLAGS|" Makefile
	make
	install -D -m755 multimux $PKG/usr/bin/multimux
}

Added contrib/multitail/Makefile.diff.









































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
--- Makefile.orig	2008-08-27 08:18:54.000000000 +0200
+++ Makefile	2008-08-27 08:21:59.000000000 +0200
@@ -1,7 +1,7 @@
 include version
 
 DESTDIR=/
-CONFIG_FILE=$(DESTDIR)/etc/multitail.conf
+CONFIG_FILE=$(DESTDIR)/usr/etc/multitail.conf
 
 DEBUG=-g # -D_DEBUG # -pg #  -D_DEBUG  #-pg -W -pedantic # -pg #-fprofile-arcs
 LDFLAGS+=-lpanel -lncurses -lutil -lm $(DEBUG) -rdynamic
@@ -19,19 +19,15 @@ multitail_ccmalloc: $(OBJS)
 	ccmalloc --no-wrapper $(CC) -Wall -W $(OBJS) $(LDFLAGS) -o ccmultitail
 
 install: multitail
-	cp multitail $(DESTDIR)/usr/bin
-	cp multitail.1 $(DESTDIR)/usr/share/man/man1/multitail.1
-	mkdir -p $(DESTDIR)/usr/share/doc/multitail-$(VERSION)
-	cp *.txt INSTALL manual*.html $(DESTDIR)/usr/share/doc/multitail-$(VERSION)
+	install -D -m 0755 multitail $(DESTDIR)/usr/bin/multitail
+	install -D -m 0644 multitail.1 $(DESTDIR)/usr/man/man1/multitail.1
 	#
 	### COPIED multitail.conf.new, YOU NEED TO REPLACE THE multitail.conf
 	### YOURSELF WITH THE NEW FILE
 	#
-	cp multitail.conf $(DESTDIR)/etc/multitail.conf.new
-	mkdir -p $(DESTDIR)/etc/multitail/
-	cp convert-* colors-* $(DESTDIR)/etc/multitail/
-	rm -f $(DESTDIR)/usr/share/man/man1/multitail.1.gz
-	gzip -9 $(DESTDIR)/usr/share/man/man1/multitail.1
+	install -D -m 0644 multitail.conf $(DESTDIR)/usr/etc/multitail.conf
+	install -d $(DESTDIR)/usr/etc/multitail
+	cp convert-* colors-* $(DESTDIR)/usr/etc/multitail
 	#
 	# There's a mailinglist!
 	# Send an e-mail to minimalist@vanheusden.com with in the subject

Added contrib/multitail/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Lets you view one or multiple files like the original tail program
# URL: http://www.vanheusden.com/multitail/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Jose V Beneyto, sepen at crux dot nu
# Depends on: ncurses

name=multitail
version=5.2.6
release=1
source=(http://www.vanheusden.com/$name/$name-$version.tgz \
        Makefile.diff)

build () {
  cd $name-$version
  patch -p0 -i $SRC/Makefile.diff
  make
  make DESTDIR=$PKG install
}

Added contrib/mupen64plus/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: A Nintendo 64 emulator desgined to be multi-OS
# URL: http://code.google.com/p/mupen64plus/
# Maintainer: Mikhail Kolesnik, mike at openbunker dot org
# Depends on: sdl_ttf libpng

name=mupen64plus
version=1.99.4
release=1
source=(http://mupen64plus.googlecode.com/files/$name-bundle-src-$version.tar.gz
		$name.diff)

build() {
	cd $name-bundle-src-$version
	patch -p1 -i $SRC/$name.diff
	./m64p_build.sh
	./m64p_install.sh DESTDIR=$PKG PREFIX=/usr
}

Added contrib/mupen64plus/mupen64plus.diff.























>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
diff -Nru mupen64plus-bundle-src-1.99.4-orig/source/mupen64plus-core/projects/unix/Makefile mupen64plus-bundle-src-1.99.4/source/mupen64plus-core/projects/unix/Makefile
--- mupen64plus-bundle-src-1.99.4-orig/source/mupen64plus-core/projects/unix/Makefile	2010-12-19 16:31:49.000000000 +0200
+++ mupen64plus-bundle-src-1.99.4/source/mupen64plus-core/projects/unix/Makefile	2010-12-19 16:32:00.000000000 +0200
@@ -368,7 +368,6 @@
 	$(INSTALL) -m 0644 ../../data/* "$(DESTDIR)$(SHAREDIR)"
 	$(INSTALL) -d -v "$(DESTDIR)$(INCDIR)"
 	$(INSTALL) -m 0644 ../../src/api/m64p_*.h "$(DESTDIR)$(INCDIR)"
-	if [ `id -u` -eq 0 ]; then $(LDCONFIG); fi
 
 uninstall:
 	$(RM) -f "$(DESTDIR)$(LIBDIR)/$(TARGET)"

Added contrib/murrine/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: gtk+ engine
# URL:         http://www.cimitan.com/murrine/engine
# Maintainer:  Bartlomiej Palmowski, rotwang at crux dot org dot pl
# Depends on:  gtk

name=murrine
version=0.98.1.1
release=1
source=(http://ftp.acc.umu.se/pub/GNOME/sources/$name/${version%.*.*}/$name-$version.tar.bz2)

build() {
     cd $name-$version
    ./configure --prefix=/usr --enable-animation --disable-nls
    make
    make DESTDIR=$PKG install
}

Added contrib/muttprint/Pkgfile.



















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# Description: Utility to print mails
# URL:         http://muttprint.sourceforge.net/
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    James Mills, prologic at shortcircuit dot net dot au
# Depends on:  tetex, p5-text-iconv

name=muttprint
version=0.72d
release=1
source=(http://download.sourceforge.net/${name}/${name}-${version}.tar.gz)

build() {
  cd $name-$version

  mkdir -p $PKG/usr/bin \
    $PKG/usr/man/man1 \
    $PKG/usr/share/muttprint

  install -m 0755 muttprint $PKG/usr/bin/
  install -m 0644 doc/manpages/en/muttprint.1.gz $PKG/usr/man/man1/ 

  install -m 0644 sample-muttprintrc-en $PKG/usr/share/muttprint/muttprintrc
  install -m 0644 pics/*.eps $PKG/usr/share/muttprint/
  rm -f $PKG/usr/share/muttprint/{Debian*,Gentoo*}
}

Added contrib/mythplugins/Pkgfile.























































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# Description: Myth Plugins.
# URL:         http://www.mythtv.org/
# Maintainer: Lucas Hazel, lucas at die dot net dot au
# Packager:    James Mills, prologic at shortcircuit dot net dot au
#
# Depends on:  kdelibs, mythtv

name=mythplugins
version=0.19
release=1
source=(http://www.mythtv.org/mc/$name-$version.tar.bz2 \
   $name-$version-settings.diff)

build() {
   cd $name-$version

   patch -p1 -i $SRC/$name-$version-settings.diff settings.pro

   sed -i -e "s/#CFLAGS#/$CFLAGS/" settings.pro
   for i in `grep -lr "usr/local" *`
      do
         sed -i -e 's|usr/local|usr|g' "$i"
      done

   ./configure \
      --prefix=/usr \
      --enable-transcode \
      --enable-vcd \
      --enable-exif \
      --enable-fftw \
      --enable-sdl

   qmake $name.pro
   make qmake

   find . -name "Makefile" -exec \
      sed -i -e 's|$(QTDIR)|/usr|g' \
         -e 's|../../../../../../../../|/usr/|g' \
         -e 's|../../../../../../../|/usr/|g' '{}' \;

   make && make INSTALL_ROOT=$PKG install
   chown -R root:root $PKG
}

Added contrib/mythplugins/mythplugins-0.19-settings.diff.





















>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
--- settings.pro.orig	2006-03-24 14:36:47.000000000 +1000
+++ settings.pro	2006-03-24 14:37:19.000000000 +1000
@@ -3,6 +3,7 @@
 LIBVERSION = 0.19
 
 INCLUDEPATH += $${PREFIX}/include
+INCLUDEPATH += /usr/include/qt
 #INCLUDEPATH += /usr/include/cdda
 #INCLUDEPATH += /usr/include/FLAC
 INCLUDEPATH += /usr/kde/3.3/include

Added contrib/myththemes/Pkgfile.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Description: Homebrew PVR Project themes.
# URL:         http://www.mythtv.org/
# Maintainer: Lucas Hazel, lucas at die dot net dot au
# Packager:    James Mills, prologic at shortcircuit dot net dot au
#
# Depends on:  qt3

name=myththemes
version=0.19
release=1
source=(http://www.mythtv.org/mc/$name-$version.tar.bz2)

build() {
   cd $name-$version

   ./configure --prefix=$PKG/usr
   qmake $name.pro

   mkdir -p $PKG/usr
   make INSTALL_ROOT=$PKG/usr install

   chown root:root $PKG
}

Added contrib/mythtv/Pkgfile.



































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# Description: Homebrew PVR Project for Linux
# URL:         http://www.mythtv.org/
# Maintainer: Lucas Hazel, lucas at die dot net dot au
# Packager:    James Mills, <prologic at shortcircuit dot net dot au>
#
# Depends on:  mysql, qt3, ffmpeg, lame

name=mythtv
version=0.20
release=1
source=(http://www.mythtv.org/mc/$name-$version.tar.bz2
        $name-$version-settings.diff
        mythbackend)

build() {
   cd $name-$version

   patch -p0 settings.pro < $SRC/$name-$version-settings.diff
   sed -i -e "s/#CFLAGS#/$CFLAGS/" settings.pro
   for i in `grep -lr "usr/local" *`
      do
         sed -i -e 's|usr/local|usr|g' "$i"
      done

   ./configure --prefix=/usr \
      --enable-lirc
   qmake $name.pro
   make qmake

   find . -name "Makefile" -exec \
      sed -i -e 's|$(QTDIR)|/usr|g' \
         -e 's|../../../../../../../../|/usr/|g' \
         -e 's|../../../../../../../|/usr/|g' '{}' \;

   make
   make INSTALL_ROOT=$PKG/ install
   install -m 644 database/mc.sql $PKG/usr/share/mythtv/

   rm -rf $PKG/usr/share/mythtv/i18n

   mkdir -p $PKG/etc/rc.d
   install -m 755 $SRC/mythbackend $PKG/etc/rc.d/

   # set suid on mythfrontend
   chmod a+s $PKG/usr/bin/mythfrontend

   chown root:root $PKG
}

Added contrib/mythtv/README.



















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# $Id:

REQUIREMENTS:

qt3 with mysql support. prt-get edit qt3

PRECAUTION:

PRE-INSTALL:

POST-INSTALL

   1. Create a mysql account
	   # mysql -p
		Enter password:
	   mysql> GRANT ALL on mythconverg.* to mythtv@"localhost" IDENTIFIED BY "mythtv";
		mysql> FLUSH PRIVILEGES;

	2. Run mythtv-setup

PRE-REMOVE:

POST-REMOVE:

NOTES:

Added contrib/mythtv/mythbackend.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/bin/sh

#
# /etc/rc.d/mythbackend: start/stop the MythTV backend server
#

case "$1" in
	"start")
		/usr/bin/mythbackend -l /var/log/mythbackend.log -d
		;;
	"stop")
		/usr/bin/killall mythbackend > /dev/null
		;;
	"restart")
		$0 stop && sleep 1 && $0 start
		;;
	*)
		echo "Usage: $0 start|stop|restart"
		;;
esac

# End of file

Added contrib/mythtv/mythtv-0.19-fixes.diff.





























































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957
3958
3959
3960
3961
3962
3963
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
3991
3992
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
4048
4049
4050
4051
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
4071
4072
4073
4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
4092
4093
4094
4095
4096
4097
4098
4099
4100
4101
4102
4103
4104
4105
4106
4107
4108
4109
4110
4111
4112
4113
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
4137
4138
4139
4140
4141
4142
4143
4144
4145
4146
4147
4148
4149
4150
4151
4152
4153
4154
4155
4156
4157
4158
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
4169
4170
4171
4172
4173
4174
4175
4176
4177
4178
4179
4180
4181
4182
4183
4184
4185
4186
4187
4188
4189
4190
4191
4192
4193
4194
4195
4196
4197
4198
4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
4216
4217
4218
4219
4220
4221
4222
4223
4224
4225
4226
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239
4240
4241
4242
4243
4244
4245
4246
4247
4248
4249
4250
4251
4252
4253
4254
4255
4256
4257
4258
4259
4260
4261
4262
4263
4264
4265
4266
4267
4268
4269
4270
4271
4272
4273
4274
4275
4276
4277
4278
4279
4280
4281
4282
4283
4284
4285
4286
4287
4288
4289
4290
4291
4292
4293
4294
4295
4296
4297
4298
4299
4300
4301
4302
4303
4304
4305
4306
4307
4308
4309
4310
4311
4312
4313
4314
4315
4316
4317
4318
4319
4320
4321
4322
4323
4324
4325
4326
4327
4328
4329
4330
4331
4332
4333
4334
4335
4336
4337
4338
4339
4340
4341
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355
4356
4357
4358
4359
4360
4361
4362
4363
4364
4365
4366
4367
4368
4369
4370
4371
4372
4373
4374
4375
4376
4377
4378
4379
4380
4381
4382
4383
4384
4385
4386
4387
4388
4389
4390
4391
4392
4393
4394
4395
4396
4397
4398
4399
4400
4401
4402
4403
4404
4405
4406
4407
4408
4409
4410
4411
4412
4413
4414
4415
4416
4417
4418
4419
4420
4421
4422
4423
4424
4425
4426
4427
4428
4429
4430
4431
4432
4433
4434
4435
4436
4437
4438
4439
4440
4441
4442
4443
4444
4445
4446
4447
4448
4449
4450
4451
4452
4453
4454
4455
4456
4457
4458
4459
4460
4461
4462
4463
4464
4465
4466
4467
4468
4469
4470
4471
4472
4473
4474
4475
4476
4477
4478
4479
4480
4481
4482
4483
4484
4485
4486
4487
4488
4489
4490
4491
4492
4493
4494
4495
4496
4497
4498
4499
4500
4501
4502
4503
4504
4505
4506
4507
4508
4509
4510
4511
4512
4513
4514
4515
4516
4517
4518
4519
4520
4521
4522
4523
4524
4525
4526
4527
4528
4529
4530
4531
4532
4533
4534
4535
4536
4537
4538
4539
4540
4541
4542
4543
4544
4545
4546
4547
4548
4549
4550
4551
4552
4553
4554
4555
4556
4557
4558
4559
4560
4561
4562
4563
4564
4565
4566
4567
4568
4569
4570
4571
4572
4573
4574
4575
4576
4577
4578
4579
4580
4581
4582
4583
4584
4585
4586
4587
4588
4589
4590
4591
4592
4593
4594
4595
4596
4597
4598
4599
4600
4601
4602
4603
4604
4605
4606
4607
4608
4609
4610
4611
4612
4613
4614
4615
4616
4617
4618
4619
4620
4621
4622
4623
4624
4625
4626
4627
4628
4629
4630
4631
4632
4633
4634
4635
4636
4637
4638
4639
4640
4641
4642
4643
4644
4645
4646
4647
4648
4649
4650
4651
4652
4653
4654
4655
4656
4657
4658
4659
4660
4661
4662
4663
4664
4665
4666
4667
4668
4669
4670
4671
4672
4673
4674
4675
4676
4677
4678
4679
4680
4681
4682
4683
4684
4685
4686
4687
4688
4689
4690
4691
4692
4693
4694
4695
4696
4697
4698
4699
4700
4701
4702
4703
4704
4705
4706
4707
4708
4709
4710
4711
4712
4713
4714
4715
4716
4717
4718
4719
4720
4721
4722
4723
4724
4725
4726
4727
4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
4744
4745
4746
4747
4748
4749
4750
4751
4752
4753
4754
4755
4756
4757
4758
4759
4760
4761
4762
4763
4764
4765
4766
4767
4768
4769
4770
4771
4772
4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
4789
4790
4791
4792
4793
4794
4795
4796
4797
4798
4799
4800
4801
4802
4803
4804
4805
4806
4807
4808
4809
4810
4811
4812
4813
4814
4815
4816
4817
4818
4819
4820
4821
4822
4823
4824
4825
4826
4827
4828
4829
4830
4831
4832
4833
4834
4835
4836
4837
4838
4839
4840
4841
4842
4843
4844
4845
4846
4847
4848
4849
4850
4851
4852
4853
4854
4855
4856
4857
4858
4859
4860
4861
4862
4863
4864
4865
4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
4879
4880
4881
4882
4883
4884
4885
4886
4887
4888
4889
4890
4891
4892
4893
4894
4895
4896
4897
4898
4899
4900
4901
4902
4903
4904
4905
4906
4907
4908
4909
4910
4911
4912
4913
4914
4915
4916
4917
4918
4919
4920
4921
4922
4923
4924
4925
4926
4927
4928
4929
4930
4931
4932
4933
4934
4935
4936
4937
4938
4939
4940
4941
4942
4943
4944
4945
4946
4947
4948
4949
4950
4951
4952
4953
4954
4955
4956
4957
4958
4959
4960
4961
4962
4963
4964
4965
4966
4967
4968
4969
4970
4971
4972
4973
4974
4975
4976
4977
4978
4979
4980
4981
4982
4983
4984
4985
4986
4987
4988
4989
4990
4991
4992
4993
4994
4995
4996
4997
4998
4999
5000
5001
5002
5003
5004
5005
5006
5007
5008
5009
5010
5011
5012
5013
5014
5015
5016
5017
5018
5019
5020
5021
5022
5023
5024
5025
5026
5027
5028
5029
5030
5031
5032
5033
5034
5035
5036
5037
5038
5039
5040
5041
5042
5043
5044
5045
5046
5047
5048
5049
5050
5051
5052
5053
5054
5055
5056
5057
5058
5059
5060
5061
5062
5063
5064
5065
5066
5067
5068
5069
5070
5071
5072
5073
5074
5075
5076
5077
5078
5079
5080
5081
5082
5083
5084
5085
5086
5087
5088
5089
5090
5091
5092
5093
5094
5095
5096
5097
5098
5099
5100
5101
5102
5103
5104
5105
5106
5107
5108
5109
5110
5111
5112
5113
5114
5115
5116
5117
5118
5119
5120
5121
5122
5123
5124
5125
5126
5127
5128
5129
5130
5131
5132
5133
5134
5135
5136
5137
5138
5139
5140
5141
5142
5143
5144
5145
5146
5147
5148
5149
5150
5151
5152
5153
5154
5155
5156
5157
5158
5159
5160
5161
5162
5163
5164
5165
5166
5167
5168
5169
5170
5171
5172
5173
5174
5175
5176
5177
5178
5179
5180
5181
5182
5183
5184
5185
5186
5187
5188
5189
5190
5191
5192
5193
5194
5195
5196
5197
5198
5199
5200
5201
5202
5203
5204
5205
5206
5207
5208
5209
5210
5211
5212
5213
5214
5215
5216
5217
5218
5219
5220
5221
5222
5223
5224
5225
5226
5227
5228
5229
5230
5231
5232
5233
5234
5235
5236
5237
5238
5239
5240
5241
5242
5243
5244
5245
5246
diff -pruN mythtv-0.19/contrib/mythrename.pl mythtv/contrib/mythrename.pl
--- mythtv-0.19/contrib/mythrename.pl	2006-02-07 13:05:03.000000000 +1000
+++ mythtv/contrib/mythrename.pl	2006-02-07 13:05:03.000000000 +1000
@@ -1,6 +1,6 @@
 #!/usr/bin/perl -w
 #
-# $Date: 2006-02-06 22:05:03 -0500 (Mon, 06 Feb 2006) $
+# $Date: 2006-02-07 13:05:03 +1000 (Tue, 07 Feb 2006) $
 # $Revision: 8888 $
 # $Author: xris $
 #
diff -pruN mythtv-0.19/contrib/optimize_mythdb.pl mythtv/contrib/optimize_mythdb.pl
--- mythtv-0.19/contrib/optimize_mythdb.pl	2005-08-21 06:21:40.000000000 +1000
+++ mythtv/contrib/optimize_mythdb.pl	2005-08-21 06:21:40.000000000 +1000
@@ -1,6 +1,6 @@
 #!/usr/bin/perl -w
 #
-# $Date: 2005-08-20 16:21:40 -0400 (Sat, 20 Aug 2005) $
+# $Date: 2005-08-21 06:21:40 +1000 (Sun, 21 Aug 2005) $
 # $Revision: 7095 $
 # $Author: xris $
 #
diff -pruN mythtv-0.19/libs/libavcodec/libavcodec.pro mythtv/libs/libavcodec/libavcodec.pro
--- mythtv-0.19/libs/libavcodec/libavcodec.pro	2006-01-16 17:14:43.000000000 +1000
+++ mythtv/libs/libavcodec/libavcodec.pro	2006-04-16 17:27:30.000000000 +1000
@@ -430,4 +430,5 @@ macx {
     LIBS               += -lz
     QMAKE_LFLAGS_SHLIB += -single_module
     QMAKE_LFLAGS_SHLIB += -seg1addr 0xC3000000
+    QMAKE_LFLAGS_SHLIB += -read_only_relocs warning
 }
diff -pruN mythtv-0.19/libs/libavformat/aviobuf.c mythtv/libs/libavformat/aviobuf.c
--- mythtv-0.19/libs/libavformat/aviobuf.c	2006-01-16 17:14:43.000000000 +1000
+++ mythtv/libs/libavformat/aviobuf.c	2006-02-23 17:54:05.000000000 +1000
@@ -164,7 +164,13 @@ offset_t url_fseek(ByteIOContext *s, off
 
 void url_fskip(ByteIOContext *s, offset_t offset)
 {
-    url_fseek(s, offset, SEEK_CUR);
+    if (offset < 16384) 
+    {
+        static unsigned char fskipbuf[16384];
+        get_buffer(s, fskipbuf, offset);
+    }
+    else
+        url_fseek(s, offset, SEEK_CUR);
 }
 
 offset_t url_ftell(ByteIOContext *s)
diff -pruN mythtv-0.19/libs/libmyth/audiooutputca.cpp mythtv/libs/libmyth/audiooutputca.cpp
--- mythtv-0.19/libs/libmyth/audiooutputca.cpp	2005-10-11 10:30:51.000000000 +1000
+++ mythtv/libs/libmyth/audiooutputca.cpp	2006-04-16 17:23:48.000000000 +1000
@@ -7,7 +7,7 @@
  * This plays MythTV audio through the default output device on OS X.
  *
  * = REVISION
- * $Id: audiooutputca.cpp 7441 2005-10-11 00:30:51Z ijr $
+ * $Id: audiooutputca.cpp 9721 2006-04-16 07:23:48Z nigel $
  *
  * = AUTHORS
  * Jeremiah Morris
@@ -107,8 +107,10 @@ bool AudioOutputCA::OpenDevice()
     bzero(&conv_in_desc, sizeof(AudioStreamBasicDescription));
     conv_in_desc.mSampleRate       = audio_samplerate;
     conv_in_desc.mFormatID         = kAudioFormatLinearPCM;
-    conv_in_desc.mFormatFlags      = kLinearPCMFormatFlagIsSignedInteger
-                                     | kLinearPCMFormatFlagIsBigEndian;
+    conv_in_desc.mFormatFlags      = kLinearPCMFormatFlagIsSignedInteger;
+#ifdef WORDS_BIGENDIAN
+    conv_in_desc.mFormatFlags     |= kLinearPCMFormatFlagIsBigEndian;
+#endif
     conv_in_desc.mBytesPerPacket   = audio_bytes_per_sample;
     conv_in_desc.mFramesPerPacket  = 1;
     conv_in_desc.mBytesPerFrame    = audio_bytes_per_sample;
diff -pruN mythtv-0.19/libs/libmyth/lcddevice.cpp mythtv/libs/libmyth/lcddevice.cpp
--- mythtv-0.19/libs/libmyth/lcddevice.cpp	2006-01-26 03:11:56.000000000 +1000
+++ mythtv/libs/libmyth/lcddevice.cpp	2006-04-10 06:00:15.000000000 +1000
@@ -150,7 +150,7 @@ bool LCD::connectToHost(const QString &l
 
     if (!connected)
     {
-        QTextStream os(socket);
+        QTextStream os(socket->socketDevice());
 
         int count = 0;
         do
@@ -213,7 +213,7 @@ void LCD::sendToServer(const QString &so
         return;
     }
 
-    QTextStream os(socket);
+    QTextStream os(socket->socketDevice());
    
     last_command = someText;
  
@@ -224,7 +224,7 @@ void LCD::sendToServer(const QString &so
 #endif
         // Just stream the text out the socket
 
-        os << someText << "\n" << flush;
+        os << someText << "\n";
     }
     else
     {
diff -pruN mythtv-0.19/libs/libmyth/mythcontext.cpp mythtv/libs/libmyth/mythcontext.cpp
--- mythtv-0.19/libs/libmyth/mythcontext.cpp	2006-01-25 20:22:57.000000000 +1000
+++ mythtv/libs/libmyth/mythcontext.cpp	2006-03-17 17:06:55.000000000 +1000
@@ -2621,9 +2621,13 @@ void MythContext::LogEntry(const QString
         d->LoadLogSettings();
     if (d->m_logenable == 1)
     {
+        QString fullMsg = message;
+        if (!details.isEmpty())
+            fullMsg += ": " + details;
+
         if (message.left(21) != "Last message repeated")
         {
-            if (message == d->lastLogStrings[module])
+            if (fullMsg == d->lastLogStrings[module])
             {
                 d->lastLogCounts[module] += 1;
                 return;
@@ -2639,7 +2643,7 @@ void MythContext::LogEntry(const QString
                 }
 
                 d->lastLogCounts[module] = 0;
-                d->lastLogStrings[module] = message;
+                d->lastLogStrings[module] = fullMsg;
             }
         }
 
@@ -2693,7 +2697,7 @@ void MythContext::LogEntry(const QString
         }
 
         if (priority <= d->m_logprintlevel)
-            VERBOSE(VB_IMPORTANT, module + ": " + message);
+            VERBOSE(VB_IMPORTANT, module + ": " + fullMsg);
     }
 }
 
diff -pruN mythtv-0.19/libs/libmyth/mythdialogs.cpp mythtv/libs/libmyth/mythdialogs.cpp
--- mythtv-0.19/libs/libmyth/mythdialogs.cpp	2006-01-16 16:45:15.000000000 +1000
+++ mythtv/libs/libmyth/mythdialogs.cpp	2006-02-22 13:44:43.000000000 +1000
@@ -2617,6 +2617,7 @@ MythPasswordDialog::MythPasswordDialog(Q
     password_editor->setEchoMode(QLineEdit::Password);
     password_editor->setGeometry(textWidth + 20,10,135,30);
     password_editor->setBackgroundOrigin(ParentOrigin);
+    password_editor->setAllowVirtualKeyboard(false);
     connect(password_editor, SIGNAL(textChanged(const QString &)),
             this, SLOT(checkPassword(const QString &)));
 
diff -pruN mythtv-0.19/libs/libmyth/mythwidgets.cpp mythtv/libs/libmyth/mythwidgets.cpp
--- mythtv-0.19/libs/libmyth/mythwidgets.cpp	2005-11-22 18:51:53.000000000 +1000
+++ mythtv/libs/libmyth/mythwidgets.cpp	2006-03-17 17:32:14.000000000 +1000
@@ -353,7 +353,8 @@ void MythLineEdit::keyPressEvent(QKeyEve
                     (e->key() == Qt::Key_Enter) ||
                     (e->key() == Qt::Key_Return)))
             {
-                if (gContext->GetNumSetting("UseVirtualKeyboard", 1) == 1)
+                if ((allowVirtualKeyboard) &&
+				    (gContext->GetNumSetting("UseVirtualKeyboard", 1) == 1))
                 {
                     popup = new VirtualKeyboard(gContext->GetMainWindow(), this);
                     gContext->GetMainWindow()->detach(popup);
@@ -726,10 +727,11 @@ void MythRemoteLineEdit::keyPressEvent(Q
                 QWidget::focusNextPrevChild(true);
                 emit tryingToLooseFocus(true);
             }
-            else if (action == "SELECT" &&
-                    (e->text().isNull() ||
-                    (e->key() == Qt::Key_Enter) || 
-                    (e->key() == Qt::Key_Return)))
+            else if ((action == "SELECT") &&
+                     (!active_cycle) &&
+                     ((e->text().isNull()) ||
+                      (e->key() == Qt::Key_Enter) || 
+                      (e->key() == Qt::Key_Return)))
             {
                 if (gContext->GetNumSetting("UseVirtualKeyboard", 1) == 1)
                 {
@@ -749,7 +751,7 @@ void MythRemoteLineEdit::keyPressEvent(Q
     if (handled)
         return;
 
-    if (!handled && popup && popup->isShown())
+    if (popup && popup->isShown())
     {
         endCycle();
         QTextEdit::keyPressEvent(e);
diff -pruN mythtv-0.19/libs/libmyth/mythwidgets.h mythtv/libs/libmyth/mythwidgets.h
--- mythtv-0.19/libs/libmyth/mythwidgets.h	2005-10-30 21:41:09.000000000 +1000
+++ mythtv/libs/libmyth/mythwidgets.h	2006-02-22 13:44:43.000000000 +1000
@@ -122,17 +122,21 @@ class MythLineEdit : public QLineEdit 
     Q_OBJECT
   public:
     MythLineEdit(QWidget *parent=NULL, const char* widgetName=0) :
-      QLineEdit(parent, widgetName) { rw = true; Init(); };
+      QLineEdit(parent, widgetName)
+	    { rw = true; allowVirtualKeyboard = true; Init(); };
 
     MythLineEdit(const QString& contents, QWidget *parent=NULL, 
                  const char* widgetName=0) :
-      QLineEdit(contents, parent, widgetName) { rw = true; Init(); };
+      QLineEdit(contents, parent, widgetName)
+	    { rw = true; allowVirtualKeyboard = true; Init(); };
 
     virtual ~MythLineEdit();
 
     void setHelpText(QString help) { helptext = help; };
     void setRW(bool readwrite = true) { rw = readwrite; };
     void setRO() { rw = false; };
+    void setAllowVirtualKeyboard(bool allowKbd = true)
+	       { allowVirtualKeyboard = allowKbd; }
     void setPopupPosition(PopupPosition pos) { popupPosition = pos; }
     PopupPosition getPopupPosition(void) { return popupPosition; }
 
@@ -154,6 +158,7 @@ class MythLineEdit : public QLineEdit 
     VirtualKeyboard *popup;
     QString helptext;
     bool rw;
+    bool allowVirtualKeyboard;
     PopupPosition popupPosition;
 };
 
diff -pruN mythtv-0.19/libs/libmyth/remotefile.cpp mythtv/libs/libmyth/remotefile.cpp
--- mythtv-0.19/libs/libmyth/remotefile.cpp	2005-12-08 06:49:24.000000000 +1000
+++ mythtv/libs/libmyth/remotefile.cpp	2006-02-23 17:54:05.000000000 +1000
@@ -15,6 +15,7 @@ RemoteFile::RemoteFile(const QString &ur
     path = url;
     readposition = 0;
     filesize = -1;
+    timeoutisfast = false;
 
     query = "QUERY_FILETRANSFER %1";
 
@@ -295,4 +296,34 @@ bool RemoteFile::SaveAs(QByteArray &data
     Read(data.data(), filesize);
 
     return true;
-} 
+}
+
+void RemoteFile::SetTimeout(bool fast)
+{
+    if (timeoutisfast == fast)
+        return;
+
+    if (!sock)
+    {
+        VERBOSE(VB_NETWORK, "RemoteFile::Seek(): Called with no socket");
+        return;
+    }
+
+    if (!sock->isOpen() || sock->error())
+        return;
+
+    if (!controlSock->isOpen() || controlSock->error())
+        return;
+
+    QStringList strlist = QString(query).arg(recordernum);
+    strlist << "SET_TIMEOUT";
+    strlist << QString::number((int)fast);
+
+    lock.lock();
+    WriteStringList(controlSock, strlist);
+    ReadStringList(controlSock, strlist);
+    lock.unlock();
+
+    timeoutisfast = fast;
+}
+
diff -pruN mythtv-0.19/libs/libmyth/remotefile.h mythtv/libs/libmyth/remotefile.h
--- mythtv-0.19/libs/libmyth/remotefile.h	2005-12-08 06:49:24.000000000 +1000
+++ mythtv/libs/libmyth/remotefile.h	2006-02-23 17:54:05.000000000 +1000
@@ -27,6 +27,8 @@ class RemoteFile
 
     long long GetFileSize(void);
 
+    void SetTimeout(bool fast);
+
   private:
     QSocketDevice *openSocket(bool control);
 
@@ -43,6 +45,7 @@ class RemoteFile
     QMutex lock;
 
     long long filesize;
+    bool timeoutisfast;
 };
 
 #endif
diff -pruN mythtv-0.19/libs/libmyth/util.cpp mythtv/libs/libmyth/util.cpp
--- mythtv-0.19/libs/libmyth/util.cpp	2006-02-08 07:52:26.000000000 +1000
+++ mythtv/libs/libmyth/util.cpp	2006-03-19 05:32:52.000000000 +1000
@@ -1006,16 +1006,20 @@ long long getDiskSpace(const QString &fi
     long long freespace = -1;
     QCString cstr = file_on_disk.local8Bit();
 
-    if (statfs(cstr, &statbuf) == 0)
+    total = used = -1;
+
+    // there are cases where statfs will return 0 (good), but f_blocks and
+    // others are invalid and set to 0 (such as when an automounted directory
+    // is not mounted but still visible because --ghost was used),
+    // so check to make sure we can have a total size > 0
+    if ((statfs(cstr, &statbuf) == 0) &&
+        (statbuf.f_blocks > 0) &&
+        (statbuf.f_bsize > 0))
     {
         freespace = statbuf.f_bsize * (statbuf.f_bavail >> 10);
         total = statbuf.f_bsize * (statbuf.f_blocks >> 10);
         used  = total - freespace;
     }
-    else
-    {
-        freespace = total = used = -1;
-    }
 
     return freespace;
 }
diff -pruN mythtv-0.19/libs/libmythsoundtouch/AAFilter.cpp mythtv/libs/libmythsoundtouch/AAFilter.cpp
--- mythtv-0.19/libs/libmythsoundtouch/AAFilter.cpp	2004-11-14 08:29:45.000000000 +1000
+++ mythtv/libs/libmythsoundtouch/AAFilter.cpp	2004-11-14 08:29:45.000000000 +1000
@@ -12,7 +12,7 @@
 ///
 ////////////////////////////////////////////////////////////////////////////////
 //
-// Last changed  : $Date: 2004-11-13 17:29:45 -0500 (Sat, 13 Nov 2004) $
+// Last changed  : $Date: 2004-11-14 08:29:45 +1000 (Sun, 14 Nov 2004) $
 // File revision : $Revision: 4714 $
 //
 // $Id: AAFilter.cpp 4714 2004-11-13 22:29:45Z ijr $
diff -pruN mythtv-0.19/libs/libmythsoundtouch/AAFilter.h mythtv/libs/libmythsoundtouch/AAFilter.h
--- mythtv-0.19/libs/libmythsoundtouch/AAFilter.h	2004-11-14 08:29:45.000000000 +1000
+++ mythtv/libs/libmythsoundtouch/AAFilter.h	2004-11-14 08:29:45.000000000 +1000
@@ -13,7 +13,7 @@
 ///
 ////////////////////////////////////////////////////////////////////////////////
 //
-// Last changed  : $Date: 2004-11-13 17:29:45 -0500 (Sat, 13 Nov 2004) $
+// Last changed  : $Date: 2004-11-14 08:29:45 +1000 (Sun, 14 Nov 2004) $
 // File revision : $Revision: 4714 $
 //
 // $Id: AAFilter.h 4714 2004-11-13 22:29:45Z ijr $
diff -pruN mythtv-0.19/libs/libmythsoundtouch/BPMDetect.h mythtv/libs/libmythsoundtouch/BPMDetect.h
--- mythtv-0.19/libs/libmythsoundtouch/BPMDetect.h	2004-11-14 08:29:45.000000000 +1000
+++ mythtv/libs/libmythsoundtouch/BPMDetect.h	2004-11-14 08:29:45.000000000 +1000
@@ -26,7 +26,7 @@
 ///
 ////////////////////////////////////////////////////////////////////////////////
 //
-// Last changed  : $Date: 2004-11-13 17:29:45 -0500 (Sat, 13 Nov 2004) $
+// Last changed  : $Date: 2004-11-14 08:29:45 +1000 (Sun, 14 Nov 2004) $
 // File revision : $Revision: 4714 $
 //
 // $Id: BPMDetect.h 4714 2004-11-13 22:29:45Z ijr $
diff -pruN mythtv-0.19/libs/libmythsoundtouch/cpu_detect.h mythtv/libs/libmythsoundtouch/cpu_detect.h
--- mythtv-0.19/libs/libmythsoundtouch/cpu_detect.h	2004-11-14 08:29:45.000000000 +1000
+++ mythtv/libs/libmythsoundtouch/cpu_detect.h	2004-11-14 08:29:45.000000000 +1000
@@ -12,7 +12,7 @@
 ///
 ////////////////////////////////////////////////////////////////////////////////
 //
-// Last changed  : $Date: 2004-11-13 17:29:45 -0500 (Sat, 13 Nov 2004) $
+// Last changed  : $Date: 2004-11-14 08:29:45 +1000 (Sun, 14 Nov 2004) $
 // File revision : $Revision: 4714 $
 //
 // $Id: cpu_detect.h 4714 2004-11-13 22:29:45Z ijr $
diff -pruN mythtv-0.19/libs/libmythsoundtouch/cpu_detect_x86_gcc.cpp mythtv/libs/libmythsoundtouch/cpu_detect_x86_gcc.cpp
--- mythtv-0.19/libs/libmythsoundtouch/cpu_detect_x86_gcc.cpp	2005-01-24 16:42:19.000000000 +1000
+++ mythtv/libs/libmythsoundtouch/cpu_detect_x86_gcc.cpp	2005-01-24 16:42:19.000000000 +1000
@@ -12,7 +12,7 @@
 ///
 ////////////////////////////////////////////////////////////////////////////////
 //
-// Last changed  : $Date: 2005-01-24 01:42:19 -0500 (Mon, 24 Jan 2005) $
+// Last changed  : $Date: 2005-01-24 16:42:19 +1000 (Mon, 24 Jan 2005) $
 // File revision : $Revision: 5151 $
 //
 // $Id: cpu_detect_x86_gcc.cpp 5151 2005-01-24 06:42:19Z ijr $
diff -pruN mythtv-0.19/libs/libmythsoundtouch/FIFOSampleBuffer.cpp mythtv/libs/libmythsoundtouch/FIFOSampleBuffer.cpp
--- mythtv-0.19/libs/libmythsoundtouch/FIFOSampleBuffer.cpp	2004-11-14 08:29:45.000000000 +1000
+++ mythtv/libs/libmythsoundtouch/FIFOSampleBuffer.cpp	2004-11-14 08:29:45.000000000 +1000
@@ -15,7 +15,7 @@
 ///
 ////////////////////////////////////////////////////////////////////////////////
 //
-// Last changed  : $Date: 2004-11-13 17:29:45 -0500 (Sat, 13 Nov 2004) $
+// Last changed  : $Date: 2004-11-14 08:29:45 +1000 (Sun, 14 Nov 2004) $
 // File revision : $Revision: 4714 $
 //
 // $Id: FIFOSampleBuffer.cpp 4714 2004-11-13 22:29:45Z ijr $
diff -pruN mythtv-0.19/libs/libmythsoundtouch/FIFOSampleBuffer.h mythtv/libs/libmythsoundtouch/FIFOSampleBuffer.h
--- mythtv-0.19/libs/libmythsoundtouch/FIFOSampleBuffer.h	2004-11-14 08:29:45.000000000 +1000
+++ mythtv/libs/libmythsoundtouch/FIFOSampleBuffer.h	2004-11-14 08:29:45.000000000 +1000
@@ -15,7 +15,7 @@
 ///
 ////////////////////////////////////////////////////////////////////////////////
 //
-// Last changed  : $Date: 2004-11-13 17:29:45 -0500 (Sat, 13 Nov 2004) $
+// Last changed  : $Date: 2004-11-14 08:29:45 +1000 (Sun, 14 Nov 2004) $
 // File revision : $Revision: 4714 $
 //
 // $Id: FIFOSampleBuffer.h 4714 2004-11-13 22:29:45Z ijr $
diff -pruN mythtv-0.19/libs/libmythsoundtouch/FIFOSamplePipe.h mythtv/libs/libmythsoundtouch/FIFOSamplePipe.h
--- mythtv-0.19/libs/libmythsoundtouch/FIFOSamplePipe.h	2005-05-24 06:39:12.000000000 +1000
+++ mythtv/libs/libmythsoundtouch/FIFOSamplePipe.h	2005-05-24 06:39:12.000000000 +1000
@@ -17,7 +17,7 @@
 ///
 ////////////////////////////////////////////////////////////////////////////////
 //
-// Last changed  : $Date: 2005-05-23 16:39:12 -0400 (Mon, 23 May 2005) $
+// Last changed  : $Date: 2005-05-24 06:39:12 +1000 (Tue, 24 May 2005) $
 // File revision : $Revision: 6468 $
 //
 // $Id: FIFOSamplePipe.h 6468 2005-05-23 20:39:12Z ijr $
diff -pruN mythtv-0.19/libs/libmythsoundtouch/FIRFilter.cpp mythtv/libs/libmythsoundtouch/FIRFilter.cpp
--- mythtv-0.19/libs/libmythsoundtouch/FIRFilter.cpp	2004-11-14 08:29:45.000000000 +1000
+++ mythtv/libs/libmythsoundtouch/FIRFilter.cpp	2004-11-14 08:29:45.000000000 +1000
@@ -11,7 +11,7 @@
 ///
 ////////////////////////////////////////////////////////////////////////////////
 //
-// Last changed  : $Date: 2004-11-13 17:29:45 -0500 (Sat, 13 Nov 2004) $
+// Last changed  : $Date: 2004-11-14 08:29:45 +1000 (Sun, 14 Nov 2004) $
 // File revision : $Revision: 4714 $
 //
 // $Id: FIRFilter.cpp 4714 2004-11-13 22:29:45Z ijr $
diff -pruN mythtv-0.19/libs/libmythsoundtouch/FIRFilter.h mythtv/libs/libmythsoundtouch/FIRFilter.h
--- mythtv-0.19/libs/libmythsoundtouch/FIRFilter.h	2004-11-14 08:29:45.000000000 +1000
+++ mythtv/libs/libmythsoundtouch/FIRFilter.h	2004-11-14 08:29:45.000000000 +1000
@@ -11,7 +11,7 @@
 ///
 ////////////////////////////////////////////////////////////////////////////////
 //
-// Last changed  : $Date: 2004-11-13 17:29:45 -0500 (Sat, 13 Nov 2004) $
+// Last changed  : $Date: 2004-11-14 08:29:45 +1000 (Sun, 14 Nov 2004) $
 // File revision : $Revision: 4714 $
 //
 // $Id: FIRFilter.h 4714 2004-11-13 22:29:45Z ijr $
diff -pruN mythtv-0.19/libs/libmythsoundtouch/mmx_gcc.cpp mythtv/libs/libmythsoundtouch/mmx_gcc.cpp
--- mythtv-0.19/libs/libmythsoundtouch/mmx_gcc.cpp	2005-06-30 07:41:57.000000000 +1000
+++ mythtv/libs/libmythsoundtouch/mmx_gcc.cpp	2005-06-30 07:41:57.000000000 +1000
@@ -15,7 +15,7 @@
 ///
 ////////////////////////////////////////////////////////////////////////////////
 //
-// Last changed  : $Date: 2005-06-29 17:41:57 -0400 (Wed, 29 Jun 2005) $
+// Last changed  : $Date: 2005-06-30 07:41:57 +1000 (Thu, 30 Jun 2005) $
 // File revision : $Revision: 6741 $
 //
 // $Id: mmx_gcc.cpp 6741 2005-06-29 21:41:57Z ijr $
diff -pruN mythtv-0.19/libs/libmythsoundtouch/RateTransposer.cpp mythtv/libs/libmythsoundtouch/RateTransposer.cpp
--- mythtv-0.19/libs/libmythsoundtouch/RateTransposer.cpp	2004-11-14 08:29:45.000000000 +1000
+++ mythtv/libs/libmythsoundtouch/RateTransposer.cpp	2004-11-14 08:29:45.000000000 +1000
@@ -10,7 +10,7 @@
 ///
 ////////////////////////////////////////////////////////////////////////////////
 //
-// Last changed  : $Date: 2004-11-13 17:29:45 -0500 (Sat, 13 Nov 2004) $
+// Last changed  : $Date: 2004-11-14 08:29:45 +1000 (Sun, 14 Nov 2004) $
 // File revision : $Revision: 4714 $
 //
 // $Id: RateTransposer.cpp 4714 2004-11-13 22:29:45Z ijr $
diff -pruN mythtv-0.19/libs/libmythsoundtouch/RateTransposer.h mythtv/libs/libmythsoundtouch/RateTransposer.h
--- mythtv-0.19/libs/libmythsoundtouch/RateTransposer.h	2004-11-14 08:29:45.000000000 +1000
+++ mythtv/libs/libmythsoundtouch/RateTransposer.h	2004-11-14 08:29:45.000000000 +1000
@@ -14,7 +14,7 @@
 ///
 ////////////////////////////////////////////////////////////////////////////////
 //
-// Last changed  : $Date: 2004-11-13 17:29:45 -0500 (Sat, 13 Nov 2004) $
+// Last changed  : $Date: 2004-11-14 08:29:45 +1000 (Sun, 14 Nov 2004) $
 // File revision : $Revision: 4714 $
 //
 // $Id: RateTransposer.h 4714 2004-11-13 22:29:45Z ijr $
diff -pruN mythtv-0.19/libs/libmythsoundtouch/SoundTouch.cpp mythtv/libs/libmythsoundtouch/SoundTouch.cpp
--- mythtv-0.19/libs/libmythsoundtouch/SoundTouch.cpp	2005-11-12 09:19:13.000000000 +1000
+++ mythtv/libs/libmythsoundtouch/SoundTouch.cpp	2005-11-12 09:19:13.000000000 +1000
@@ -41,7 +41,7 @@
 ///
 ////////////////////////////////////////////////////////////////////////////////
 //
-// Last changed  : $Date: 2005-11-11 18:19:13 -0500 (Fri, 11 Nov 2005) $
+// Last changed  : $Date: 2005-11-12 09:19:13 +1000 (Sat, 12 Nov 2005) $
 // File revision : $Revision: 7850 $
 //
 // $Id: SoundTouch.cpp 7850 2005-11-11 23:19:13Z danielk $
diff -pruN mythtv-0.19/libs/libmythsoundtouch/SoundTouch.h mythtv/libs/libmythsoundtouch/SoundTouch.h
--- mythtv-0.19/libs/libmythsoundtouch/SoundTouch.h	2005-11-12 09:19:13.000000000 +1000
+++ mythtv/libs/libmythsoundtouch/SoundTouch.h	2005-11-12 09:19:13.000000000 +1000
@@ -41,7 +41,7 @@
 ///
 ////////////////////////////////////////////////////////////////////////////////
 //
-// Last changed  : $Date: 2005-11-11 18:19:13 -0500 (Fri, 11 Nov 2005) $
+// Last changed  : $Date: 2005-11-12 09:19:13 +1000 (Sat, 12 Nov 2005) $
 // File revision : $Revision: 7850 $
 //
 // $Id: SoundTouch.h 7850 2005-11-11 23:19:13Z danielk $
diff -pruN mythtv-0.19/libs/libmythsoundtouch/STTypes.h mythtv/libs/libmythsoundtouch/STTypes.h
--- mythtv-0.19/libs/libmythsoundtouch/STTypes.h	2005-01-21 16:08:36.000000000 +1000
+++ mythtv/libs/libmythsoundtouch/STTypes.h	2005-01-21 16:08:36.000000000 +1000
@@ -8,7 +8,7 @@
 ///
 ////////////////////////////////////////////////////////////////////////////////
 //
-// Last changed  : $Date: 2005-01-21 01:08:36 -0500 (Fri, 21 Jan 2005) $
+// Last changed  : $Date: 2005-01-21 16:08:36 +1000 (Fri, 21 Jan 2005) $
 // File revision : $Revision: 5097 $
 //
 // $Id: STTypes.h 5097 2005-01-21 06:08:36Z ijr $
diff -pruN mythtv-0.19/libs/libmythsoundtouch/TDStretch.cpp mythtv/libs/libmythsoundtouch/TDStretch.cpp
--- mythtv-0.19/libs/libmythsoundtouch/TDStretch.cpp	2004-11-14 08:29:45.000000000 +1000
+++ mythtv/libs/libmythsoundtouch/TDStretch.cpp	2004-11-14 08:29:45.000000000 +1000
@@ -13,7 +13,7 @@
 ///
 ////////////////////////////////////////////////////////////////////////////////
 //
-// Last changed  : $Date: 2004-11-13 17:29:45 -0500 (Sat, 13 Nov 2004) $
+// Last changed  : $Date: 2004-11-14 08:29:45 +1000 (Sun, 14 Nov 2004) $
 // File revision : $Revision: 4714 $
 //
 // $Id: TDStretch.cpp 4714 2004-11-13 22:29:45Z ijr $
diff -pruN mythtv-0.19/libs/libmythsoundtouch/TDStretch.h mythtv/libs/libmythsoundtouch/TDStretch.h
--- mythtv-0.19/libs/libmythsoundtouch/TDStretch.h	2004-11-14 08:29:45.000000000 +1000
+++ mythtv/libs/libmythsoundtouch/TDStretch.h	2004-11-14 08:29:45.000000000 +1000
@@ -13,7 +13,7 @@
 ///
 ////////////////////////////////////////////////////////////////////////////////
 //
-// Last changed  : $Date: 2004-11-13 17:29:45 -0500 (Sat, 13 Nov 2004) $
+// Last changed  : $Date: 2004-11-14 08:29:45 +1000 (Sun, 14 Nov 2004) $
 // File revision : $Revision: 4714 $
 //
 // $Id: TDStretch.h 4714 2004-11-13 22:29:45Z ijr $
diff -pruN mythtv-0.19/libs/libmythtv/avformatdecoder.cpp mythtv/libs/libmythtv/avformatdecoder.cpp
--- mythtv-0.19/libs/libmythtv/avformatdecoder.cpp	2006-02-07 04:09:58.000000000 +1000
+++ mythtv/libs/libmythtv/avformatdecoder.cpp	2006-03-31 11:55:22.000000000 +1000
@@ -725,7 +725,12 @@ int AvFormatDecoder::OpenFile(RingBuffer
         return -1;
     }
 
+    /* av_find_stream_info() eventually makes calls to avcodec_open() and avcodec_close() 
+       so we have to use the avcodeclock */
+    avcodeclock.lock();
     int ret = av_find_stream_info(ic);
+    avcodeclock.unlock();
+
     if (ret < 0)
     {
         VERBOSE(VB_IMPORTANT, LOC_ERR + "Could not find codec parameters. " +
diff -pruN mythtv-0.19/libs/libmythtv/dummydtvrecorder.cpp mythtv/libs/libmythtv/dummydtvrecorder.cpp
--- mythtv-0.19/libs/libmythtv/dummydtvrecorder.cpp	2005-12-15 01:54:48.000000000 +1000
+++ mythtv/libs/libmythtv/dummydtvrecorder.cpp	2006-04-20 23:52:51.000000000 +1000
@@ -125,7 +125,8 @@ void DummyDTVRecorder::StartRecording(vo
     // TRANSFER DATA
     while (_request_recording || _frames_seen_count <= 5)
     {
-        len = read(_stream_fd, &(_buffer[remainder]), _buffer_size - remainder);
+        len = read(_stream_fd, &(_buffer[remainder]),
+                   _buffer_size - remainder);
 
         if (len == 0)
         {
@@ -137,9 +138,8 @@ void DummyDTVRecorder::StartRecording(vo
 
         len += remainder;
         remainder = ProcessData(_buffer, len);
-        if (remainder > 0) // leftover bytes
-            memmove(_buffer, &(_buffer[_buffer_size - remainder]),
-                    remainder);
+        if (remainder > 0 && (len > remainder)) // leftover bytes
+            memmove(_buffer, &(_buffer[len - remainder]), remainder);
     }
 
     FinishRecording();
diff -pruN mythtv-0.19/libs/libmythtv/dvbconfparser.cpp mythtv/libs/libmythtv/dvbconfparser.cpp
--- mythtv-0.19/libs/libmythtv/dvbconfparser.cpp	2006-02-08 07:56:06.000000000 +1000
+++ mythtv/libs/libmythtv/dvbconfparser.cpp	2006-03-12 14:33:39.000000000 +1000
@@ -1,5 +1,5 @@
 /*
- * $Id: dvbconfparser.cpp 8901 2006-02-07 21:56:06Z danielk $
+ * $Id: dvbconfparser.cpp 9335 2006-03-12 04:33:39Z danielk $
  * vim: set expandtab tabstop=4 shiftwidth=4:
  *
  * Original Project
@@ -193,10 +193,10 @@ bool DVBConfParser::parseConfQPSK(QStrin
     QStringList::Iterator end = tokens.end();
 
     if (i != end) c.name = *i++; else return false;
-    if (i != end) c.frequency = (*i++).toInt(); else return false;
+    if (i != end) c.frequency = (*i++).toUInt()*1000; else return false;
     if (i == end || !c.polarity.parseConf(*i++)) return false;
     if (i == end ) return false; else i++; //Sat num
-    if (i != end) c.symbolrate = (*i++).toInt(); else return false;
+    if (i != end) c.symbolrate = (*i++).toUInt()*1000; else return false;
     if (i == end ) return false; else i++;
     if (i == end ) return false; else i++;
     if (i != end) c.serviceid = (*i++).toInt(); else return false;
diff -pruN mythtv-0.19/libs/libmythtv/dvbsignalmonitor.cpp mythtv/libs/libmythtv/dvbsignalmonitor.cpp
--- mythtv-0.19/libs/libmythtv/dvbsignalmonitor.cpp	2006-02-08 07:56:06.000000000 +1000
+++ mythtv/libs/libmythtv/dvbsignalmonitor.cpp	2006-04-20 23:46:13.000000000 +1000
@@ -348,8 +348,8 @@ void DVBSignalMonitor::RunTableMonitorTS
 
         len += remainder;
         remainder = GetStreamData()->ProcessData(buffer, len);
-        if (remainder > 0) // leftover bytes
-            memmove(buffer, &(buffer[buffer_size - remainder]), remainder);
+        if (remainder > 0 && (len > remainder)) // leftover bytes
+            memmove(buffer, &(buffer[len - remainder]), remainder);
     }
     VERBOSE(VB_CHANNEL, LOC + "RunTableMonitorTS(): " + "shutdown");
 
diff -pruN mythtv-0.19/libs/libmythtv/dvbtypes.cpp mythtv/libs/libmythtv/dvbtypes.cpp
--- mythtv-0.19/libs/libmythtv/dvbtypes.cpp	2005-12-16 10:23:00.000000000 +1000
+++ mythtv/libs/libmythtv/dvbtypes.cpp	2006-02-17 08:41:02.000000000 +1000
@@ -202,7 +202,7 @@ DVBParamHelper<fe_transmit_mode_t>::Tabl
 {
    {"TRANSMISSION_MODE_AUTO",TRANSMISSION_MODE_AUTO},
    {"TRANSMISSION_MODE_2K",TRANSMISSION_MODE_2K},
-   {"TRANSMISSION_MODE_8K",TRANSMISSION_MODE_2K},
+   {"TRANSMISSION_MODE_8K",TRANSMISSION_MODE_8K},
    {NULL,TRANSMISSION_MODE_AUTO},
 };
 
@@ -210,7 +210,7 @@ DVBParamHelper<fe_transmit_mode_t>::Tabl
 {
    {"999",TRANSMISSION_MODE_AUTO},
    {"2",TRANSMISSION_MODE_2K},
-   {"8",TRANSMISSION_MODE_2K},
+   {"8",TRANSMISSION_MODE_8K},
    {NULL,TRANSMISSION_MODE_AUTO},
 };
 
@@ -218,7 +218,7 @@ DVBParamHelper<fe_transmit_mode_t>::Tabl
 {
    {"auto",TRANSMISSION_MODE_AUTO},
    {"2",TRANSMISSION_MODE_2K},
-   {"8",TRANSMISSION_MODE_2K},
+   {"8",TRANSMISSION_MODE_8K},
    {NULL,TRANSMISSION_MODE_AUTO},
 };
 
diff -pruN mythtv-0.19/libs/libmythtv/frequencytables.cpp mythtv/libs/libmythtv/frequencytables.cpp
--- mythtv-0.19/libs/libmythtv/frequencytables.cpp	2006-01-19 02:46:14.000000000 +1000
+++ mythtv/libs/libmythtv/frequencytables.cpp	2006-04-13 00:21:41.000000000 +1000
@@ -283,104 +283,52 @@ static void init_freq_tables(freq_table_
         "ATSC Channel %1", 70, 809000000, 887000000, 6000000, VSB_8);
 #endif // USING_DVB
 
-    // USA Cable, QAM 256
-    fmap["atsc_qam256_uscable0"] = new FrequencyTable(
-        "QAM-256 Channel %1",   1, 75000000,1005000000, 6000000, QAM_256);
-    fmap["atsc_qam256_uscable1"] = new FrequencyTable(
-        "QAM-256 Channel T-%1", 7, 10000000,  52000000, 6000000, QAM_256);
-
-    // USA Cable, QAM 256 ch 78+
-    fmap["atsc_qam256_uscablehigh0"] = new FrequencyTable(
-        "QAM-256 Channel %1",  78,472000000,1005000000, 6000000, QAM_256);
-
-    // USA Cable HRC, QAM 256
-    fmap["atsc_qam256_ushrc0"] = new FrequencyTable(
-        "QAM-256 HRC %1",   1,  73750000,  73750001, 6000000, QAM_256);
-    fmap["atsc_qam256_ushrc1"] = new FrequencyTable(
-        "QAM-256 HRC %1",   2,  55750000,  67750000, 6000000, QAM_256);
-    fmap["atsc_qam256_ushrc2"] = new FrequencyTable(
-        "QAM-256 HRC %1",   5,  79750000,  85750000, 6000000, QAM_256);
-    fmap["atsc_qam256_ushrc3"] = new FrequencyTable(
-        "QAM-256 HRC %1",   7, 175750000, 643750000, 6000000, QAM_256);
-    fmap["atsc_qam256_ushrc4"] = new FrequencyTable(
-        "QAM-256 HRC %1",  95,  91750000, 114000000, 6000000, QAM_256);
-    fmap["atsc_qam256_ushrc5"] = new FrequencyTable(
-        "QAM-256 HRC %1", 100, 649750000, 799750000, 6000000, QAM_256);
-    fmap["atsc_qam256_ushrc6"] = new FrequencyTable(
-        "QAM-256 HRC T-%1", 7,   8175000,  50750000, 6000000, QAM_256);
-
-    // USA Cable HRC, QAM 256 ch 78+
-    fmap["atsc_qam256_ushrchigh0"] = new FrequencyTable(
-        "QAM-256 HRC %1",  78, 601750000, 643750000, 6000000, QAM_256);
-    fmap["atsc_qam256_ushrchigh1"] = new FrequencyTable(
-        "QAM-256 HRC %1", 100, 649750000, 799750000, 6000000, QAM_256);
-
-
-
-    // USA Cable, QAM 128
-    fmap["atsc_qam128_uscable0"] = new FrequencyTable(
-        "QAM-128 Channel %1",   1, 75000000,1005000000, 6000000, QAM_128);
-    fmap["atsc_qam128_uscable1"] = new FrequencyTable(
-        "QAM-128 Channel T-%1", 7, 10000000,  52000000, 6000000, QAM_128);
-
-    // USA Cable, QAM 128 ch 78+
-    fmap["atsc_qam128_uscablehigh0"] = new FrequencyTable(
-        "QAM-128 Channel %1",  78,472000000,1005000000, 6000000, QAM_128);
-
-    // USA Cable HRC, QAM 128
-    fmap["atsc_qam128_ushrc0"] = new FrequencyTable(
-        "QAM-128 HRC %1",   1,  73750000,  73750001, 6000000, QAM_128);
-    fmap["atsc_qam128_ushrc1"] = new FrequencyTable(
-        "QAM-128 HRC %1",   2,  55750000,  67750000, 6000000, QAM_128);
-    fmap["atsc_qam128_ushrc2"] = new FrequencyTable(
-        "QAM-128 HRC %1",   5,  79750000,  85750000, 6000000, QAM_128);
-    fmap["atsc_qam128_ushrc3"] = new FrequencyTable(
-        "QAM-128 HRC %1",   7, 175750000, 643750000, 6000000, QAM_128);
-    fmap["atsc_qam128_ushrc4"] = new FrequencyTable(
-        "QAM-128 HRC %1",  95,  91750000, 114000000, 6000000, QAM_128);
-    fmap["atsc_qam128_ushrc5"] = new FrequencyTable(
-        "QAM-128 HRC %1", 100, 649750000, 799750000, 6000000, QAM_128);
-    fmap["atsc_qam128_ushrc6"] = new FrequencyTable(
-        "QAM-128 HRC T-%1", 7,   8175000,  50750000, 6000000, QAM_128);
-
-    // USA Cable HRC, QAM 128 ch 78+
-    fmap["atsc_qam128_ushrchigh0"] = new FrequencyTable(
-        "QAM-128 HRC %1",  78, 601750000, 643750000, 6000000, QAM_128);
-    fmap["atsc_qam128_ushrchigh1"] = new FrequencyTable(
-        "QAM-128 HRC %1", 100, 649750000, 799750000, 6000000, QAM_128);
-
-
-
-
-    // USA Cable, QAM 64
-    fmap["atsc_qam64_uscable0"] = new FrequencyTable(
-        "QAM-64 Channel %1",    1, 75000000,1005000000, 6000000, QAM_64);
-    fmap["atsc_qam64_uscable1"] = new FrequencyTable(
-        "QAM-64 Channel T-%1",  7, 10000000,  52000000, 6000000, QAM_64);
-
-    // USA Cable, QAM 64 ch 78+
-    fmap["atsc_qam64_uscablehigh0"] = new FrequencyTable(
-        "QAM-64 Channel %1",   78,472000000,1005000000, 6000000, QAM_64);
-
-    // USA Cable HRC, QAM 64
-    fmap["atsc_qam64_ushrc0"] = new FrequencyTable(
-        "QAM-64 HRC %1",   1,  73750000,  73750001, 6000000, QAM_64);
-    fmap["atsc_qam64_ushrc1"] = new FrequencyTable(
-        "QAM-64 HRC %1",   2,  55750000,  67750000, 6000000, QAM_64);
-    fmap["atsc_qam64_ushrc2"] = new FrequencyTable(
-        "QAM-64 HRC %1",   5,  79750000,  85750000, 6000000, QAM_64);
-    fmap["atsc_qam64_ushrc3"] = new FrequencyTable(
-        "QAM-64 HRC %1",   7, 175750000, 643750000, 6000000, QAM_64);
-    fmap["atsc_qam64_ushrc4"] = new FrequencyTable(
-        "QAM-64 HRC %1",  95,  91750000, 114000000, 6000000, QAM_64);
-    fmap["atsc_qam64_ushrc5"] = new FrequencyTable(
-        "QAM-64 HRC %1", 100, 649750000, 799750000, 6000000, QAM_64);
-    fmap["atsc_qam64_ushrc6"] = new FrequencyTable(
-        "QAM-64 HRC T-%1", 7,   8175000,  50750000, 6000000, QAM_64);
-
-    // USA Cable HRC, QAM 64 ch 78+
-    fmap["atsc_qam64_ushrchigh0"] = new FrequencyTable(
-        "QAM-64 HRC %1",  78, 601750000, 643750000, 6000000, QAM_64);
-    fmap["atsc_qam64_ushrchigh1"] = new FrequencyTable(
-        "QAM-64 HRC %1", 100, 649750000, 799750000, 6000000, QAM_64);
+    QString modStr[] = { "vsb8",  "qam256",   "qam128",   "qam64",   };
+    uint    mod[]    = { VSB_8,    QAM_256,    QAM_128,    QAM_64,   };
+    QString desc[]   = { "ATSC ", "QAM-256 ", "QAM-128 ", "QAM-64 ", };
+
+#define FREQ(A,B, C,D, E,F,G, H) \
+    fmap[QString("atsc_%1_us%2").arg(A).arg(B)] = \
+        new FrequencyTable(C+D, E, F, G, 6000000, H);
+
+    for (uint i = 0; i < 3; i++)
+    {
+        // USA Cable, ch 1 to 155 and T.7 to T.14
+        FREQ(modStr[i], "cable0", desc[i], "Channel %1",
+             1, 75000000, 1005000000, mod[i]);
+        FREQ(modStr[i], "cable1", desc[i], "Channel T-%1",
+             7, 10000000,   52000000, mod[i]);
+        // USA Cable, QAM 256 ch 78 to 155
+        FREQ(modStr[i], "cablehigh0", desc[i], "Channel %1",
+             78, 537000000,1005000000, mod[i]);
+
+        QString std[]   = { "hrc",  "irc"   };
+        QString sdesc[] = { "HRC ", "IRC "  };
+        int     off[]   = { 0,      1250000 };
+
+        for (uint j = 0; j < 2; j++)
+        {
+            // USA Cable HRC/IRC, ch 1 to 125
+            FREQ(modStr[i], std[j] + "0", desc[i], sdesc[j] + "%1",
+                 1,   73750000 + off[j],  73750001 + off[j], mod[i]);
+            FREQ(modStr[i], std[j] + "1", desc[i], sdesc[j] + "%1",
+                 2,   55750000 + off[j],  67750000 + off[j], mod[i]);
+            FREQ(modStr[i], std[j] + "2", desc[i], sdesc[j] + "%1",
+                 5,   79750000 + off[j],  85750000 + off[j], mod[i]);
+            FREQ(modStr[i], std[j] + "3", desc[i], sdesc[j] + "%1",
+                 7,  175750000 + off[j], 643750000 + off[j], mod[i]);
+            FREQ(modStr[i], std[j] + "4", desc[i], sdesc[j] + "%1",
+                 95,  91750000 + off[j], 114000000 + off[j], mod[i]);
+            FREQ(modStr[i], std[j] + "5", desc[i], sdesc[j] + "%1",
+                 100, 649750000 + off[j], 799750000 + off[j], mod[i]);
+            FREQ(modStr[i], std[j] + "6", desc[i], sdesc[j] + "T-%1",
+                 7,     8175000 + off[j],  50750000 + off[j], mod[i]);
+
+            // USA Cable HRC/IRC, ch 67-125
+            FREQ(modStr[i], std[j] + "high0", desc[i], sdesc[j] + "%1",
+                 67,  535750000 + off[j], 643750000 + off[j], mod[i]);
+            FREQ(modStr[i], std[j] + "high1", desc[i], sdesc[j] + "%1",
+                 100, 649750000 + off[j], 799750000 + off[j], mod[i]);
+        }
+    }
 }
diff -pruN mythtv-0.19/libs/libmythtv/hdtvrecorder.cpp mythtv/libs/libmythtv/hdtvrecorder.cpp
--- mythtv-0.19/libs/libmythtv/hdtvrecorder.cpp	2005-12-24 00:59:28.000000000 +1000
+++ mythtv/libs/libmythtv/hdtvrecorder.cpp	2006-04-20 23:46:13.000000000 +1000
@@ -627,9 +627,8 @@ void HDTVRecorder::StartRecording(void)
 
         len += remainder;
         remainder = ProcessData(_buffer, len);
-        if (remainder > 0) // leftover bytes
-            memmove(_buffer, &(_buffer[_buffer_size - remainder]),
-                    remainder);
+        if (remainder > 0 && (len > remainder)) // leftover bytes
+            memmove(_buffer, &(_buffer[len - remainder]), remainder);
     }
 
     FinishRecording();
diff -pruN mythtv-0.19/libs/libmythtv/ivtvdecoder.cpp mythtv/libs/libmythtv/ivtvdecoder.cpp
--- mythtv-0.19/libs/libmythtv/ivtvdecoder.cpp	2006-02-09 01:40:42.000000000 +1000
+++ mythtv/libs/libmythtv/ivtvdecoder.cpp	2006-03-23 00:35:05.000000000 +1000
@@ -270,7 +270,9 @@ int IvtvDecoder::OpenFile(RingBuffer *rb
 
     GetNVP()->SetVideoParams(720 /*width*/, (ntsc) ? 480 : 576 /*height*/,
                              (ntsc) ? 29.97f : 25.0f, keyframedist, 1.33);
-     
+
+    fps = (ntsc) ? 29.97f : 25.0f; // save for later length calculations
+
     ringBuffer->UpdateRawBitrate(8000);
 
     if (m_playbackinfo || livetv || watchingrecording)
diff -pruN mythtv-0.19/libs/libmythtv/jobqueue.cpp mythtv/libs/libmythtv/jobqueue.cpp
--- mythtv-0.19/libs/libmythtv/jobqueue.cpp	2005-12-16 15:17:00.000000000 +1000
+++ mythtv/libs/libmythtv/jobqueue.cpp	2006-02-19 05:58:41.000000000 +1000
@@ -275,6 +275,11 @@ void JobQueue::ProcessQueue(void)
                     (hostname != "") &&
                     (hostname != m_hostname))
                 {
+                    // Setting the status here will prevent us from processing
+                    // any other jobs for this recording until this one is
+                    // completed on the remote host.
+                    jobStatus[key] = status;
+
                     message = QString("JobQueue: Skipping '%1' job for chanid "
                                       "%2 @ %3, should run on '%4' instead")
                                       .arg(JobText(type))
diff -pruN mythtv-0.19/libs/libmythtv/libmythtv.pro mythtv/libs/libmythtv/libmythtv.pro
--- mythtv-0.19/libs/libmythtv/libmythtv.pro	2006-01-13 18:11:45.000000000 +1000
+++ mythtv/libs/libmythtv/libmythtv.pro	2006-03-15 05:52:59.000000000 +1000
@@ -144,10 +144,10 @@ using_frontend {
     # On screen display (video output overlay)
     HEADERS += osd.h                    osdtypes.h
     HEADERS += osdsurface.h             osdlistbtntype.h
-    HEADERS += udpnotify.h 
+    HEADERS += osdimagecache.h          udpnotify.h 
     SOURCES += osd.cpp                  osdtypes.cpp
     SOURCES += osdsurface.cpp           osdlistbtntype.cpp
-    SOURCES += udpnotify.cpp 
+    SOURCES += osdimagecache.cpp        udpnotify.cpp 
 
     # Video output
     HEADERS += videooutbase.h           videoout_null.h
diff -pruN mythtv-0.19/libs/libmythtv/mpegrecorder.cpp mythtv/libs/libmythtv/mpegrecorder.cpp
--- mythtv-0.19/libs/libmythtv/mpegrecorder.cpp	2005-12-24 00:59:28.000000000 +1000
+++ mythtv/libs/libmythtv/mpegrecorder.cpp	2006-05-11 15:51:20.000000000 +1000
@@ -363,9 +363,9 @@ bool MpegRecorder::OpenV4L2DeviceAsInput
 
     if (ioctl(chanfd, VIDIOC_S_CTRL, &ctrl) < 0)
     {
-        cerr << "Error setting codec params\n";
+        cerr << "Warning, unable to set recording volume\n";
+        cerr << "This is normal if you have an AVerMedia M179 card.\n";
         perror("VIDIOC_S_CTRL:");
-        return false;
     }
 
     if (vbimode) {
@@ -481,6 +481,9 @@ void MpegRecorder::StartRecording(void)
                 continue;
             case 0:
                 printf("select timeout - ivtv driver has stopped responding\n");
+                if(close(readfd) != 0)
+                    perror("close");
+                readfd = -1; // Force PVR card to be reopened on next iteration
                 continue;
            default: break;
         }
diff -pruN mythtv-0.19/libs/libmythtv/NuppelVideoPlayer.cpp mythtv/libs/libmythtv/NuppelVideoPlayer.cpp
--- mythtv-0.19/libs/libmythtv/NuppelVideoPlayer.cpp	2006-02-08 07:56:06.000000000 +1000
+++ mythtv/libs/libmythtv/NuppelVideoPlayer.cpp	2006-04-27 01:23:01.000000000 +1000
@@ -147,6 +147,7 @@ NuppelVideoPlayer::NuppelVideoPlayer(QSt
       hascommbreaktable(false),
       deleteIter(deleteMap.end()),  blankIter(blankMap.end()),
       commBreakIter(commBreakMap.end()),
+      forcePositionMapSync(false),
       // Playback (output) speed control
       decoder_lock(true),
       next_play_speed(1.0f),        next_normal_speed(true),
@@ -747,6 +748,8 @@ int NuppelVideoPlayer::OpenFile(bool ski
         SetDecoder(new IvtvDecoder(this, m_playbackinfo));
         no_audio_out = true; // no audio with ivtv.
         audio_bits = 16;
+        audio_samplerate = 44100;
+        audio_channels = 2;
     }
     else if (forceVideoOutput == kVideoOutput_IVTV)
     {
@@ -1113,7 +1116,7 @@ void NuppelVideoPlayer::ShutdownYUVResiz
 const unsigned char *NuppelVideoPlayer::GetScaledFrame(QSize &size)
 {
     QMutexLocker locker(&yuv_lock);
-    yuv_desired_size = size = QSize(size.width() & ~0x3, size.height() & ~0x3);
+    yuv_desired_size = size = QSize(size.width() & ~0x7, size.height() & ~0x7);
 
     if ((size.width() > 0) && (size.height() > 0))
     {
@@ -1920,7 +1923,7 @@ void NuppelVideoPlayer::DisplayNormalFra
         ShowText();
         DisplaySubtitles();
     }
-    else if (osdHasSubtitles || nonDisplayedSubtitles.size() > 20)
+    else if (osdHasSubtitles)
     {
         ClearSubtitles();
     }
@@ -2176,7 +2179,10 @@ void NuppelVideoPlayer::SwitchToProgram(
     }
 
     if (eof)
+    {
         discontinuity = true;
+        ClearSubtitles();
+    }
 
     livetvchain->SetProgram(pginfo);
 
@@ -2199,6 +2205,7 @@ void NuppelVideoPlayer::SwitchToProgram(
     }
     if (IsErrored())
     {
+        VERBOSE(VB_IMPORTANT, LOC_ERR + "SwitchToProgram failed.");
         eof = true;
         return;
     }
@@ -2265,6 +2272,8 @@ void NuppelVideoPlayer::JumpToProgram(vo
     ringBuffer->Pause();
     ringBuffer->WaitForPause();
 
+    ClearSubtitles();
+
     livetvchain->SetProgram(pginfo);
 
     ringBuffer->Reset(true);
@@ -2284,6 +2293,7 @@ void NuppelVideoPlayer::JumpToProgram(vo
 
     if (errored || !GetDecoder())
     {
+        VERBOSE(VB_IMPORTANT, LOC_ERR + "JumpToProgram failed.");
         errored = true;
         return;
     }
@@ -2471,6 +2481,12 @@ void NuppelVideoPlayer::StartPlaying(voi
                 JumpToProgram();
         }
 
+        if (forcePositionMapSync)
+        {
+            forcePositionMapSync = false;
+            GetDecoder()->SyncPositionMap();
+        }
+
         if (IsErrored() || (nvr_enc && nvr_enc->GetErrorStatus()))
         {
             VERBOSE(VB_IMPORTANT, LOC_ERR + "Unknown error, exiting decoder");
@@ -4398,6 +4414,8 @@ void NuppelVideoPlayer::SetCommBreakMap(
     hascommbreaktable = !commBreakMap.isEmpty();
     SetCommBreakIter();
     commBreakMapLock.unlock();
+
+    forcePositionMapSync = true;
 }
 
 bool NuppelVideoPlayer::RebuildSeekTable(bool showPercentage, StatusCallback cb, void* cbData)
@@ -4541,7 +4559,8 @@ int NuppelVideoPlayer::GetSecondsBehind(
     return (int)((float)(written - played) / video_frame_rate);
 }
 
-void NuppelVideoPlayer::calcSliderPos(struct StatusPosInfo &posInfo)
+void NuppelVideoPlayer::calcSliderPos(struct StatusPosInfo &posInfo,
+                                      bool paddedFields)
 {
     posInfo.desc = "";
     posInfo.position = 0;
@@ -4588,15 +4607,23 @@ void NuppelVideoPlayer::calcSliderPos(st
     int ssecs = (playbackLen - shours * 3600 - smins * 60);
 
     QString text1, text2;
-    if (shours > 0)
+    if (paddedFields)
     {
-        text1.sprintf("%d:%02d:%02d", phours, pmins, psecs);
-        text2.sprintf("%d:%02d:%02d", shours, smins, ssecs);
+        text1.sprintf("%02d:%02d:%02d", phours, pmins, psecs);
+        text2.sprintf("%02d:%02d:%02d", shours, smins, ssecs);
     }
     else
     {
-        text1.sprintf("%d:%02d", pmins, psecs);
-        text2.sprintf("%d:%02d", smins, ssecs);
+        if (shours > 0)
+        {
+            text1.sprintf("%d:%02d:%02d", phours, pmins, psecs);
+            text2.sprintf("%d:%02d:%02d", shours, smins, ssecs);
+        }
+        else
+        {
+            text1.sprintf("%d:%02d", pmins, psecs);
+            text2.sprintf("%d:%02d", smins, ssecs);
+        }
     }
 
     posInfo.desc = QObject::tr("%1 of %2").arg(text1).arg(text2);
@@ -4654,6 +4681,7 @@ void NuppelVideoPlayer::AutoCommercialSk
 
             if (commBreakIter.key() == totalFrames)
             {
+                VERBOSE(VB_IMPORTANT, LOC + "Skipping commercial to end of file");
                 eof = true;
             }
             else
@@ -4721,7 +4749,7 @@ bool NuppelVideoPlayer::DoSkipCommercial
 
         QString message = "COMMFLAG_REQUEST ";
         message += m_playbackinfo->chanid + " " +
-                   m_playbackinfo->startts.toString(Qt::ISODate);
+                   m_playbackinfo->recstartts.toString(Qt::ISODate);
         RemoteSendMessage(message);
 
         return false;
@@ -5018,7 +5046,7 @@ void NuppelVideoPlayer::DisplaySubtitles
                 QImage scaledImage = qImage.smoothScale(rect->w, rect->h);
 
                 OSDTypeImage* image = new OSDTypeImage();
-                image->SetPosition(QPoint(rect->x, rect->y));
+                image->SetPosition(QPoint(rect->x, rect->y), hmult, vmult);
                 image->LoadFromQImage(scaledImage);
 
                 subtitleOSD->AddType(image);
diff -pruN mythtv-0.19/libs/libmythtv/NuppelVideoPlayer.h mythtv/libs/libmythtv/NuppelVideoPlayer.h
--- mythtv-0.19/libs/libmythtv/NuppelVideoPlayer.h	2006-02-03 04:06:32.000000000 +1000
+++ mythtv/libs/libmythtv/NuppelVideoPlayer.h	2006-03-18 08:22:45.000000000 +1000
@@ -150,7 +150,8 @@ class NuppelVideoPlayer
     // Complicated gets
     long long CalcMaxFFTime(long long ff, bool setjump = true) const;
     long long CalcRWTime(long long rw) const;
-    void      calcSliderPos(struct StatusPosInfo &posInfo);
+    void      calcSliderPos(struct StatusPosInfo &posInfo,
+                            bool paddedFields = false);
 
     /// Non-const gets
     OSD         *GetOSD(void)                 { return osd; }
@@ -543,6 +544,7 @@ class NuppelVideoPlayer
     QMap<long long, int>::Iterator deleteIter;
     QMap<long long, int>::Iterator blankIter;
     QMap<long long, int>::Iterator commBreakIter;
+    bool       forcePositionMapSync;
 
     // Playback (output) speed control
     /// Lock for next_play_speed and next_normal_speed
diff -pruN mythtv-0.19/libs/libmythtv/NuppelVideoRecorder.cpp mythtv/libs/libmythtv/NuppelVideoRecorder.cpp
--- mythtv-0.19/libs/libmythtv/NuppelVideoRecorder.cpp	2006-01-21 02:31:04.000000000 +1000
+++ mythtv/libs/libmythtv/NuppelVideoRecorder.cpp	2006-03-31 11:55:22.000000000 +1000
@@ -216,7 +216,10 @@ NuppelVideoRecorder::~NuppelVideoRecorde
     }
 
     if (mpa_codec)
+    {
+        QMutexLocker locker(&avcodeclock);
         avcodec_close(mpa_ctx);
+    }
 
     if (mpa_ctx)
         av_free(mpa_ctx);
@@ -453,8 +456,11 @@ bool NuppelVideoRecorder::SetupAVCodec(v
         useavcodec = true;
 
     if (mpa_codec)
+    {
+        QMutexLocker locker(&avcodeclock);
         avcodec_close(mpa_ctx);
-    
+    }
+
     if (mpa_ctx)
         av_free(mpa_ctx);
     mpa_ctx = NULL;
@@ -626,13 +632,14 @@ int NuppelVideoRecorder::AudioInit(bool 
     int frag, blocksize = 4096;
     int tmp;
 
-#if !defined (HAVE_SYS_SOUNDCARD_H) && !defined(HAVE_SOUNDCARD_H)
-    VERBOSE(VB_IMPORTANT, QString("NVR::AudioInit() This Unix doesn't support"
-                                  " device files for audio access. Skipping"));
-    return 1;
-#else
     if (!skipdevice)
     {
+#if !defined (HAVE_SYS_SOUNDCARD_H) && !defined(HAVE_SOUNDCARD_H)
+        VERBOSE(VB_IMPORTANT,
+                QString("NVR::AudioInit() This Unix doesn't support"
+                        " device files for audio access. Skipping"));
+        return 1;
+#else
         if (-1 == (afd = open(audiodevice.ascii(), O_RDONLY | O_NONBLOCK)))
         {
             VERBOSE(VB_IMPORTANT, QString("NVR: Error, cannot open DSP '%1'").
@@ -678,8 +685,8 @@ int NuppelVideoRecorder::AudioInit(bool 
         }
 
         close(afd);
-    }
 #endif
+    }
 
     audio_bytes_per_sample = audio_channels * audio_bits / 8;
     blocksize *= 4;
diff -pruN mythtv-0.19/libs/libmythtv/osd.cpp mythtv/libs/libmythtv/osd.cpp
--- mythtv-0.19/libs/libmythtv/osd.cpp	2006-01-27 14:55:51.000000000 +1000
+++ mythtv/libs/libmythtv/osd.cpp	2006-02-19 07:26:06.000000000 +1000
@@ -154,7 +154,8 @@ void OSD::SetDefaults(void)
         }
 
         OSDTypeCC *ccpage = new OSDTypeCC(name, ccfont, sub_xoff, sub_yoff,
-                                          sub_dispw, sub_disph);
+                                          sub_dispw, sub_disph,
+                                          wmult, hmult);
         container->AddType(ccpage);
     }
 
@@ -517,7 +518,7 @@ void OSD::parseBox(OSDSet *container, QD
         }
     }
 
-    OSDTypeBox *box = new OSDTypeBox(name, area);
+    OSDTypeBox *box = new OSDTypeBox(name, area, wmult, hmult);
     container->AddType(box);
 }
 
@@ -658,7 +659,7 @@ void OSD::parseTextArea(OSDSet *containe
         return;
     }
 
-    OSDTypeText *text = new OSDTypeText(name, ttffont, "", area);
+    OSDTypeText *text = new OSDTypeText(name, ttffont, "", area, wmult, hmult);
     container->AddType(text);
 
     text->SetMultiLine(multiline);
@@ -875,7 +876,7 @@ void OSD::parsePositionRects(OSDSet *con
                 QRect area = parseRect(getFirstText(info));
                 normalizeRect(area);
 
-                rects->AddPosition(area);
+                rects->AddPosition(area, wmult, hmult);
             }
             else
             {
@@ -919,7 +920,7 @@ void OSD::parsePositionImage(OSDSet *con
                 pos.setX((int)(pos.x() * wmult + xoffset));
                 pos.setY((int)(pos.y() * hmult + yoffset));
 
-                image->AddPosition(pos);
+                image->AddPosition(pos, wmult, hmult);
             }
             else if (info.tagName() == "staticsize")
             {
@@ -1925,7 +1926,7 @@ void OSD::ShowEditArrow(long long number
         image = new OSDTypeImage(*editarrowright);
     }
 
-    image->SetPosition(QPoint(xpos, ypos));
+    image->SetPosition(QPoint(xpos, ypos), wmult, hmult);
 
     set->AddType(image);
     set->Display();
diff -pruN mythtv-0.19/libs/libmythtv/osdimagecache.cpp mythtv/libs/libmythtv/osdimagecache.cpp
--- mythtv-0.19/libs/libmythtv/osdimagecache.cpp	1970-01-01 10:00:00.000000000 +1000
+++ mythtv/libs/libmythtv/osdimagecache.cpp	2006-05-10 09:54:43.000000000 +1000
@@ -0,0 +1,296 @@
+// -*- Mode: c++ -*-
+/** OSDImageCache
+ *  Copyright (c) 2006 by Pekka Jääskeläinen, Daniel Thor Kristjansson
+ *  Distributed as part of MythTV under GPL v2 and later.
+ */
+
+// POSIX headers
+#include <stdint.h>
+
+// Qt headers
+#include <qdir.h>
+#include <qfile.h>
+#include <qfileinfo.h>
+#include <qdatastream.h>
+#include <qdeepcopy.h>
+
+// MythTV headers
+#include "mythcontext.h"
+#include "osdimagecache.h"
+
+// Print statistics of OSD image access in the destructor of OSDImageCache
+//#define PRINT_OSD_IMAGE_CACHE_STATS
+
+#define LOC QString("OSDImgCache: ")
+#define LOC_ERR QString("OSDImgCache, Error: ")
+
+uint OSDImageCache::kMaximumMemoryCacheSize = 5 * 1024 * 1024;
+
+/** \fn OSDImageCacheValue::OSDImageCacheValue(unsigned char*,unsigned char*,unsighed char*,unsigned char*,unsighed char*, QRect)
+ *  \brief The main constructor that takes the image data as arguments.
+ *
+ *   The image data becomes property of the OSDImageCacheValue 
+ *   and will be deleted by it.
+ */
+OSDImageCacheValue::OSDImageCacheValue(
+    QString cacheKey,
+    unsigned char *yuv,     unsigned char *ybuffer,
+    unsigned char *ubuffer, unsigned char *vbuffer,
+    unsigned char *alpha,   QRect imagesize) :
+    m_yuv(yuv),         m_ybuffer(ybuffer),
+    m_ubuffer(ubuffer), m_vbuffer(vbuffer),
+    m_alpha(alpha),     m_imagesize(imagesize),
+    m_cacheKey(QDeepCopy<QString>(cacheKey))
+{
+    uint yuv_size = m_imagesize.width() * m_imagesize.height() * 3 / 2;
+    m_size_in_bytes =
+        (sizeof(OSDImageCacheValue)) + yuv_size + 
+        (m_imagesize.width() * m_imagesize.height());
+}
+
+/** \fn OSDImageCacheValue::~OSDImageCacheValue()
+ *  \brief Destructor, frees the cached bitmaps.
+ */
+OSDImageCacheValue::~OSDImageCacheValue()
+{
+    delete [] m_yuv;
+    m_yuv = NULL;
+    delete [] m_alpha;
+    m_alpha = NULL;
+}
+
+/** \fn OSDImageCache::OSDImageCache()
+ *  \brief Constructor, initializes the internal cache structures.
+ */
+OSDImageCache::OSDImageCache() : 
+    m_cacheLock(true), m_imageCache(kMaximumMemoryCacheSize, 50),
+    m_memHits(0), m_diskHits(0), m_misses(0) 
+{
+    // When the cache gets too large, items are
+    // automatically deleted from it in LRU order.
+    m_imageCache.setAutoDelete(true);
+}
+
+/** \fn OSDImageCache::~OSDImageCache()
+ *  \brief Destructor, frees all cached OSD images.
+ */
+OSDImageCache::~OSDImageCache() 
+{
+#ifdef PRINT_OSD_IMAGE_CACHE_STATS
+    int totalAccess = m_memHits + m_diskHits + m_misses;
+    if (totalAccess == 0)
+        return;
+
+#define LOG_PREFIX "OSDImageCache: "
+    VERBOSE(VB_IMPORTANT, LOC << " Statistics: " << endl
+            << LOG_PREFIX << m_imageCache.totalCost() << " bytes in cache\n" 
+            << LOG_PREFIX << " memory hits: " 
+            << m_memHits << ", " << m_memHits*100.0/totalAccess << "%\n"
+            << LOG_PREFIX << "   disk hits: " 
+            << m_diskHits << ", " << m_diskHits*100.0/totalAccess << "%\n"
+            << LOG_PREFIX << "      misses: " 
+            << m_misses << ", " << m_misses*100.0/totalAccess << "%");
+#undef LOC_PREFIX
+#endif
+    Reset();
+}
+
+/** \fn OSDImageCache::Contains(const QString&,bool)
+ *  \brief Returns true if cached OSD image was found in the cache.
+ *
+ *  \param key The key for this image.
+ *  \param useFile If true, also look from the disk cache.
+ */
+bool OSDImageCache::Contains(const QString &key, bool useFile) const
+{
+    QMutexLocker locker(&m_cacheLock);
+
+    if (m_imageCache.find(key) != NULL)
+        return true;
+
+    if (!useFile)
+        return false;
+
+    return InFileCache(key);
+}
+
+bool OSDImageCache::InFileCache(const QString &key) const
+{
+    // check if cache file exists
+    QDir dir(MythContext::GetConfDir() + "/osdcache/");
+    QFileInfo cFile(dir.path() + "/" + key);
+    if (!cFile.exists() || !cFile.isReadable())
+        return false;
+
+    // check if backing file exists
+    QString orig = ExtractOriginal(key);
+    if (orig.isEmpty())
+        return false;
+
+    QFileInfo oFile(orig);
+    if (!oFile.exists())
+    {
+        VERBOSE(VB_IMPORTANT, LOC + QString("Can't find '%1'").arg(orig));
+        return false;
+    }
+
+    // if cache file is older than backing file, delete cache file
+    if (cFile.lastModified() < oFile.lastModified())
+    {
+        cFile.dir().remove(cFile.baseName(true));
+        return false;
+    } 
+
+    return true;
+}
+
+/** \fn OSDImageCache::Get(const QString&,bool)
+ *  \brief Returns OSD image data from cache.
+ *
+ *   This also removes the image from the cache so it won't be deleted
+ *   while in use. The deletion of the taken item becomes responsibility
+ *   of the client. Returns NULL if item with the given key is not found.
+ *
+ *  \param key The key for this image.
+ *  \param useFile If true, also check the disk cache.
+ */
+OSDImageCacheValue *OSDImageCache::Get(const QString &key, bool useFile)
+{
+    QMutexLocker locker(&m_cacheLock);
+    OSDImageCacheValue* item = m_imageCache.find(key);
+    if (item)
+    {
+        m_memHits++;
+        return m_imageCache.take(key);
+    }
+
+    if (!useFile || !InFileCache(key))
+    {
+        m_misses++;
+        return NULL;
+    }
+
+    QDir dir(MythContext::GetConfDir() + "/osdcache/");
+    QFile cacheFile(dir.path() + "/" + key);
+    cacheFile.open(IO_ReadOnly);
+    uint32_t imwidth  = 0;
+    uint32_t imheight = 0;
+
+    QDataStream stream(&cacheFile);
+    stream >> imwidth >> imheight;   
+
+    uint yuv_size = imwidth * imheight * 3 / 2;
+    uint tot_size = (sizeof(imwidth) * 2) + yuv_size + (imwidth * imheight);
+
+    if (cacheFile.size() != tot_size)
+    {
+        VERBOSE(VB_IMPORTANT, LOC_ERR + key + " wrong cache file size!"
+                << cacheFile.size() << " != " << tot_size);
+        return NULL;
+    }
+
+    unsigned char *yuv = new unsigned char[yuv_size];
+    unsigned char *alpha = new unsigned char[imwidth * imheight];
+    stream.readRawBytes((char*)yuv,   yuv_size);
+    stream.readRawBytes((char*)alpha, imwidth * imheight);
+    cacheFile.close();
+
+    OSDImageCacheValue* value = 
+        new OSDImageCacheValue(
+            key,
+            yuv, yuv,
+            yuv + (imwidth * imheight),
+            yuv + (imwidth * imheight * 5 / 4),
+            alpha, QRect(0, 0, imwidth, imheight));
+
+    m_diskHits++;
+    return value;
+}
+
+/** \fn OSDImageCache::Insert(OSDImageCacheValue*)
+ *  \brief Inserts OSD image data to memory cache.
+ *
+ *   The item becomes property of the OSDImageCache and may be 
+ *   deleted any time by it.
+ *
+ *  \param value The cache item.
+ */
+void OSDImageCache::Insert(OSDImageCacheValue *value)
+{
+    if (!value)
+        return;
+
+    QMutexLocker locker(&m_cacheLock);
+    if (!m_imageCache.insert(value->GetKey(), value, value->GetSize()))
+    {
+        VERBOSE(VB_IMPORTANT, 
+                LOC_ERR + QString("inserting image to memory cache failed"));
+    }
+}
+
+
+/** \fn OSDImageCache::SaveToDisk(const OSDImageCacheValue*)
+ *  \brief Saves OSD image data to disk cache.
+ *
+ *   Item is not written to the memory cache, i.e., it stays as
+ *   property of the client.
+ *
+ *  \param value The cached OSD image to save.
+ */
+void OSDImageCache::SaveToDisk(const OSDImageCacheValue *value)
+{
+    if (InFileCache(value->GetKey()))
+        return;
+
+    QDir dir(MythContext::GetConfDir() + "/osdcache/");
+    if (!dir.exists() && !dir.mkdir(dir.path()))
+    {
+        VERBOSE(VB_IMPORTANT, LOC_ERR + "Creating osdcache directory failed.");
+        return;
+    }
+
+    QFile cacheFile(dir.path() + "/" + value->GetKey());
+    if (!cacheFile.open(IO_WriteOnly | IO_Truncate))
+    {
+        VERBOSE(VB_IMPORTANT, LOC_ERR + "Creating osdcache file failed.");
+        return;
+    }
+
+    uint32_t imwidth  = value->m_imagesize.width();
+    uint32_t imheight = value->m_imagesize.height();
+    uint     yuv_size = imwidth * imheight * 3 / 2;
+
+    QDataStream stream(&cacheFile);
+    stream << imwidth << imheight;   
+    stream.writeRawBytes((const char*)value->m_yuv, yuv_size);
+    stream.writeRawBytes((const char*)value->m_alpha, imwidth * imheight);
+    cacheFile.close();
+}
+
+/** \fn OSDImageCache::CreateKey(const QString&,float,float,int,int)
+ *  \brief Generates a cache key from the given OSD image parameters.
+ *
+ *   The returned key is a string that can be safely used as a file name.
+ */
+QString OSDImageCache::CreateKey(const QString &filename, float wmult, 
+                                 float hmult, int scalew, int scaleh)
+{
+    QString tmp = filename;
+    return QString("cache_%1@%2_%3_%4_%5").arg(tmp.replace(QChar('/'), "+"))
+        .arg(wmult).arg(hmult).arg(scalew).arg(scaleh);
+}
+
+QString OSDImageCache::ExtractOriginal(const QString &key)
+{
+    QString tmp0 = key.mid(6);
+    QString tmp1 = tmp0.left(tmp0.find("@"));
+    QString tmp2 = tmp1.replace(QChar('+'), "/");
+    return tmp2;
+}
+
+void OSDImageCache::Reset(void)
+{
+    QMutexLocker locker(&m_cacheLock);
+    // this also deletes the images due to setAutoDelete(true)
+    m_imageCache.clear();
+}
diff -pruN mythtv-0.19/libs/libmythtv/osdimagecache.h mythtv/libs/libmythtv/osdimagecache.h
--- mythtv-0.19/libs/libmythtv/osdimagecache.h	1970-01-01 10:00:00.000000000 +1000
+++ mythtv/libs/libmythtv/osdimagecache.h	2006-05-10 09:54:43.000000000 +1000
@@ -0,0 +1,74 @@
+// -*- Mode: c++ -*-
+
+// POSIX headers
+#include <stdint.h>
+
+// Qt headers
+#include <qmap.h>
+#include <qrect.h>
+#include <qmutex.h>
+#include <qstring.h>
+#include <qasciicache.h>
+
+class OSDImageCacheValue
+{
+  public:
+    OSDImageCacheValue(QString cacheKey,
+		       unsigned char *yuv,     unsigned char *ybuffer,
+                       unsigned char *ubuffer, unsigned char *vbuffer,
+                       unsigned char *alpha,   QRect imagesize);
+
+    virtual ~OSDImageCacheValue();
+
+    uint    GetSize(void) const { return m_size_in_bytes; }
+    QString GetKey(void)  const { return m_cacheKey;      }
+
+  public:
+    unsigned char *m_yuv;
+    unsigned char *m_ybuffer;
+    unsigned char *m_ubuffer;
+    unsigned char *m_vbuffer;
+    unsigned char *m_alpha;
+    QRect          m_imagesize;
+
+  private:
+    uint           m_size_in_bytes;
+    QString        m_cacheKey;
+};
+
+typedef QAsciiCache<OSDImageCacheValue> img_cache_t;
+
+class OSDImageCache
+{
+  public:
+    OSDImageCache();
+    virtual ~OSDImageCache();
+
+    bool InFileCache(const QString &key) const;
+
+    bool Contains(const QString &key, bool useFile) const;
+
+    OSDImageCacheValue *Get(const QString &key, bool useFile);
+
+    void Insert(OSDImageCacheValue* value);
+
+    void SaveToDisk(const OSDImageCacheValue *value);
+
+    void Reset(void);
+
+    static QString CreateKey(const QString &filename,
+                             float wmult, float hmult,
+                             int scalew,  int scaleh);
+
+    static QString ExtractOriginal(const QString &key);
+
+  private:
+    mutable QMutex m_cacheLock;
+    img_cache_t    m_imageCache;
+    int            m_memHits;
+    int            m_diskHits;
+    int            m_misses;
+
+    /// Limit on the maximum total size of OSD images cached in *memory*.
+    static uint    kMaximumMemoryCacheSize;
+};
diff -pruN mythtv-0.19/libs/libmythtv/osdlistbtntype.cpp mythtv/libs/libmythtv/osdlistbtntype.cpp
--- mythtv-0.19/libs/libmythtv/osdlistbtntype.cpp	2005-12-05 11:39:09.000000000 +1000
+++ mythtv/libs/libmythtv/osdlistbtntype.cpp	2006-02-19 07:26:06.000000000 +1000
@@ -19,206 +19,148 @@
  * 
  * ============================================================ */
 
-#include <iostream>
+// ANSI C headers
+#include <cmath>
 
+// C++ headers
+#include <algorithm>
+using namespace std;
+
+// Qt headers
 #include <qapplication.h>
 #include <qpixmap.h>
 #include <qpainter.h>
 #include <qimage.h>
 #include <qcolor.h>
 
+// MythTV headers
 #include "mythcontext.h"
 #include "mythdialogs.h"
-
 #include "osdlistbtntype.h"
 
+#define LOC QString("OSDListTreeType: ")
+#define LOC_ERR QString("OSDListTreeType, Error: ")
 
-OSDGenericTree::OSDGenericTree(OSDGenericTree *parent, const QString &name, 
-                               const QString &action, int check, 
-                               OSDTypeImage *image, QString group)
-              : GenericTree(name)
-{
-    m_checkable = check;
-    m_action = action;
-    m_image = image;
-    m_parentButton = NULL;
-
-    if (group != "")
-        m_group = group;
-    else
-        m_group = action;
-
-    if (!action.isEmpty() && !action.isNull())
-        setSelectable(true);
-
-    if (parent)
-        parent->addNode(this);
-}
-
-////////////////////////////////////////////////////////////////////////////
-
-OSDListTreeType::OSDListTreeType(const QString &name, const QRect &area,
-                                 const QRect &levelsize, int levelspacing,
-                                 float wmult, float hmult)
-               : OSDType(name)
+static QRect unbias(QRect rect, float wmult, float hmult)
 {
-    m_wmult = wmult;
-    m_hmult = hmult;
-
-    m_totalarea = area;
-    m_levelsize = levelsize;
-    m_levelspacing = levelspacing;
-
-    if (gContext->GetNumSetting("UseArrowAccels", 1))
-        m_arrowAccel = true;
-    else
-        m_arrowAccel = false;
-    
-    levels = 0;
-    curlevel = -1;
-
-    treetop = NULL;
-    currentpos = NULL;
-
-    currentlevel = NULL;
-
-    listLevels.setAutoDelete(true);
-
-    m_active = NULL;
-    m_inactive = NULL;
+    return QRect((int)round(rect.x()      / wmult),
+                 (int)round(rect.y()      / hmult),
+                 (int)ceil( rect.width()  / wmult),
+                 (int)ceil( rect.height() / hmult));
+}
+
+static QRect bias(QRect rect, float wmult, float hmult)
+{
+    return QRect((int)round(rect.x()      * wmult),
+                 (int)round(rect.y()      * hmult),
+                 (int)ceil( rect.width()  * wmult),
+                 (int)ceil( rect.height() * hmult));
+}
+
+OSDListTreeType::OSDListTreeType(
+    const QString &name,      const QRect &area,
+    const QRect   &levelsize, int          levelspacing,
+    float          wmult,     float        hmult)
+    : OSDType(name),
+      treetop(NULL),                    currentpos(NULL),
+      m_active(NULL),                   m_inactive(NULL),
+      m_itemRegBeg(Qt::black),          m_itemRegEnd(QColor(80,80,80)),
+      m_itemSelBeg(QColor(82,202,56)),  m_itemSelEnd(QColor(52,152,56)),
+      m_itemRegAlpha(100),              m_itemSelAlpha(255),
+      m_spacing(0),                     m_margin(0),
+      m_levelspacing(levelspacing),
+      m_totalarea(area),                m_levelsize(levelsize),
+      m_unbiasedspacing(1.0f),          m_unbiasedmargin(1.0f),
+      m_unbiasedarea(0,0,0,0),          m_unbiasedsize(0,0,0,0),
+      m_wmult(wmult),                   m_hmult(hmult),
+      m_depth(0),                        m_levelnum(-1),
+      m_visible(true),
+      m_arrowAccel(gContext->GetNumSetting("UseArrowAccels", 1))
+{
+    m_wmult        = (wmult == 0.0f) ? 1.0f : wmult;
+    m_hmult        = (hmult == 0.0f) ? 1.0f : hmult;
+    m_unbiasedarea = unbias(area,      wmult, hmult);
+    m_unbiasedsize = unbias(levelsize, wmult, hmult);
+}
+
+OSDListTreeType::~OSDListTreeType()
+{
+    OSDListBtnList::iterator it = listLevels.begin();
+    for (; it != listLevels.end(); ++it)
+        delete *it;    
+}
+
+void OSDListTreeType::Reinit(float wmult, float hmult)
+{
+    m_wmult     = (wmult == 0.0f) ? 1.0f : wmult;
+    m_hmult     = (hmult == 0.0f) ? 1.0f : hmult;
+    m_spacing   = (uint) round(m_unbiasedspacing * wmult);
+    m_margin    = (uint) round(m_unbiasedmargin  * wmult);
+    m_totalarea = bias(m_unbiasedarea, wmult, hmult);
+    m_levelsize = bias(m_unbiasedsize, wmult, hmult);
+
+    if (!treetop || m_levelnum < 0)
+        return;
+
+    // Save item indices
+    vector<uint> list;
+    for (uint i = 0; i <= (uint)m_levelnum; i++)
+        list.push_back(listLevels[i]->GetItemCurrentPos());
+
+    // Delete old OSD items
+    OSDListBtnList clone = listLevels;
+    listLevels.clear();
+    OSDListBtnList::iterator it = clone.begin();
+    for (; it != clone.end(); ++it)
+        delete *it;
 
-    SetItemRegColor(Qt::black,QColor(80,80,80),100);
-    SetItemSelColor(QColor(82,202,56),QColor(52,152,56),255);
-
-    m_spacing = 0;
-    m_margin = 0;
-}
-
-void OSDListTreeType::Reinit(float wchange, float hchange, float wmult,
-                             float hmult)
-{
-    m_wmult = wmult;
-    m_hmult = hmult;
-
-    m_spacing = (int)(m_spacing * wchange);
-    m_margin = (int)(m_margin * wchange);
-
-    int width = (int)(m_totalarea.width() * wchange);
-    int height = (int)(m_totalarea.height() * hchange);
-    int x = (int)(m_totalarea.x() * wchange);
-    int y = (int)(m_totalarea.y() * hchange);
-
-    m_totalarea = QRect(x, y, width, height);
-
-    width = (int)(m_levelsize.width() * wchange);
-    height = (int)(m_levelsize.height() * hchange);
-    x = (int)(m_levelsize.x() * wchange);
-    y = (int)(m_levelsize.y() * hchange);
-
-    m_levelsize = QRect(x, y, width, height);
-
-    QPtrListIterator<OSDListBtnType> it(listLevels);
-    OSDListBtnType *child;
-
-    while ((child = it.current()) != 0)
-    {
-        child->Reinit(wchange, hchange, wmult, hmult);
-        ++it;
-    }
+    // Create new OSD items
+    SetAsTree(treetop, &list);
 }
 
 void OSDListTreeType::SetGroupCheckState(QString group, int newState)
 {
-    QPtrListIterator<OSDListBtnType> it(listLevels);
-    OSDListBtnType *child;
-    while ((child = it.current()) != 0)
-    {
-        child->SetGroupCheckState(group, newState);
-        ++it;
-    }
+    OSDListBtnList::iterator it = listLevels.begin();
+    for (; it != listLevels.end(); ++it)
+        (*it)->SetGroupCheckState(group, newState);
 }
 
-void OSDListTreeType::SetItemRegColor(const QColor& beg, const QColor& end,
-                                      uint alpha)
-{
-    m_itemRegBeg   = beg;
-    m_itemRegEnd   = end;
-    m_itemRegAlpha = alpha;
-}
-
-void OSDListTreeType::SetItemSelColor(const QColor& beg, const QColor& end,
-                                      uint alpha)
-{
-    m_itemSelBeg   = beg;
-    m_itemSelEnd   = end;
-    m_itemSelAlpha = alpha;
-}
-
-void OSDListTreeType::SetFontActive(TTFFont *font)
-{
-    m_active = font;
-}
-
-void OSDListTreeType::SetFontInactive(TTFFont *font)
-{
-    m_inactive = font;
-}
-
-void OSDListTreeType::SetSpacing(int spacing)
-{
-    m_spacing = spacing;
-}
-
-void OSDListTreeType::SetMargin(int margin)
-{
-    m_margin = margin;
-}
-
-void OSDListTreeType::SetAsTree(OSDGenericTree *toplevel)
+void OSDListTreeType::SetAsTree(OSDGenericTree *toplevel,
+                                vector<uint> *select_list)
 {
     if (treetop)
     {
         listLevels.clear();
-        currentlevel = NULL;
-        treetop = NULL;
-        currentpos = NULL;
-        levels = 0;
-        curlevel = -1;
+        treetop      = NULL;
+        currentpos   = NULL;
+        m_depth      = 0;
+        m_levelnum   = -1;
     }
 
-    levels = toplevel->calculateDepth(0) - 1;
-
-    if (levels <= 0)
+    m_depth = toplevel->calculateDepth(0) - 1;
+    if (m_depth <= 0)
     {
-        cerr << "Need at least one level\n";
+        VERBOSE(VB_IMPORTANT, LOC_ERR + "SetAsTree: Need at least one level");
         return;
     }
 
-    currentpos = (OSDGenericTree *)toplevel->getChildAt(0);
-
+    currentpos = (OSDGenericTree*) toplevel->getChildAt(0);
     if (!currentpos)
     {
-        cerr << "No top-level children?\n";
+        VERBOSE(VB_IMPORTANT, LOC_ERR + "SetAsTree: Need top-level children");
         return;
     }
 
-    treetop = toplevel;
-
-    // just for now, remove later
-    if (levels > 2)
-        levels = 3;
-
-    for (int i = 0; i < levels; i++)
+    // Create OSD buttons for all levels
+    for (uint i = 0; i < (uint)m_depth; i++)
     {
         QString levelname = QString("level%1").arg(i + 1);
-
         QRect curlevelarea = m_levelsize;
         curlevelarea.moveBy(m_totalarea.x(), m_totalarea.y());
-
         curlevelarea.moveBy((m_levelsize.width() + m_levelspacing) * i, 0);
 
-        OSDListBtnType *newlevel = new OSDListBtnType(levelname, curlevelarea,
-                                                      m_wmult, m_hmult, true);
+        OSDListBtnType *newlevel = new OSDListBtnType(
+            levelname, curlevelarea, m_wmult, m_hmult, true);
 
         newlevel->SetFontActive(m_active);
         newlevel->SetFontInactive(m_inactive);
@@ -227,229 +169,200 @@ void OSDListTreeType::SetAsTree(OSDGener
         newlevel->SetSpacing(m_spacing);
         newlevel->SetMargin(m_margin);
 
-        listLevels.append(newlevel);
+        listLevels.push_back(newlevel);
     }
 
-    currentlevel = GetLevel(0);
+    // Set up needed levels and selects
+    vector<uint> slist;
+    slist.push_back(0);
+    if (select_list)
+        slist = *select_list;
 
-    if (!currentlevel)
+    currentpos = treetop = toplevel;
+    for (m_levelnum = 0; m_levelnum < (int)slist.size(); m_levelnum++)
     {
-        cerr << "Something is seriously wrong (currentlevel = NULL)\n";
-        return;
+        FillLevelFromTree(currentpos, m_levelnum);
+        GetLevel(m_levelnum)->SetActive(true);
+        GetLevel(m_levelnum)->SetVisible(true);
+        if (slist[m_levelnum])
+            GetLevel(m_levelnum)->SetItemCurrent(slist[m_levelnum]);
+        EnterItem(); // updates currentpos
     }
-
-    FillLevelFromTree(toplevel, currentlevel);
-
-    currentlevel->SetVisible(true);
-    currentlevel->SetActive(true);
-
-    currentpos = (OSDGenericTree *)(currentlevel->GetItemFirst()->getData());
-    curlevel = 0;
-
-    emit itemEntered(this, currentpos);
+    m_levelnum--;
 }
 
-OSDGenericTree *OSDListTreeType::GetCurrentPosition(void)
+static bool has_action(QString action, const QStringList &actions)
 {
-    return currentpos;
+    QStringList::const_iterator it;
+    for (it = actions.begin(); it != actions.end(); ++it)
+    {
+        if (action == *it)
+            return true;
+    }
+    return false;
 }
 
 bool OSDListTreeType::HandleKeypress(QKeyEvent *e)
 {
-    if (!currentlevel)
+    QStringList actions;
+    bool ok = gContext->GetMainWindow()->TranslateKeyPress(
+        "TV Playback", e, actions);
+
+    if (!ok || ((uint)m_levelnum >= listLevels.size()))
         return false;
+    else if (has_action("UP", actions))
+    {
+        GetLevel(m_levelnum)->MoveUp();
+        EnterItem();
+    }
+    else if (has_action("DOWN", actions))
+    {
+        GetLevel(m_levelnum)->MoveDown();
+        EnterItem();
+    }
+    else if (has_action("LEFT", actions) && (m_levelnum > 0))
+    {
+        GetLevel(m_levelnum)->Reset();
+        GetLevel(m_levelnum)->SetVisible(false);
 
-    bool handled = false;
-    QStringList actions;
-    if (gContext->GetMainWindow()->TranslateKeyPress("TV Playback", e, 
-                                                     actions))
+        m_levelnum--;
+        EnterItem();
+    }
+    else if ((has_action("LEFT", actions) && m_arrowAccel) ||
+             has_action("ESCAPE",   actions) ||
+             has_action("CLEAROSD", actions) ||
+             has_action("MENU",     actions))
     {
-        for (unsigned int i = 0; i < actions.size() && !handled; i++)
-        {
-            QString action = actions[i];
-            handled = true;
+        m_visible = false;
+    }
+    else if (has_action("RIGHT", actions) &&
+             (m_levelnum + 1 < m_depth) &&
+             (currentpos->childCount() > 0))
+    {
+        GetLevel(m_levelnum)->SetActive(false);
+        m_levelnum++;
 
-            if (action == "UP")
-            {
-                currentlevel->MoveUp();
-                SetCurrentPosition();
-            }
-            else if (action == "DOWN")
-            {
-                currentlevel->MoveDown();
-                SetCurrentPosition();
-            }
-            else if (action == "LEFT")
-            {
-                if (curlevel > 0)
-                {
-                    currentlevel->Reset();
-                    currentlevel->SetVisible(false);
-
-                    curlevel--;
-
-                    currentlevel = GetLevel(curlevel);
-                    currentlevel->SetActive(true);
-                    SetCurrentPosition();
-                }
-                else if (m_arrowAccel)
-                {
-                    m_visible = false;
-                }
-            }
-            else if (action == "RIGHT")
-            {
-                // FIXME: create new levels if needed..
-                if (curlevel + 1 < levels && currentpos->childCount() > 0)
-                {
-                    currentlevel->SetActive(false);
-
-                    curlevel++;
-
-                    currentlevel = GetLevel(curlevel);
-
-                    FillLevelFromTree(currentpos, currentlevel);
-
-                    currentlevel->SetVisible(true);
-                    currentlevel->SetActive(true);
-                    SetCurrentPosition();
-                }
-                else if (m_arrowAccel)
-                {
-                    SetGroupCheckState(currentpos->getGroup(),
-                                       OSDListBtnTypeItem::NotChecked);
-                    currentpos->getParentButton()->setChecked(
-                                       OSDListBtnTypeItem::FullChecked);
-                    emit itemSelected(this, currentpos);
-                }
-            }
-            else if (action == "ESCAPE" || action == "MENU" ||
-                     action == "CLEAROSD")
-                m_visible = false;
-            else if (action == "SELECT")
-            {
-                SetGroupCheckState(currentpos->getGroup(),
-                                   OSDListBtnTypeItem::NotChecked);
-                currentpos->getParentButton()->setChecked(
-                                   OSDListBtnTypeItem::FullChecked);
-                emit itemSelected(this, currentpos);
-            }
-            else
-                handled = false;
-        }
+        FillLevelFromTree(currentpos, m_levelnum);
+        GetLevel(m_levelnum)->SetVisible(true);
+        EnterItem();
+    }
+    else if ((has_action("RIGHT", actions) && m_arrowAccel) ||
+             has_action("SELECT", actions))
+    {
+        SelectItem();
+    }
+    else
+    {
+        return false;
     }
 
-    return handled;
+    return true;
 }
 
 void OSDListTreeType::Draw(OSDSurface *surface, int fade, int maxfade, 
                            int xoff, int yoff)
 {
-    QPtrListIterator<OSDListBtnType> it(listLevels);
-    OSDListBtnType *child;
-
-    while ((child = it.current()) != 0)
-    {
-        child->Draw(surface, fade, maxfade, xoff, yoff);
-        ++it;
-    }
+    OSDListBtnList::iterator it = listLevels.begin();
+    for (; it != listLevels.end(); ++it)
+        (*it)->Draw(surface, fade, maxfade, xoff, yoff);
 }
 
 void OSDListTreeType::FillLevelFromTree(OSDGenericTree *item, 
-                                        OSDListBtnType *list)
+                                        uint level_num)
 {
+    OSDListBtnType *list = GetLevel(level_num);
     if (!list)
     {
-        VERBOSE(VB_IMPORTANT, "OSDListTreeType::FillLevelFromTree() "
-                "called with no list. Ignoring call.");
+        VERBOSE(VB_IMPORTANT, LOC_ERR + "FillLevelFromTree() "
+                "called with no list, ignoring.");
         return;
     }
     list->Reset();
 
     QPtrList<GenericTree> *itemlist = item->getAllChildren();
-
     QPtrListIterator<GenericTree> it(*itemlist);
-    GenericTree *child;
 
-    while ((child = it.current()) != 0)
-    {
-        OSDGenericTree *osdchild = (OSDGenericTree *)child;
+    OSDGenericTree     *child   = (OSDGenericTree*) it.current();
+    OSDListBtnTypeItem *newitem = NULL;
+    for (;(child = (OSDGenericTree*) it.current()); ++it)
+    {
+        OSDTypeImage *im = child->getImage();
+        QString label    = child->getString();
+        QString group    = child->getGroup();
+        bool    canCheck = child->getCheckable() >= 0;
+        bool    hasCheck = child->getCheckable() == 1;
+        bool    hasChild = child->childCount()   >  0;
 
-        OSDListBtnTypeItem *newitem;
-        newitem = new OSDListBtnTypeItem(list, child->getString(),
-                                         osdchild->getImage(), 
-                                         (osdchild->getCheckable() >= 0),
-                                         (child->childCount() > 0));
-        if (osdchild->getCheckable() == 1)
+        newitem = new OSDListBtnTypeItem(list, label, im, canCheck, hasChild);
+
+        if (hasCheck)
             newitem->setChecked(OSDListBtnTypeItem::FullChecked);
-        newitem->setGroup(osdchild->getGroup());
-        newitem->setData(osdchild);
-        osdchild->setParentButton(newitem);
+        newitem->setGroup(group);
+        newitem->setData(child);
 
-        ++it;
+        child->setParentButton(newitem);
     }
 }
 
-OSDListBtnType *OSDListTreeType::GetLevel(int levelnum)
+OSDListBtnType *OSDListTreeType::GetLevel(uint levelnum)
 {
-    if ((uint)levelnum > listLevels.count())
-    {
-        cerr << "OOB GetLevel call\n";
-        return NULL;
-    }
+    if (levelnum < listLevels.size())
+        return listLevels[levelnum];
 
-    return listLevels.at(levelnum);
+    VERBOSE(VB_IMPORTANT, LOC_ERR + "GetLevel("<<levelnum<<") "
+            "listLevels.size() is only "<<listLevels.size());
+    return NULL;
 }
 
-void OSDListTreeType::SetCurrentPosition(void)
+void OSDListTreeType::EnterItem(void)
 {
-    if (!currentlevel)
+    if ((uint)m_levelnum >= listLevels.size())
         return;
 
-    OSDListBtnTypeItem *lbt = currentlevel->GetItemCurrent();
+    listLevels[m_levelnum]->SetActive(true);
+    OSDListBtnTypeItem *lbt = listLevels[m_levelnum]->GetItemCurrent();
+    if (lbt)
+    {
+        currentpos = (OSDGenericTree*) (lbt->getData());
+        emit itemEntered(this, currentpos);
+    }
+}
 
-    if (!lbt)
+void OSDListTreeType::SelectItem(void)
+{
+    if (!currentpos)
         return;
 
-    currentpos = (OSDGenericTree *)(lbt->getData());
-    emit itemEntered(this, currentpos);
+    SetGroupCheckState(currentpos->getGroup(), OSDListBtnTypeItem::NotChecked);
+    currentpos->getParentButton()->setChecked(OSDListBtnTypeItem::FullChecked);
+    emit itemSelected(this, currentpos);
 }
- 
+
+#undef LOC_ERR
+#undef LOC
+
 //////////////////////////////////////////////////////////////////////////
 
 OSDListBtnType::OSDListBtnType(const QString &name, const QRect &area,
                                float wmult, float hmult,
                                bool showScrollArrows)
-              : OSDType(name)
+    : OSDType(name),
+      m_order(0),                       m_rect(area),
+      m_contentsRect(0,0,0,0),          m_arrowsRect(0,0,0,0),
+      m_wmult(wmult),                   m_hmult(hmult),
+      m_itemHeight(0),                  m_itemSpacing(0),
+      m_itemMargin(0),                  m_itemsVisible(0),
+      m_active(false),                  m_showScrollArrows(showScrollArrows),
+      m_showUpArrow(false),             m_showDnArrow(false),
+      m_initialized(false),             m_clearing(false),
+      m_visible(false),
+      m_itemRegBeg(Qt::black),          m_itemRegEnd(QColor(80,80,80)),
+      m_itemSelBeg(QColor(82,202,56)),  m_itemSelEnd(QColor(52,152,56)),
+      m_itemRegAlpha(100),              m_itemSelAlpha(255),
+      m_fontActive(NULL),               m_fontInactive(NULL),
+      m_topIndx(0),                     m_selIndx(0),
+      m_update(true)
 {
-    m_rect             = area;
-
-    m_wmult            = wmult;
-    m_hmult            = hmult;
-
-    m_showScrollArrows = showScrollArrows;
-
-    m_active           = false;
-    m_showUpArrow      = false;
-    m_showDnArrow      = false;
-
-    m_itemList.setAutoDelete(false);
-    m_topItem = 0;
-    m_selItem = 0;
-
-    m_initialized     = false;
-    m_clearing        = false;
-    m_itemSpacing     = 0;
-    m_itemMargin      = 0;
-    m_itemHeight      = 0;
-    m_itemsVisible    = 0;
-    m_fontActive      = 0;
-    m_fontInactive    = 0;
-
-    SetItemRegColor(Qt::black,QColor(80,80,80),100);
-    SetItemSelColor(QColor(82,202,56),QColor(52,152,56),255);
-
-    m_visible = false;
 }
 
 OSDListBtnType::~OSDListBtnType()
@@ -457,316 +370,198 @@ OSDListBtnType::~OSDListBtnType()
     Reset();
 }
 
-void OSDListBtnType::Reinit(float wchange, float hchange, float wmult,
-                            float hmult)
-{
-    m_wmult = wmult;
-    m_hmult = hmult;
-
-    m_itemHeight = (int)(m_itemHeight * hchange);
-    m_itemSpacing = (int)(m_itemSpacing * wchange);
-    m_itemMargin = (int)(m_itemMargin * wchange);
-
-    int width = (int)(m_rect.width() * wchange);
-    int height = (int)(m_rect.height() * hchange);
-    int x = (int)(m_rect.x() * wchange);
-    int y = (int)(m_rect.y() * hchange);
-
-    m_rect = QRect(x, y, width, height);
-
-    Init();
-
-    OSDListBtnTypeItem* item = 0;
-    for (item = m_itemList.first(); item; item = m_itemList.next()) {
-        item->Reinit(wchange, hchange, wmult, hmult);
-    }
-
-}
-
 void OSDListBtnType::SetGroupCheckState(QString group, int newState)
 {
-    OSDListBtnTypeItem* item = 0;
-    for (item = m_itemList.first(); item; item = m_itemList.next()) {
-        if (item->getGroup() == group)
-            item->setChecked((OSDListBtnTypeItem::CheckState)newState);
-    }
-}
-
-void OSDListBtnType::SetItemRegColor(const QColor& beg, const QColor& end, 
-                                     uint alpha)
-{
-    m_itemRegBeg   = beg;
-    m_itemRegEnd   = end;
-    m_itemRegAlpha = alpha;
-}
-
-void OSDListBtnType::SetItemSelColor(const QColor& beg, const QColor& end,
-                                     uint alpha)
-{
-    m_itemSelBeg   = beg;
-    m_itemSelEnd   = end;
-    m_itemSelAlpha = alpha;
-}
-
-void OSDListBtnType::SetFontActive(TTFFont *font)
-{
-    m_fontActive   = font;
-}
-
-void OSDListBtnType::SetFontInactive(TTFFont *font)
-{
-    m_fontInactive = font;
-}
-
-void OSDListBtnType::SetSpacing(int spacing)
-{
-    m_itemSpacing = spacing;    
-}
-
-void OSDListBtnType::SetMargin(int margin)
-{
-    m_itemMargin = margin;    
+    OSDListBtnItemList::iterator it;
+    for (it = m_itemList.begin(); it != m_itemList.end(); ++it)
+        if ((*it)->getGroup() == group)
+            (*it)->setChecked((OSDListBtnTypeItem::CheckState) newState);
 }
 
-void OSDListBtnType::SetActive(bool active)
-{
-    m_active = active;
-}
-
-void OSDListBtnType::Reset()
+void OSDListBtnType::Reset(void)
 {
     QMutexLocker lock(&m_update);
 
     m_clearing = true;
-
-    OSDListBtnTypeItem* item = 0;
-    for (item = m_itemList.first(); item; item = m_itemList.next()) {
-        delete item;
-    }
-
-    m_clearing = false;
+    OSDListBtnItemList::iterator it;
+    OSDListBtnItemList clone = m_itemList;
     m_itemList.clear();
-    
-    m_topItem     = 0;
-    m_selItem     = 0;
+    for (it = clone.begin(); it != clone.end(); ++it)
+        delete (*it);
+    m_clearing = false;
+
+    m_topIndx     = 0;
+    m_selIndx     = 0;
     m_showUpArrow = false;
     m_showDnArrow = false;
 }
 
 void OSDListBtnType::InsertItem(OSDListBtnTypeItem *item)
 {
-    OSDListBtnTypeItem* lastItem = m_itemList.last();
-    m_itemList.append(item);
-
-    if (m_showScrollArrows && m_itemList.count() > m_itemsVisible)
-        m_showDnArrow = true;
-    else
-        m_showDnArrow = false;
-
-    if (!lastItem) 
-    {
-        m_topItem = item;
-        m_selItem = item;
+    QMutexLocker lock(&m_update);
+    m_itemList.push_back(item);
+    m_showDnArrow = m_showScrollArrows && m_itemList.size() > m_itemsVisible;
+    if (m_itemList.size() == 1)
         emit itemSelected(item);
-    }
+}
+
+int find(const OSDListBtnItemList &list, const OSDListBtnTypeItem *item)
+{
+    for (uint i = 0; i < list.size(); i++)
+        if (list[i] == item)
+            return i;
+    return -1;
 }
 
 void OSDListBtnType::RemoveItem(OSDListBtnTypeItem *item)
 {
+    QMutexLocker lock(&m_update);
     if (m_clearing)
         return;
-    
-    if (m_itemList.find(item) == -1)
-        return;
 
-    m_topItem = m_itemList.first();
-    m_selItem = m_itemList.first();
+    int i = find(m_itemList, item);
+    if (i < 0)
+        return;
 
-    m_itemList.remove(item);
+    m_itemList.erase(m_itemList.begin()+i);
 
     m_showUpArrow = false;
-    
-    if (m_showScrollArrows && m_itemList.count() > m_itemsVisible)
-        m_showDnArrow = true;
-    else
-        m_showDnArrow = false;
+    m_showDnArrow = m_itemList.size() > m_itemsVisible;
+    m_selIndx     = 0;
+    m_topIndx     = 0;
 
-    if (m_selItem) {
-        emit itemSelected(m_selItem);
-    }
+    if (m_itemList.size())
+        emit itemSelected(m_itemList[m_selIndx]);
 }
 
-void OSDListBtnType::SetItemCurrent(OSDListBtnTypeItem* item)
+void OSDListBtnType::SetItemCurrent(const OSDListBtnTypeItem* item)
 {
-    bool locked = m_update.tryLock();
+    QMutexLocker lock(&m_update);
+    int i = find(m_itemList, item);
+    if (i >= 0)
+        SetItemCurrent(i);
+}
 
-    if (m_itemList.find(item) == -1)
+void OSDListBtnType::SetItemCurrent(uint current)
+{
+    QMutexLocker lock(&m_update);
+    if (current >= m_itemList.size())
         return;
 
-    m_topItem = item;
-    m_selItem = item;
-
-    if (m_showScrollArrows && m_itemList.count() > m_itemsVisible)
-        m_showDnArrow = true;
-    else
-        m_showDnArrow = false;
-
-    emit itemSelected(m_selItem);
-
-    if (locked)
-        m_update.unlock();
+    m_selIndx     = current;
+    m_topIndx     = max(m_selIndx - (int)m_itemsVisible, 0);
+    m_showUpArrow = m_topIndx;
+    m_showDnArrow = m_topIndx + m_itemsVisible < m_itemList.size();
+    emit itemSelected(m_itemList[m_selIndx]);
 }
 
-void OSDListBtnType::SetItemCurrent(int current)
+int OSDListBtnType::GetItemCurrentPos(void) const
 {
     QMutexLocker lock(&m_update);
-
-    OSDListBtnTypeItem* item = m_itemList.at(current);
-    if (!item)
-        item = m_itemList.first();
-
-    SetItemCurrent(item);
+    return (m_itemList.size()) ? m_selIndx : -1;
 }
 
-OSDListBtnTypeItem* OSDListBtnType::GetItemCurrent()
+OSDListBtnTypeItem* OSDListBtnType::GetItemCurrent(void)
 {
-    return m_selItem;
+    QMutexLocker lock(&m_update);
+    if (!m_itemList.size())
+        return NULL;
+    return m_itemList[m_selIndx];
 }
 
-OSDListBtnTypeItem* OSDListBtnType::GetItemFirst()
+OSDListBtnTypeItem* OSDListBtnType::GetItemFirst(void)
 {
-    return m_itemList.first();    
+    QMutexLocker lock(&m_update);
+    if (!m_itemList.size())
+        return NULL;
+    return m_itemList[0];    
 }
 
-OSDListBtnTypeItem* OSDListBtnType::GetItemNext(OSDListBtnTypeItem *item)
+OSDListBtnTypeItem* OSDListBtnType::GetItemNext(const OSDListBtnTypeItem *item)
 {
     QMutexLocker lock(&m_update);
-
-    if (m_itemList.find(item) == -1)
-        return 0;
-
-    return m_itemList.next();
+    int i = find(m_itemList, item) + 1;
+    if (i <= 0 || i >= (int)m_itemList.size())
+        return NULL;
+    return m_itemList[i];
 }
 
-int OSDListBtnType::GetCount()
+int OSDListBtnType::GetCount(void) const
 {
-    return m_itemList.count();
+    QMutexLocker lock(&m_update);
+    return m_itemList.size();
 }
 
 OSDListBtnTypeItem* OSDListBtnType::GetItemAt(int pos)
 {
-    return m_itemList.at(pos);    
+    QMutexLocker lock(&m_update);
+    return m_itemList[pos];    
 }
 
-int OSDListBtnType::GetItemPos(OSDListBtnTypeItem* item)
+int OSDListBtnType::GetItemPos(const OSDListBtnTypeItem *item) const
 {
     QMutexLocker lock(&m_update);
-
-    return m_itemList.find(item);    
+    return find(m_itemList, item);
 }
 
-void OSDListBtnType::MoveUp()
+void OSDListBtnType::MoveUp(void)
 {
     QMutexLocker lock(&m_update);
-
-    if (m_itemList.find(m_selItem) == -1)
+    if (!m_itemList.size())
         return;
 
-    OSDListBtnTypeItem *item = m_itemList.prev();
-    if (!item)
+    if (--m_selIndx < 0)
     {
-        item = m_itemList.last();
-        if (!item)
-            return;
-
-        if (m_itemList.count() > m_itemsVisible)
-            m_topItem = m_itemList.at(m_itemList.count() - m_itemsVisible);
-        else
-            m_topItem = m_itemList.first();
+        m_selIndx = m_itemList.size() - 1;
+        m_topIndx = (m_itemList.size() > m_itemsVisible) ?
+            m_itemList.size() - m_itemsVisible : 0;
     }
 
-    m_selItem = item;
-
-    if (m_itemList.find(m_selItem) < m_itemList.find(m_topItem))
-        m_topItem = m_selItem;
-
-    if (m_topItem != m_itemList.first())
-        m_showUpArrow = true;
-    else
-        m_showUpArrow = false;
-
-    if (m_itemList.find(m_topItem) + m_itemsVisible < m_itemList.count())
-        m_showDnArrow = true;
-    else
-        m_showDnArrow = false;
+    m_topIndx     = (m_selIndx < m_topIndx) ? m_selIndx : m_topIndx;
+    m_showUpArrow = m_topIndx;
+    m_showDnArrow = m_topIndx + m_itemsVisible < m_itemList.size();
 
-    emit itemSelected(m_selItem);
+    emit itemSelected(m_itemList[m_selIndx]);
 }
 
-void OSDListBtnType::MoveDown()
+void OSDListBtnType::MoveDown(void)
 {
     QMutexLocker lock(&m_update);
-
-    if (m_itemList.find(m_selItem) == -1)
+    if (!m_itemList.size())
         return;
 
-    OSDListBtnTypeItem *item = m_itemList.next();
-    if (!item)
-    {
-        item = m_itemList.first();
-        if (!item)
-            return;
-
-        m_topItem = item;
-    }
-
-    m_selItem = item;
+    if (++m_selIndx >= (int)m_itemList.size())
+        m_selIndx = m_topIndx = 0;
 
-    if (m_itemList.find(m_topItem) + m_itemsVisible <=
-        (unsigned int)m_itemList.find(m_selItem)) 
-    {
-        m_topItem = m_itemList.at(m_itemList.find(m_topItem) + 1);
-    }
-    
-    if (m_topItem != m_itemList.first())
-        m_showUpArrow = true;
-    else
-        m_showUpArrow = false;
-
-    if (m_itemList.find(m_topItem) + m_itemsVisible < m_itemList.count())
-        m_showDnArrow = true;
-    else
-        m_showDnArrow = false;
+    bool scroll_down = m_topIndx + (int)m_itemsVisible <= m_selIndx;
+    m_topIndx = (scroll_down) ? m_topIndx + 1 : m_topIndx;
+        
+    m_showUpArrow = m_topIndx;
+    m_showDnArrow = m_topIndx + m_itemsVisible < m_itemList.size();
     
-    emit itemSelected(m_selItem);
+    emit itemSelected(m_itemList[m_selIndx]);
 }
 
-void OSDListBtnType::Draw(OSDSurface *surface, int fade, int maxfade, int xoff,
-                          int yoff)
+void OSDListBtnType::Draw(OSDSurface *surface,
+                          int fade, int maxfade,
+                          int xoff, int yoff)
 {
-    (void)xoff;
-    (void)yoff;
-
+    QMutexLocker lock(&m_update);
     if (!m_visible)
         return;
-
-    QMutexLocker lock(&m_update);
-
     if (!m_initialized)
         Init();
 
     TTFFont *font = m_active ? m_fontActive : m_fontInactive;
     
     int y = m_rect.y();
-    m_itemList.find(m_topItem);
-    OSDListBtnTypeItem *it = m_itemList.current();
-    while (it && (y - m_rect.y()) <= (m_contentsRect.height() - m_itemHeight)) 
+    for (uint i = m_topIndx; i < m_itemList.size(); i++)
     {
-        it->paint(surface, font, fade, maxfade, m_rect.x()+ xoff, y + yoff);
-
+        if (!((y - m_rect.y()) <= (m_contentsRect.height() - m_itemHeight)))
+            break;
+        m_itemList[i]->paint(surface, font, fade, maxfade,
+                             m_rect.x() + xoff, y + yoff);
         y += m_itemHeight + m_itemSpacing;
-
-        it = m_itemList.next();
     }
 
     if (m_showScrollArrows) 
@@ -792,13 +587,12 @@ void OSDListBtnType::Draw(OSDSurface *su
     }
 }
 
-void OSDListBtnType::Init()
+void OSDListBtnType::Init(void)
 {
     int sz1 = m_fontActive->Size() * 3 / 2;
     int sz2 = m_fontInactive->Size() * 3 / 2;
-    m_itemHeight = QMAX(sz1, sz2) + (int)(2 * m_itemMargin);
-
-    m_itemHeight = (m_itemHeight / 2) * 2;
+    m_itemHeight = max(sz1, sz2) + (int)(2 * m_itemMargin);
+    m_itemHeight = m_itemHeight & ~0x1;
 
     if (m_showScrollArrows) 
     {
@@ -838,11 +632,7 @@ void OSDListBtnType::Init()
     InitItem(m_itemSelActPix,   itemWidth,    m_itemHeight,
              m_itemSelBeg,      m_itemSelEnd, 255);
 
-    if (m_itemList.count() > m_itemsVisible && m_showScrollArrows)
-        m_showDnArrow = true;
-    else
-        m_showDnArrow = false;
-
+    m_showDnArrow = m_itemList.size() > m_itemsVisible && m_showScrollArrows;
     m_initialized = true;
 }
 
@@ -885,68 +675,57 @@ void OSDListBtnType::InitItem(
 
 void OSDListBtnType::LoadPixmap(OSDTypeImage& pix, const QString& fileName)
 {
-    QString file = gContext->GetThemesParentDir() + "default/lb-" + fileName + ".png";
-    pix.LoadImage(file, m_wmult, m_hmult);
+    QString path = gContext->GetThemesParentDir() + "default/lb-";
+    pix.LoadImage(path + fileName + ".png", m_wmult, m_hmult);
 }
 
 /////////////////////////////////////////////////////////////////////////////
-OSDListBtnTypeItem::OSDListBtnTypeItem(OSDListBtnType* lbtype, 
-                                       const QString& text,
-                                       OSDTypeImage *pixmap, bool checkable,
-                                       bool showArrow, CheckState state)
-{
-    m_parent    = lbtype;
-    m_text      = text;
-    m_pixmap    = pixmap;
-    m_checkable = checkable;
-    m_state     = state;
-    m_showArrow = showArrow;
-    m_data      = 0;
-
+OSDListBtnTypeItem::OSDListBtnTypeItem(
+    OSDListBtnType *lbtype,     const QString  &text,
+    OSDTypeImage   *pixmap,     bool            checkable,
+    bool            showArrow,  CheckState      state)
+    : m_parent(lbtype),       m_pixmap(pixmap),
+      m_data(NULL),           m_text(text),
+      m_group(QString::null), m_state(state),
+      m_showArrow(showArrow), m_checkable(checkable),
+      m_checkRect(0,0,0,0),   m_arrowRect(0,0,0,0),
+      m_pixmapRect(0,0,0,0),  m_textRect(0,0,0,0)
+{
     if (!m_parent->m_initialized)
         m_parent->Init();
 
-    int  margin    = m_parent->m_itemMargin;
-    int  width     = m_parent->m_rect.width();
-    int  height    = m_parent->m_itemHeight;
+    OSDTypeImage &checkPix = m_parent->m_checkNonePix;
+    OSDTypeImage &arrowPix = m_parent->m_arrowPix;
+
+    int margin = m_parent->m_itemMargin;
+    int width  = m_parent->m_rect.width();
+    int height = m_parent->m_itemHeight;
+    int cw     = checkPix.ImageSize().width();
+    int ch     = checkPix.ImageSize().height();
+    int aw     = arrowPix.ImageSize().width();
+    int ah     = arrowPix.ImageSize().height();
+    int pw     = m_pixmap ? m_pixmap->ImageSize().width() : 0;
+    int ph     = m_pixmap ? m_pixmap->ImageSize().height() : 0;
 
-    OSDTypeImage& checkPix = m_parent->m_checkNonePix;
-    OSDTypeImage& arrowPix = m_parent->m_arrowPix;
-    
-    int cw = checkPix.ImageSize().width();
-    int ch = checkPix.ImageSize().height();
-    int aw = arrowPix.ImageSize().width();
-    int ah = arrowPix.ImageSize().height();
-    int pw = m_pixmap ? m_pixmap->ImageSize().width() : 0;
-    int ph = m_pixmap ? m_pixmap->ImageSize().height() : 0;
-    
     if (m_checkable) 
-        m_checkRect = QRect(margin, (height - ch)/2, cw, ch);
-    else
-        m_checkRect = QRect(0,0,0,0);
+        m_checkRect  = QRect(margin, (height - ch)/2, cw, ch);
 
     if (m_showArrow) 
-        m_arrowRect = QRect(width - aw - margin, (height - ah)/2,
-                            aw, ah);
-    else
-        m_arrowRect = QRect(0,0,0,0);
+        m_arrowRect  = QRect(width - aw - margin, (height - ah)/2, aw, ah);
 
-    if (m_pixmap) 
-        m_pixmapRect = QRect(m_checkable ? (2*margin + m_checkRect.width()) :
-                             margin, (height - ph)/2,
-                             pw, ph);
-    else
-        m_pixmapRect = QRect(0,0,0,0);
+    if (m_pixmap)
+    {
+        int tmp = (m_checkable) ? (2 * margin + m_checkRect.width()) : margin;
+        m_pixmapRect = QRect(tmp, (height - ph)/2, pw, ph);
+    }
 
-    m_textRect = QRect(margin +
-                       (m_checkable ? m_checkRect.width() + margin : 0) +
-                       (m_pixmap    ? m_pixmapRect.width() + margin : 0),
-                       0,
-                       width - 2*margin -
-                       (m_checkable ? m_checkRect.width() + margin : 0) -
-                       (m_showArrow ? m_arrowRect.width() + margin : 0) -
-                       (m_pixmap ? m_pixmapRect.width() + margin : 0),
-                       height);
+    int tx = margin, tw = width - (2 * margin);
+    tx += (m_checkable) ? m_checkRect.width()  + margin : 0;
+    tx += (m_pixmap)    ? m_pixmapRect.width() + margin : 0;
+    tw -= (m_checkable) ? m_checkRect.width()  + margin : 0;
+    tw -= (m_showArrow) ? m_arrowRect.width()  + margin : 0;
+    tw -= (m_pixmap)    ? m_pixmapRect.width() + margin : 0;
+    m_textRect = QRect(tx, 0, tw, height);
 
     m_parent->InsertItem(this);
 }
@@ -957,52 +736,10 @@ OSDListBtnTypeItem::~OSDListBtnTypeItem(
         m_parent->RemoveItem(this);
 }
 
-QString OSDListBtnTypeItem::text() const
-{
-    return m_text;
-}
-
-const OSDTypeImage* OSDListBtnTypeItem::pixmap() const
-{
-    return m_pixmap;
-}
-
-bool OSDListBtnTypeItem::checkable() const
-{
-    return m_checkable;
-}
-
-OSDListBtnTypeItem::CheckState OSDListBtnTypeItem::state() const
-{
-    return m_state;
-}
-
-OSDListBtnType* OSDListBtnTypeItem::parent() const
-{
-    return m_parent;
-}
-
-void OSDListBtnTypeItem::setChecked(CheckState state)
-{
-    if (!m_checkable)
-        return;
-    m_state = state;
-}
-
-void OSDListBtnTypeItem::setData(void *data)
-{
-    m_data = data;    
-}
-
-void* OSDListBtnTypeItem::getData()
-{
-    return m_data;
-}
-
 void OSDListBtnTypeItem::paint(OSDSurface *surface, TTFFont *font, 
                                int fade, int maxfade, int x, int y)
 {
-    if (this == m_parent->m_selItem)
+    if (this == m_parent->GetItemCurrent())
     {
         if (m_parent->m_active)
             m_parent->m_itemSelActPix.Draw(surface, fade, maxfade, x, y);
@@ -1030,11 +767,14 @@ void OSDListBtnTypeItem::paint(OSDSurfac
         cr.moveBy(x, y);
         
         if (m_state == HalfChecked)
-            m_parent->m_checkHalfPix.Draw(surface, fade, maxfade, cr.x(), cr.y());
+            m_parent->m_checkHalfPix.Draw(surface, fade, maxfade,
+                                          cr.x(), cr.y());
         else if (m_state == FullChecked)
-            m_parent->m_checkFullPix.Draw(surface, fade, maxfade, cr.x(), cr.y());
+            m_parent->m_checkFullPix.Draw(surface, fade, maxfade,
+                                          cr.x(), cr.y());
         else
-            m_parent->m_checkNonePix.Draw(surface, fade, maxfade, cr.x(), cr.y());
+            m_parent->m_checkNonePix.Draw(surface, fade, maxfade,
+                                          cr.x(), cr.y());
     }
 
     if (m_pixmap)
@@ -1049,39 +789,3 @@ void OSDListBtnTypeItem::paint(OSDSurfac
     tr.moveBy(0, font->Size() / 4);
     font->DrawString(surface, tr.x(), tr.y(), m_text, tr.right(), tr.bottom());
 }
-
-void OSDListBtnTypeItem::Reinit(float wchange, float hchange, 
-                                float wmult, float hmult)
-{
-    (void)wmult;
-    (void)hmult;
-
-    int width = (int)(m_checkRect.width() * wchange);
-    int height = (int)(m_checkRect.height() * hchange);
-    int x = (int)(m_checkRect.x() * wchange);
-    int y = (int)(m_checkRect.y() * hchange);
-
-    m_checkRect = QRect(x, y, width, height);
-
-    width = (int)(m_pixmapRect.width() * wchange);
-    height = (int)(m_pixmapRect.height() * hchange);
-    x = (int)(m_pixmapRect.x() * wchange);
-    y = (int)(m_pixmapRect.y() * hchange);
-
-    m_pixmapRect = QRect(x, y, width, height);
-
-    width = (int)(m_textRect.width() * wchange);
-    height = (int)(m_textRect.height() * hchange);
-    x = (int)(m_textRect.x() * wchange);
-    y = (int)(m_textRect.y() * hchange);
-
-    m_textRect = QRect(x, y, width, height);
-
-    width = (int)(m_arrowRect.width() * wchange);
-    height = (int)(m_arrowRect.height() * hchange);
-    x = (int)(m_arrowRect.x() * wchange);
-    y = (int)(m_arrowRect.y() * hchange);
-
-    m_arrowRect = QRect(x, y, width, height);
-}
-
diff -pruN mythtv-0.19/libs/libmythtv/osdlistbtntype.h mythtv/libs/libmythtv/osdlistbtntype.h
--- mythtv-0.19/libs/libmythtv/osdlistbtntype.h	2005-12-05 11:39:09.000000000 +1000
+++ mythtv/libs/libmythtv/osdlistbtntype.h	2006-02-19 07:26:06.000000000 +1000
@@ -1,3 +1,4 @@
+// -*- Mode: c++ -*-
 /* ============================================================
  * File  : uilistbtntype.h
  * Author: Renchi Raju <renchi@pooh.tam.uiuc.edu>
@@ -22,38 +23,57 @@
 #ifndef OSDLISTBTNTYPE_H
 #define OSDLISTBTNTYPE_H
 
-#include "osdtypes.h"
-#include "ttfont.h"
+#include <vector>
+using namespace std;
+
+// Qt headers
 #include <qcolor.h>
 #include <qptrlist.h>
 #include <qevent.h>
 #include <qmutex.h>
+#include <qptrvector.h>
+
+// MythTV headers
+#include "osdtypes.h"
+#include "ttfont.h"
 #include "generictree.h"
 
-class OSDListBtnTypeItem;
 class OSDListBtnType;
+class OSDListBtnTypeItem;
+typedef vector<OSDListBtnType*> OSDListBtnList;
+typedef vector<OSDListBtnTypeItem*> OSDListBtnItemList;
 
 class OSDGenericTree : public GenericTree
 {
   public:
     // This class will _not_ delete the image it's given, if any.
-    OSDGenericTree(OSDGenericTree *parent, const QString &name, 
-                   const QString &action = "", int check = -1, 
-                   OSDTypeImage *image = NULL, QString group = "");
-
-    OSDTypeImage *getImage(void) { return m_image; }
-    QString getAction(void) { return m_action; }
-    int getCheckable(void) { return m_checkable; }
-    QString getGroup(void) { return m_group; }
+    OSDGenericTree(OSDGenericTree *parent,        const QString &name, 
+                   const QString  &action = "",   int            check = -1, 
+                   OSDTypeImage   *image  = NULL, QString        group = "") :
+        GenericTree(name), m_image(image),     m_action(action),
+        m_group(group),    m_checkable(check), m_parentButton(NULL)
+    {
+        m_group = (m_group.isEmpty()) ? action : m_group;
+        setSelectable(!action.isEmpty());
+        if (parent)
+            parent->addNode(this);
+    }
+
+    QString getAction(void)    const { return m_action;    }
+    QString getGroup(void)     const { return m_group;     }
+    int     getCheckable(void) const { return m_checkable; }
+
+    OSDTypeImage       *getImage(void)        { return m_image;        }
+    OSDListBtnTypeItem *getParentButton(void) { return m_parentButton; }
+
     void setParentButton(OSDListBtnTypeItem *button)
-                         { m_parentButton = button; };
-    OSDListBtnTypeItem *getParentButton(void) { return m_parentButton; };
+        { m_parentButton = button; }
 
   private:
-    OSDTypeImage *m_image;
-    QString m_action;
-    int m_checkable;
-    QString m_group;
+    OSDTypeImage       *m_image;
+    QString             m_action;
+    QString             m_group;
+    int                 m_checkable;
     OSDListBtnTypeItem *m_parentButton;
 };
 
@@ -62,52 +82,48 @@ class OSDListTreeType : public OSDType
 {
     Q_OBJECT
   public:
-    OSDListTreeType(const QString &name, const QRect &area, 
-                    const QRect &levelsize, int levelspacing,
-                    float wmult, float hmult);
+    OSDListTreeType(const QString &name,      const QRect &area,
+                    const QRect   &levelsize, int          levelspacing,
+                    float          wmult,     float        hmult);
+    ~OSDListTreeType();
 
-    void Reinit(float wchange, float hchange, float wmult, float hmult);
-    void SetGroupCheckState(QString group, int newState = 0);
-
-    void SetFontActive(TTFFont *font);
-    void SetFontInactive(TTFFont *font);
-    void SetSpacing(int spacing);
-    void SetMargin(int margin);
-    void SetItemRegColor(const QColor& beg, const QColor& end, uint alpha);
-    void SetItemSelColor(const QColor& beg, const QColor& end, uint alpha);
+    bool IsVisible(void)          const { return m_visible;  }
+ 
+    void SetFontActive(TTFFont *font)   { m_active   = font; }
+    void SetFontInactive(TTFFont *font) { m_inactive = font; }
 
-    void SetAsTree(OSDGenericTree *toplevel);
+    void SetGroupCheckState(QString group, int newState = 0);
+    void SetSpacing(uint spacing)
+        { m_unbiasedspacing = (m_spacing = spacing) / m_wmult; }
+    void SetMargin(uint margin)
+        { m_unbiasedmargin  = (m_margin  = margin)  / m_wmult; }
+    void SetItemRegColor(const QColor& beg, const QColor& end, uint alpha)
+        { m_itemRegBeg = beg; m_itemRegEnd = end; m_itemRegAlpha = alpha; }
+    void SetItemSelColor(const QColor& beg, const QColor& end, uint alpha)
+        { m_itemSelBeg = beg; m_itemSelEnd = end; m_itemSelAlpha = alpha; }
+    void SetVisible(bool visible) { m_visible = visible; }
+    void SetAsTree(OSDGenericTree *toplevel, vector<uint> *select = NULL);
 
-    OSDGenericTree *GetCurrentPosition(void);
- 
+    void Reinit(float wmult, float hmult);
     bool HandleKeypress(QKeyEvent *e);
-
     void Draw(OSDSurface *surface, int fade, int maxfade, int xoff, int yoff);
 
-    bool IsVisible(void) { return m_visible; }
-    void SetVisible(bool visible) { m_visible = visible; }
-
   signals:
     void itemSelected(OSDListTreeType *parent, OSDGenericTree *item);
     void itemEntered(OSDListTreeType *parent, OSDGenericTree *item);
 
   private:
-    void FillLevelFromTree(OSDGenericTree *item, OSDListBtnType *list);
-    OSDListBtnType *GetLevel(int levelnum);
-    void SetCurrentPosition(void);
-
-    int levels;
-    int curlevel;
+    void FillLevelFromTree(OSDGenericTree *item, uint levelnum);
+    OSDListBtnType *GetLevel(uint levelnum);
+    void EnterItem(void);
+    void SelectItem(void);
 
     OSDGenericTree *treetop;
     OSDGenericTree *currentpos;
+    TTFFont        *m_active;
+    TTFFont        *m_inactive;
 
-    QPtrList<OSDListBtnType> listLevels;
-
-    OSDListBtnType *currentlevel;
-
-    TTFFont *m_active;
-    TTFFont *m_inactive;
+    OSDListBtnList  listLevels;
 
     QColor    m_itemRegBeg;
     QColor    m_itemRegEnd;
@@ -116,62 +132,76 @@ class OSDListTreeType : public OSDType
     uint      m_itemRegAlpha;
     uint      m_itemSelAlpha;
    
-    int m_spacing;
-    int m_margin;
-
-    QRect m_totalarea;
-    QRect m_levelsize;
-    int m_levelspacing;
+    uint      m_spacing;
+    uint      m_margin;
+    int       m_levelspacing;
+
+    QRect     m_totalarea;
+    QRect     m_levelsize;
+
+    float     m_unbiasedspacing;
+    float     m_unbiasedmargin;
+    QRect     m_unbiasedarea;
+    QRect     m_unbiasedsize;
 
-    float m_wmult;
-    float m_hmult;
+    float     m_wmult;
+    float     m_hmult;
 
-    bool m_visible;
-    bool m_arrowAccel;
+    int       m_depth;
+    int       m_levelnum;
+    bool      m_visible;
+    bool      m_arrowAccel;
 };
  
 class OSDListBtnType : public OSDType
 {
+    friend class OSDListBtnTypeItem;
     Q_OBJECT
+
   public:
     OSDListBtnType(const QString &name, const QRect& area,
                    float wmult, float hmult,
                    bool showScrollArrows = false);
     ~OSDListBtnType();
 
-    void  Reinit(float wchange, float hchange, float wmult, float hmult);
-    void  SetGroupCheckState(QString group, int newState = 0);
+    // General Gets
+    bool  IsVisible() const { return m_visible; }
 
-    void  SetFontActive(TTFFont *font);
-    void  SetFontInactive(TTFFont *font);
-    void  SetSpacing(int spacing);
-    void  SetMargin(int margin);
-    void  SetItemRegColor(const QColor& beg, const QColor& end, uint alpha);
-    void  SetItemSelColor(const QColor& beg, const QColor& end, uint alpha);
-    
-    void  Draw(OSDSurface *surface, int fade, int maxfade, int xoff, int yoff);
-
-    void  SetActive(bool active);
-    void  Reset();
+    // General Sets
+    void  SetFontActive(TTFFont *font)   { m_fontActive   = font;    }
+    void  SetFontInactive(TTFFont *font) { m_fontInactive = font;    }
+    void  SetSpacing(int spacing)        { m_itemSpacing  = spacing; }
+    void  SetMargin(int margin)          { m_itemMargin   = margin;  }
+    void  SetActive(bool active)         { m_active       = active;  }
+    void  SetVisible(bool vis)           { m_visible = vis; }
+    void  SetItemRegColor(const QColor& beg, const QColor& end, uint alpha)
+        { m_itemRegBeg = beg; m_itemRegEnd = end; m_itemRegAlpha = alpha; }
+    void  SetItemSelColor(const QColor& beg, const QColor& end, uint alpha)
+        { m_itemSelBeg = beg; m_itemSelEnd = end; m_itemSelAlpha = alpha; }
+    void  SetGroupCheckState(QString group, int newState = 0);
+    void  SetItemCurrent(const OSDListBtnTypeItem* item);
+    void  SetItemCurrent(uint pos);
 
-    void  SetItemCurrent(OSDListBtnTypeItem* item);
-    void  SetItemCurrent(int pos);
-    OSDListBtnTypeItem* GetItemCurrent();
-    OSDListBtnTypeItem* GetItemFirst();
-    OSDListBtnTypeItem* GetItemNext(OSDListBtnTypeItem *item);
+    // Item Gets
+    int   GetCount(void) const;
+    int   GetItemPos(const OSDListBtnTypeItem* item) const;
+    int   GetItemCurrentPos() const;
+    OSDListBtnTypeItem* GetItemCurrent(void);
+    OSDListBtnTypeItem* GetItemFirst(void);
+    OSDListBtnTypeItem* GetItemNext(const OSDListBtnTypeItem *item);
     OSDListBtnTypeItem* GetItemAt(int pos);
-    int   GetItemPos(OSDListBtnTypeItem* item);
-    int   GetCount();
 
-    void  MoveDown();
-    void  MoveUp();
+    // Item Sets/Commands
+    void  MoveDown(void);
+    void  MoveUp(void);
 
-    bool  IsVisible() { return m_visible; }
-    void  SetVisible(bool vis) { m_visible = vis; }
+    // General Commands
+    void  Draw(OSDSurface *surface, int fade, int maxfade, int xoff, int yoff);
+    void  Reinit(float,float) {}
+    void  Reset(void);
 
   private:
-
-    void  Init();
+    void  Init(void);
     void  InitItem(OSDTypeImage &osdImg, uint width, uint height,
                    QColor beg, QColor end, int alpha);
     void  LoadPixmap(OSDTypeImage& pix, const QString& fileName);
@@ -179,23 +209,34 @@ class OSDListBtnType : public OSDType
     void  InsertItem(OSDListBtnTypeItem *item);
     void  RemoveItem(OSDListBtnTypeItem *item);
 
-    int   m_order;
-    QRect m_rect;
-    QRect m_contentsRect;
-    QRect m_arrowsRect;
-
-    float m_wmult;
-    float m_hmult;
-
-    int   m_itemHeight;
-    int   m_itemSpacing;
-    int   m_itemMargin;
-    uint  m_itemsVisible;
-
-    bool  m_active;
-    bool  m_showScrollArrows;
-    bool  m_showUpArrow;
-    bool  m_showDnArrow;
+  private:
+    int            m_order;
+    QRect          m_rect;
+    QRect          m_contentsRect;
+    QRect          m_arrowsRect;
+
+    float          m_wmult;
+    float          m_hmult;
+
+    int            m_itemHeight;
+    int            m_itemSpacing;
+    int            m_itemMargin;
+    uint           m_itemsVisible;
+
+    bool           m_active;
+    bool           m_showScrollArrows;
+    bool           m_showUpArrow;
+    bool           m_showDnArrow;
+    bool           m_initialized;
+    bool           m_clearing;
+    bool           m_visible;
+
+    QColor         m_itemRegBeg;
+    QColor         m_itemRegEnd;
+    QColor         m_itemSelBeg;
+    QColor         m_itemSelEnd;
+    uint           m_itemRegAlpha;
+    uint           m_itemSelAlpha;
 
     OSDTypeImage   m_itemRegPix;
     OSDTypeImage   m_itemSelActPix;
@@ -209,43 +250,30 @@ class OSDListBtnType : public OSDType
     OSDTypeImage   m_checkHalfPix;
     OSDTypeImage   m_checkFullPix;
 
-    QColor    m_itemRegBeg;
-    QColor    m_itemRegEnd;
-    QColor    m_itemSelBeg;
-    QColor    m_itemSelEnd;
-    uint      m_itemRegAlpha;
-    uint      m_itemSelAlpha;
-
-    TTFFont* m_fontActive;
-    TTFFont* m_fontInactive;
-
-    bool      m_initialized;
-    bool      m_clearing;
+    TTFFont       *m_fontActive;
+    TTFFont       *m_fontInactive;
 
-    OSDListBtnTypeItem* m_topItem;
-    OSDListBtnTypeItem* m_selItem;
-    QPtrList<OSDListBtnTypeItem> m_itemList;
+    int            m_topIndx;
+    int            m_selIndx;
 
-    QMutex    m_update;
+    OSDListBtnItemList m_itemList;
 
-    bool      m_visible;
+    mutable QMutex m_update;
 
-    friend class OSDListBtnTypeItem;
-    
   signals:
-
     void itemSelected(OSDListBtnTypeItem* item);
 };
 
 class OSDListBtnTypeItem
 {
+    friend class OSDListBtnType;
 
   public:
-
-    enum CheckState {
-        NotChecked=0,
+    enum CheckState
+    {
+        NotChecked  = 0,
         HalfChecked,
-        FullChecked
+        FullChecked,
     };
 
     OSDListBtnTypeItem(OSDListBtnType* lbtype, const QString& text,
@@ -253,41 +281,36 @@ class OSDListBtnTypeItem
                        bool showArrow = false, CheckState state = NotChecked);
     ~OSDListBtnTypeItem();
 
-    OSDListBtnType*   parent() const;
-    QString           text() const;
-    const OSDTypeImage*   pixmap() const;
-    bool              checkable() const;
-    CheckState        state() const;
-
-    void  setChecked(CheckState state);
-    void  setData(void *data);
-    void* getData();
-    void  setGroup(QString group) { m_group = group; };
-    QString getGroup(void) { return m_group; }
+    OSDListBtnType*     parent(void)    const { return m_parent;    }
+    QString             text(void)      const { return m_text;      }
+    const OSDTypeImage* pixmap(void)    const { return m_pixmap;    }
+    bool                checkable(void) const { return m_checkable; }
+    CheckState          state(void)     const { return m_state;     }
+    QString             getGroup(void)  const { return m_group;     }
+    void               *getData(void)         { return m_data;      }
+
+    void setData(void *data)          { m_data = data; }
+    void setGroup(QString grp)        { m_group = grp; }
+    void setChecked(CheckState state)
+        { m_state = (m_checkable) ? state : m_state; }
 
-    void  Reinit(float wchange, float hchange, float wmult, float hmult);
-    
+    void  Reinit(float,float) {}
     void  paint(OSDSurface *surface, TTFFont *font, int fade, int maxfade, 
                 int x, int y);
     
   protected:
-
     OSDListBtnType *m_parent;
-    QString        m_text;
-    OSDTypeImage  *m_pixmap;
-    bool           m_checkable;
-    CheckState     m_state;
-    void          *m_data;
-    QString        m_group;
-
-    QRect          m_checkRect;
-    QRect          m_pixmapRect;
-    QRect          m_textRect;
-    QRect          m_arrowRect;
-
-    bool           m_showArrow;    
-
-    friend class OSDListBtnType;
+    OSDTypeImage   *m_pixmap;
+    void           *m_data;
+    QString         m_text;
+    QString         m_group;
+    CheckState      m_state;
+    bool            m_showArrow;
+    bool            m_checkable;
+    QRect           m_checkRect;
+    QRect           m_arrowRect;
+    QRect           m_pixmapRect;
+    QRect           m_textRect;
 };
 
 
diff -pruN mythtv-0.19/libs/libmythtv/osdtypes.cpp mythtv/libs/libmythtv/osdtypes.cpp
--- mythtv-0.19/libs/libmythtv/osdtypes.cpp	2005-12-05 16:40:28.000000000 +1000
+++ mythtv/libs/libmythtv/osdtypes.cpp	2006-05-14 01:45:17.000000000 +1000
@@ -14,6 +14,9 @@ using namespace std;
 
 #include "mythcontext.h"
 
+/// Shared OSD image cache
+OSDImageCache OSDTypeImage::c_cache;
+
 OSDSet::OSDSet(const QString &name, bool cache, int screenwidth, 
                int screenheight, float wmult, float hmult, int frint)
       : QObject()
@@ -160,9 +163,6 @@ void OSDSet::Reinit(int screenwidth, int
                     int displaywidth, int displayheight, 
                     float wmult, float hmult, int frint)
 {
-    float wchange = wmult / m_wmult;
-    float hchange = hmult / m_hmult;
-
     m_frameint = frint;
 
     m_screenwidth = screenwidth;
@@ -175,57 +175,12 @@ void OSDSet::Reinit(int screenwidth, int
     vector<OSDType *>::iterator iter = allTypes->begin();
     for (;iter != allTypes->end(); iter++)
     {
-        OSDType *type = (*iter);
-        if (OSDTypeText *item = dynamic_cast<OSDTypeText*>(type))
-        {
-            item->Reinit(wchange, hchange);
-        }
-        else if (OSDTypePositionImage *item =
-                 dynamic_cast<OSDTypePositionImage*>(type))
-        {
-            item->Reinit(wchange, hchange, wmult, hmult);
-        }
-        else if (OSDTypePosSlider *item = dynamic_cast<OSDTypePosSlider*>(type))
-        {
-            item->Reinit(wchange, hchange, wmult, hmult);
-        }
-        else if (OSDTypeFillSlider *item = 
-                 dynamic_cast<OSDTypeFillSlider*>(type))
-        {
-            item->Reinit(wchange, hchange, wmult, hmult);
-        }
-        else if (OSDTypeEditSlider *item =
-                 dynamic_cast<OSDTypeEditSlider*>(type))
-        {
-            item->Reinit(wchange, hchange, wmult, hmult);
-        }
-        else if (OSDTypeImage *item = dynamic_cast<OSDTypeImage*>(type))
-        {
-            item->Reinit(wchange, hchange, wmult, hmult);
-        }
-        else if (OSDTypeBox *item = dynamic_cast<OSDTypeBox*>(type))
-        {
-            item->Reinit(wchange, hchange);
-        }
-        else if (OSDTypePositionRectangle *item =
-                  dynamic_cast<OSDTypePositionRectangle*>(type))
-        {
-            item->Reinit(wchange, hchange);
-        }
-        else if (OSDTypeCC *item = dynamic_cast<OSDTypeCC*>(type))
-        {
-            item->Reinit(xoff, yoff, displaywidth, displayheight);
-        }
-        else if (OSDListTreeType *item = dynamic_cast<OSDListTreeType*>(type))
-        {
-            item->Reinit(wchange, hchange, wmult, hmult);
-        }
+        if (OSDTypeCC *cc608 = dynamic_cast<OSDTypeCC*>(*iter))
+            cc608->Reinit(xoff, yoff, displaywidth, displayheight,
+                          wmult, hmult);
         else
-        {
-            cerr << "Unknown conversion\n";
-        }
+            (*iter)->Reinit(wmult, hmult);
     }
-
 }
 
 OSDType *OSDSet::GetType(const QString &name)
@@ -443,7 +398,8 @@ OSDType::~OSDType()
 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 OSDTypeText::OSDTypeText(const QString &name, TTFFont *font, 
-                         const QString &text, QRect displayrect)
+                         const QString &text, QRect displayrect,
+                         float wmult, float hmult)
            : OSDType(name)
 {
     m_message = text;
@@ -464,6 +420,12 @@ OSDTypeText::OSDTypeText(const QString &
     m_scrollinit = false;
 
     m_linespacing = 1.5;
+
+    m_unbiasedsize =
+        QRect((int)round(m_screensize.x()      / wmult),
+              (int)round(m_screensize.y()      / hmult),
+              (int)ceil( m_screensize.width()  / wmult),
+              (int)ceil( m_screensize.height() / hmult));
 }
 
 OSDTypeText::OSDTypeText(const OSDTypeText &other)
@@ -507,14 +469,13 @@ void OSDTypeText::SetDefaultText(const Q
     m_scrollinit = false;
 }
 
-void OSDTypeText::Reinit(float wchange, float hchange)
+void OSDTypeText::Reinit(float wmult, float hmult)
 {
-    int width = (int)(m_screensize.width() * wchange);
-    int height = (int)(m_screensize.height() * hchange);
-    int x = (int)(m_screensize.x() * wchange);
-    int y = (int)(m_screensize.y() * hchange);
-
-    m_displaysize = m_screensize = QRect(x, y, width, height);
+    m_displaysize = m_screensize =
+        QRect((int)round(m_unbiasedsize.x()      * wmult),
+              (int)round(m_unbiasedsize.y()      * hmult),
+              (int)ceil( m_unbiasedsize.width()  * wmult),
+              (int)ceil( m_unbiasedsize.height() * hmult));
 }
 
 void OSDTypeText::Draw(OSDSurface *surface, int fade, int maxfade, int xoff, 
@@ -708,7 +669,7 @@ OSDTypeImage::OSDTypeImage(const QString
     m_onlyusefirst = false;
 
     m_filename = filename;
-    m_displaypos = displaypos;
+    SetPosition(displaypos, wmult, hmult);
 
     m_yuv = m_alpha = NULL;
     m_isvalid = false;
@@ -716,6 +677,7 @@ OSDTypeImage::OSDTypeImage(const QString
 
     m_scalew = scalew;
     m_scaleh = scaleh;
+    m_cacheitem = NULL;
 
     LoadImage(filename, wmult, hmult, scalew, scaleh);
 }
@@ -733,6 +695,7 @@ OSDTypeImage::OSDTypeImage(const OSDType
     m_name = other.m_name;
     m_scalew = other.m_scalew;
     m_scaleh = other.m_scaleh;
+    m_cacheitem = NULL;
 
     m_alpha = m_yuv = NULL;
     if (m_isvalid)
@@ -760,6 +723,8 @@ OSDTypeImage::OSDTypeImage(const QString
     m_onlyusefirst = false;
 
     m_displaypos = QPoint(0, 0);
+    m_unbiasedpos = QPoint(0, 0);
+    m_cacheitem = NULL;
 
     m_yuv = NULL;
     m_alpha = NULL;
@@ -778,6 +743,8 @@ OSDTypeImage::OSDTypeImage(void)
     m_onlyusefirst = false;
 
     m_displaypos = QPoint(0, 0);
+    m_unbiasedpos = QPoint(0, 0);
+    m_cacheitem = NULL;
 
     m_yuv = NULL;
     m_alpha = NULL;
@@ -790,10 +757,14 @@ OSDTypeImage::OSDTypeImage(void)
 
 OSDTypeImage::~OSDTypeImage()
 {
-    if (m_yuv)
-        delete [] m_yuv;
-    if (m_alpha)
-        delete [] m_alpha;
+    // In case we have a cache item in hand, it's safe to delete it,
+    // as it should not be in OSDImageCache anymore and it should have
+    // been written to the file cache for faster access in the future.
+    if (m_cacheitem)
+    {
+        delete m_cacheitem;
+        m_cacheitem = NULL;
+    }
 }
 
 void OSDTypeImage::SetName(const QString &name)
@@ -801,13 +772,19 @@ void OSDTypeImage::SetName(const QString
     m_name = name;
 }
 
-void OSDTypeImage::Reinit(float wchange, float hchange, float wmult, float hmult)
+void OSDTypeImage::SetPosition(QPoint pos, float wmult, float hmult)
 {
-    int x = (int)(m_displaypos.x() * wchange);
-    int y = (int)(m_displaypos.y() * hchange);
+    m_displaypos  = pos;
+    m_unbiasedpos =
+        QPoint((int)round(pos.x() / wmult),
+               (int)round(pos.y() / hmult));
+}
 
-    m_displaypos.setX(x);
-    m_displaypos.setY(y);
+void OSDTypeImage::Reinit(float wmult, float hmult)
+{
+    m_displaypos =
+        QPoint((int)round(m_unbiasedpos.x() * wmult),
+               (int)round(m_unbiasedpos.y() * hmult));
 
     LoadImage(m_filename, wmult, hmult, m_scalew, m_scaleh);
 }
@@ -815,20 +792,44 @@ void OSDTypeImage::Reinit(float wchange,
 void OSDTypeImage::LoadImage(const QString &filename, float wmult, float hmult,
                              int scalew, int scaleh)
 {
-    if (m_isvalid)
+    QString ckey;
+   
+    if (!filename.isEmpty() && filename.length() >= 2)
     {
-        if (m_yuv)
-            delete [] m_yuv;
-        if (m_alpha)
-            delete [] m_alpha;
-
-        m_isvalid = false;
-        m_yuv = NULL;
-        m_alpha = NULL;
+        ckey = OSDImageCache::CreateKey(
+            filename, wmult, hmult, scalew, scaleh);
+    }
+    else 
+    {
+        // this method requires a backing file
+        return;
     }
+  
+    // Get the item from the cache so it's not freed while in use
+    OSDImageCacheValue* value = c_cache.Get(ckey, true);
+  
+    if (value != NULL)
+    {
+        m_yuv       = value->m_yuv;
+        m_ybuffer   = value->m_ybuffer;
+        m_ubuffer   = value->m_ubuffer;
+        m_vbuffer   = value->m_vbuffer;
+        m_alpha     = value->m_alpha;
+        m_imagesize = value->m_imagesize;
+        m_isvalid   = true;
+
+        // Put the old image back to the cache so it can be reused in the
+        // future, and possibly freed by the cache system if the size limit
+        // is reached
+        if (!m_cacheitem)
+            c_cache.Insert(m_cacheitem);
+        m_cacheitem = value;
 
-    if (filename.length() < 2)
         return;
+    }
+   
+    // scaled image was not found in cache, have to create it
+  
 
     QImage tmpimage(filename);
 
@@ -867,17 +868,32 @@ void OSDTypeImage::LoadImage(const QStri
                      imwidth, imheight, tmp2.width());
 
     m_imagesize = QRect(0, 0, imwidth, imheight);
+
+    // put the old image back to the cache so it can be reused in the
+    // future, and possibly freed by the cache system if the size limit
+    // is reached
+    if (m_cacheitem)
+        c_cache.Insert(m_cacheitem);
+  
+    m_cacheitem = new OSDImageCacheValue(
+        ckey,
+        m_yuv,     m_ybuffer, m_ubuffer,
+        m_vbuffer, m_alpha,   m_imagesize);
+ 
+    // save the new cache item to the file cache
+    if (!filename.isEmpty())
+        c_cache.SaveToDisk(m_cacheitem);
 }
 
 void OSDTypeImage::LoadFromQImage(const QImage &img)
 {
+    // this method is not cached as it's used mostly for
+    // subtitles which are displayed only once anyways, caching
+    // would probably only slow things down overall
     if (m_isvalid)
     {
-        if (m_yuv)
-            delete [] m_yuv;
-        if (m_alpha)
-            delete [] m_alpha;
-
+        delete m_cacheitem;
+        m_cacheitem = NULL;
         m_isvalid = false;
         m_yuv = NULL;
         m_alpha = NULL;
@@ -1043,23 +1059,25 @@ OSDTypePosSlider::OSDTypePosSlider(const
     m_maxval = 1000;
     m_curval = 0;
     m_displayrect = displayrect;
+    m_unbiasedrect =
+        QRect((int)round(m_displayrect.x()      / wmult),
+              (int)round(m_displayrect.y()      / hmult),
+              (int)ceil( m_displayrect.width()  / wmult),
+              (int)ceil( m_displayrect.height() / hmult));
 }
 
 OSDTypePosSlider::~OSDTypePosSlider()
 {
 }
 
-void OSDTypePosSlider::Reinit(float wchange, float hchange, float wmult,
-                              float hmult)
+void OSDTypePosSlider::Reinit(float wmult, float hmult)
 {
-    int width = (int)(m_displayrect.width() * wchange);
-    int height = (int)(m_displayrect.height() * hchange);
-    int x = (int)(m_displayrect.x() * wchange);
-    int y = (int)(m_displayrect.y() * hchange);
-
-    m_displayrect = QRect(x, y, width, height);
-
-    OSDTypeImage::Reinit(wchange, hchange, wmult, hmult);
+    m_displayrect =
+        QRect((int)round(m_unbiasedrect.x()      * wmult),
+              (int)round(m_unbiasedrect.y()      * hmult),
+              (int)ceil( m_unbiasedrect.width()  * wmult),
+              (int)ceil( m_unbiasedrect.height() * hmult));
+    OSDTypeImage::Reinit(wmult, hmult);
 }
 
 void OSDTypePosSlider::SetPosition(int pos)
@@ -1092,23 +1110,25 @@ OSDTypeFillSlider::OSDTypeFillSlider(con
     m_drawwidth = 0;
     m_onlyusefirst = true;
     m_displayrect = displayrect;
+    m_unbiasedrect =
+        QRect((int)round(m_displayrect.x()      / wmult),
+              (int)round(m_displayrect.y()      / hmult),
+              (int)ceil( m_displayrect.width()  / wmult),
+              (int)ceil( m_displayrect.height() / hmult));
 }
 
 OSDTypeFillSlider::~OSDTypeFillSlider()
 {
 }
 
-void OSDTypeFillSlider::Reinit(float wchange, float hchange, float wmult,
-                               float hmult)
+void OSDTypeFillSlider::Reinit(float wmult, float hmult)
 {
-    int width = (int)(m_displayrect.width() * wchange);
-    int height = (int)(m_displayrect.height() * hchange);
-    int x = (int)(m_displayrect.x() * wchange);
-    int y = (int)(m_displayrect.y() * hchange);
-
-    m_displayrect = QRect(x, y, width, height);
-
-    OSDTypeImage::Reinit(wchange, hchange, wmult, hmult);
+    m_displayrect =
+        QRect((int)round(m_unbiasedrect.x()      * wmult),
+              (int)round(m_unbiasedrect.y()      * hmult),
+              (int)ceil( m_unbiasedrect.width()  * wmult),
+              (int)ceil( m_unbiasedrect.height() * hmult));
+    OSDTypeImage::Reinit(wmult, hmult);
 }
 
 void OSDTypeFillSlider::SetPosition(int pos)
@@ -1143,6 +1163,11 @@ OSDTypeEditSlider::OSDTypeEditSlider(con
     m_maxval = 1000;
     m_curval = 0;
     m_displayrect = displayrect;
+    m_unbiasedrect =
+        QRect((int)round(m_displayrect.x()      / wmult),
+              (int)round(m_displayrect.y()      / hmult),
+              (int)ceil( m_displayrect.width()  / wmult),
+              (int)ceil( m_displayrect.height() / hmult));
     m_drawwidth = displayrect.width();
 
     m_drawMap = new unsigned char[m_drawwidth + 1];
@@ -1162,6 +1187,7 @@ OSDTypeEditSlider::OSDTypeEditSlider(con
 
     m_scalew = scalew;
     m_scaleh = scaleh;
+    m_cacheitem = NULL;
 
     LoadImage(m_redname, wmult, hmult, scalew, scaleh);
     if (m_isvalid)
@@ -1184,22 +1210,16 @@ OSDTypeEditSlider::OSDTypeEditSlider(con
 OSDTypeEditSlider::~OSDTypeEditSlider()
 {
     delete [] m_drawMap;
-
-    if (m_ryuv)
-        delete [] m_ryuv;
-    if (m_ralpha)
-        delete [] m_ralpha;
 }
 
-void OSDTypeEditSlider::Reinit(float wchange, float hchange, float wmult,
-                               float hmult)
+void OSDTypeEditSlider::Reinit(float wmult, float hmult)
 {
-    int width = (int)(m_displayrect.width() * wchange);
-    int height = (int)(m_displayrect.height() * hchange);
-    int x = (int)(m_displayrect.x() * wchange);
-    int y = (int)(m_displayrect.y() * hchange);
+    m_displayrect =
+        QRect((int)round(m_unbiasedrect.x()      * wmult),
+              (int)round(m_unbiasedrect.y()      * hmult),
+              (int)ceil( m_unbiasedrect.width()  * wmult),
+              (int)ceil( m_unbiasedrect.height() * hmult));
 
-    m_displayrect = QRect(x, y, width, height);
     m_drawwidth = m_displayrect.width();
 
     delete [] m_drawMap;
@@ -1210,11 +1230,6 @@ void OSDTypeEditSlider::Reinit(float wch
 
     m_displaypos = m_displayrect.topLeft();
 
-    if (m_ryuv)
-        delete [] m_ryuv;
-    if (m_ralpha)
-        delete [] m_ralpha;
-
     LoadImage(m_redname, wmult, hmult, m_scalew, m_scaleh);
     if (m_isvalid)
     {
@@ -1360,30 +1375,46 @@ void OSDTypeEditSlider::Draw(OSDSurface 
 
 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-OSDTypeBox::OSDTypeBox(const QString &name, QRect displayrect) 
-          : OSDType(name)
+OSDTypeBox::OSDTypeBox(const QString &name, QRect displayrect,
+                       float wmult, float hmult)
+    : OSDType(name)
 {
     size = displayrect;
+    m_unbiasedsize =
+        QRect((int)round(size.x()      / wmult),
+              (int)round(size.y()      / hmult),
+              (int)ceil( size.width()  / wmult),
+              (int)ceil( size.height() / hmult));
+}
+
+void OSDTypeBox::SetRect(QRect newrect, float wmult, float hmult)
+{
+    size = newrect;
+    m_unbiasedsize =
+        QRect((int)round(size.x()      / wmult),
+              (int)round(size.y()      / hmult),
+              (int)ceil( size.width()  / wmult),
+              (int)ceil( size.height() / hmult));
 }
 
 OSDTypeBox::OSDTypeBox(const OSDTypeBox &other)
           : OSDType(other.m_name)
 {
     size = other.size;
+    m_unbiasedsize = other.m_unbiasedsize;
 }
 
 OSDTypeBox::~OSDTypeBox()
 {
 }
 
-void OSDTypeBox::Reinit(float wchange, float hchange)
+void OSDTypeBox::Reinit(float wmult, float hmult)
 {
-    int width = (int)(size.width() * wchange);
-    int height = (int)(size.height() * hchange);
-    int x = (int)(size.x() * wchange);
-    int y = (int)(size.y() * hchange);
-
-    size = QRect(x, y, width, height);
+    size =
+        QRect((int)round(m_unbiasedsize.x()      * wmult),
+              (int)round(m_unbiasedsize.y()      * hmult),
+              (int)ceil( m_unbiasedsize.width()  * wmult),
+              (int)ceil( m_unbiasedsize.height() * hmult));
 }
 
 void OSDTypeBox::Draw(OSDSurface *surface, int fade, int maxfade, int xoff, 
@@ -1498,44 +1529,52 @@ OSDTypePositionRectangle::OSDTypePositio
 }       
    
 OSDTypePositionRectangle::OSDTypePositionRectangle(
-                                        const OSDTypePositionRectangle &other) 
-                        : OSDType(other.m_name), OSDTypePositionIndicator(other)
+    const OSDTypePositionRectangle &other) 
+    : OSDType(other.m_name), OSDTypePositionIndicator(other)
 {
     for (int i = 0; i < m_numpositions; i++)
     {
         QRect tmp = other.positions[i];
         positions.push_back(tmp);
     }
+    for (int i = 0; i < m_numpositions; i++)
+    {
+        QRect tmp = other.unbiasedpos[i];
+        unbiasedpos.push_back(tmp);
+    }
 }
 
 OSDTypePositionRectangle::~OSDTypePositionRectangle()
 {
 }
 
-void OSDTypePositionRectangle::Reinit(float wchange, float hchange)
+void OSDTypePositionRectangle::Reinit(float wmult, float hmult)
 {
     for (int i = 0; i < m_numpositions; i++)
     {
-        QRect tmp = positions[i];
-
-        int width = (int)(tmp.width() * wchange);
-        int height = (int)(tmp.height() * hchange);
-        int x = (int)(tmp.x() * wchange);
-        int y = (int)(tmp.y() * hchange);
-
-        tmp = QRect(x, y, width, height);
-        positions[i] = tmp;
+        QRect tmp = unbiasedpos[i];
+        positions[i] =
+            QRect((int)round(tmp.x()      * wmult),
+                  (int)round(tmp.y()      * hmult),
+                  (int)ceil( tmp.width()  * wmult),
+                  (int)ceil( tmp.height() * hmult));
     }
 }
 
-void OSDTypePositionRectangle::AddPosition(QRect rect)
+void OSDTypePositionRectangle::AddPosition(
+    QRect rect, float wmult, float hmult)
 {
     positions.push_back(rect);
+    unbiasedpos.push_back(
+        QRect((int)round(rect.x()      / wmult),
+              (int)round(rect.y()      / hmult),
+              (int)ceil( rect.width()  / wmult),
+              (int)ceil( rect.height() / hmult)));
     m_numpositions++;
 }
 
-void OSDTypePositionRectangle::Draw(OSDSurface *surface, int fade, int maxfade, 
-                                    int xoff, int yoff)
+void OSDTypePositionRectangle::Draw(
+    OSDSurface *surface, int fade, int maxfade, int xoff, int yoff)
 {
     fade = fade;
     maxfade = maxfade;
@@ -1618,17 +1657,21 @@ void OSDTypePositionRectangle::Draw(OSDS
 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 OSDTypePositionImage::OSDTypePositionImage(const QString &name)
-                    : OSDTypeImage(name), OSDTypePositionIndicator()
+    : OSDTypeImage(name), OSDTypePositionIndicator(),
+      m_wmult(0.0f), m_hmult(0.0f)
 {
 }
 
 OSDTypePositionImage::OSDTypePositionImage(const OSDTypePositionImage &other)
                     : OSDTypeImage(other), OSDTypePositionIndicator(other)
 {
+    m_wmult = other.m_wmult;
+    m_hmult = other.m_hmult;
+
     for (int i = 0; i < m_numpositions; i++)
     {
-        QPoint tmp = other.positions[i];
-        positions.push_back(tmp);
+        positions.push_back(other.positions[i]);
+        unbiasedpos.push_back(other.unbiasedpos[i]);
     }
 }
 
@@ -1636,45 +1679,61 @@ OSDTypePositionImage::~OSDTypePositionIm
 {
 }
 
-void OSDTypePositionImage::Reinit(float wchange, float hchange, float wmult, 
-                                  float hmult)
+void OSDTypePositionImage::Reinit(float wmult, float hmult)
 {
-    OSDTypeImage::Reinit(wchange, hchange, wmult, hmult);
+    m_wmult = wmult;
+    m_hmult = hmult;
+    
+    OSDTypeImage::Reinit(wmult, hmult);
 
     for (int i = 0; i < m_numpositions; i++)
     {
-        QPoint tmp = positions[i];
-
-        int x = (int)(tmp.x() * wchange);
-        int y = (int)(tmp.y() * hchange);
-
-        positions[i].setX(x);
-        positions[i].setY(y);
+        positions[i] =
+            QPoint((int)round(unbiasedpos[i].x() * wmult),
+                   (int)round(unbiasedpos[i].y() * hmult));
     }
 }
 
-void OSDTypePositionImage::AddPosition(QPoint pos)
+void OSDTypePositionImage::AddPosition(QPoint pos, float wmult, float hmult)
 {
+    if (m_wmult == 0.0f || m_hmult == 0.0f)
+    {
+        m_wmult = wmult;
+        m_hmult = hmult;
+    }
     positions.push_back(pos);
+    unbiasedpos.push_back(
+        QPoint((int)round(pos.x() / wmult),
+               (int)round(pos.y() / hmult)));
+
+    VERBOSE(VB_IMPORTANT,
+            "OSDTypePositionImage::AddPosition["<<m_numpositions<<"]("
+            <<pos.x()<<"x"<<pos.y()
+            <<"  "<<wmult<<", "<<hmult<<")");
+
     m_numpositions++;
 }
 
 void OSDTypePositionImage::Draw(OSDSurface *surface, int fade, int maxfade,
                                 int xoff, int yoff)
 {
+    VERBOSE(VB_IMPORTANT,
+            "OSDTypePositionImage::Draw["<<m_curposition<<"]("
+            <<m_wmult<<", "<<m_hmult<<")");
+
     if (m_curposition < 0 || m_curposition >= m_numpositions)
         return;
 
     QPoint pos = positions[m_curposition];
 
-    OSDTypeImage::SetPosition(pos);
+    OSDTypeImage::SetPosition(pos, m_wmult, m_hmult);
     OSDTypeImage::Draw(surface, fade, maxfade, xoff, yoff);
 }
 
 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 OSDTypeCC::OSDTypeCC(const QString &name, TTFFont *font, int xoff, int yoff,
-                     int dispw, int disph)
+                     int dispw, int disph, float wmult, float hmult)
          : OSDType(name)
 {
     m_font = font;
@@ -1683,9 +1742,11 @@ OSDTypeCC::OSDTypeCC(const QString &name
     yoffset = yoff;
     displaywidth = dispw;
     displayheight = disph;
+    m_wmult = wmult;
+    m_hmult = hmult;
 
     QRect rect = QRect(0, 0, 0, 0);
-    m_box = new OSDTypeBox("cc_background", rect);
+    m_box = new OSDTypeBox("cc_background", rect, wmult, hmult);
     m_ccbackground = gContext->GetNumSetting("CCBackground", 0);
 }
 
@@ -1695,12 +1756,23 @@ OSDTypeCC::~OSDTypeCC()
     delete m_box;
 }
 
-void OSDTypeCC::Reinit(int x, int y, int dispw, int disph)
+void OSDTypeCC::Reinit(float wmult, float hmult)
+{
+    (void) wmult;
+    (void) hmult;
+    VERBOSE(VB_IMPORTANT, "Programmer error: "
+            "Call to OSDTypeCC::Reinit(float,float)");
+}
+
+void OSDTypeCC::Reinit(int x, int y, int dispw, int disph,
+                       float wmult, float hmult)
 {
     xoffset = x;
     yoffset = y;
     displaywidth = dispw;
     displayheight = disph;
+    m_wmult = wmult;
+    m_hmult = hmult;    
 }
 
 void OSDTypeCC::AddCCText(const QString &text, int x, int y, int color, 
@@ -1875,7 +1947,7 @@ void OSDTypeCC::Draw(OSDSurface *surface
             {
                 QRect rect = QRect(0, 0, textlength + 4, 
                                    (m_font->Size() * 3 / 2) + 3);
-                m_box->SetRect(rect);
+                m_box->SetRect(rect, m_wmult, m_hmult);
                 m_box->Draw(surface, 0, 0, x - 2, y - 2);
             }
 
diff -pruN mythtv-0.19/libs/libmythtv/osdtypes.h mythtv/libs/libmythtv/osdtypes.h
--- mythtv-0.19/libs/libmythtv/osdtypes.h	2005-12-05 16:40:28.000000000 +1000
+++ mythtv/libs/libmythtv/osdtypes.h	2006-05-10 09:54:43.000000000 +1000
@@ -8,6 +8,7 @@
 #include <vector>
 #include <qobject.h>
 #include <qregexp.h>
+#include "osdimagecache.h"
 
 using namespace std;
 
@@ -137,6 +138,8 @@ class OSDType : public QObject
 
     QString Name() { return m_name; }
 
+    virtual void Reinit(float wmult, float hmult) = 0;
+
     virtual void Draw(OSDSurface *surface, int fade, int maxfade, int xoff,
                       int yoff) = 0;
 
@@ -150,11 +153,11 @@ class OSDTypeText : public OSDType
 {
   public:
     OSDTypeText(const QString &name, TTFFont *font, const QString &text,
-                QRect displayrect);
+                QRect displayrect, float wmult, float hmult);
     OSDTypeText(const OSDTypeText &text);
    ~OSDTypeText();
 
-    void Reinit(float wchange, float hchange);
+    void Reinit(float wmult, float hmult);
 
     void SetAltFont(TTFFont *font);
     void SetUseAlt(bool usealt) { m_usingalt = usealt; }
@@ -190,6 +193,7 @@ class OSDTypeText : public OSDType
 
     QRect m_displaysize;
     QRect m_screensize;
+    QRect m_unbiasedsize;
     QString m_message;
     QString m_default_msg;
 
@@ -231,7 +235,7 @@ class OSDTypeImage : public OSDType
     virtual ~OSDTypeImage();
 
     void SetName(const QString &name);
-    void Reinit(float wchange, float hchange, float wmult, float hmult);
+    void Reinit(float wmult, float hmult);
 
     void LoadImage(const QString &filename, float wmult, float hmult, 
                    int scalew = -1, int scaleh = -1);
@@ -239,14 +243,12 @@ class OSDTypeImage : public OSDType
 
     void SetStaticSize(int scalew, int scaleh) { m_scalew = scalew;
                                                  m_scaleh = scaleh; }
+    void SetPosition(QPoint pos, float wmult, float hmult);
 
-    QPoint DisplayPos() { return m_displaypos; }
-    void SetPosition(QPoint pos) { m_displaypos = pos; }
-
-    QRect ImageSize() { return m_imagesize; }
-
-    int width() { return m_imagesize.width(); }
-    int height() { return m_imagesize.height(); }
+    QPoint DisplayPos() const { return m_displaypos;         }
+    QRect  ImageSize()  const { return m_imagesize;          }
+    int    width()      const { return m_imagesize.width();  }
+    int    height()     const { return m_imagesize.height(); }
 
     virtual void Draw(OSDSurface *surface, int fade, int maxfade, int xoff, 
                       int yoff);
@@ -254,6 +256,7 @@ class OSDTypeImage : public OSDType
   protected:
     QRect m_imagesize;
     QPoint m_displaypos;
+    QPoint m_unbiasedpos;
 
     QString m_filename;
 
@@ -270,6 +273,9 @@ class OSDTypeImage : public OSDType
 
     int m_drawwidth;
     bool m_onlyusefirst;
+
+    static OSDImageCache  c_cache;
+    OSDImageCacheValue   *m_cacheitem;
 };
 
 class OSDTypePosSlider : public OSDTypeImage
@@ -280,7 +286,7 @@ class OSDTypePosSlider : public OSDTypeI
                       int scalew = -1, int scaleh = -1);
    ~OSDTypePosSlider();
 
-    void Reinit(float wchange, float hchange, float wmult, float hmult);
+    void Reinit(float wmult, float hmult);
 
     void SetRectangle(QRect rect) { m_displayrect = rect; }
     QRect ImageSize() { return m_imagesize; }
@@ -290,6 +296,7 @@ class OSDTypePosSlider : public OSDTypeI
 
   private:
     QRect m_displayrect;
+    QRect m_unbiasedrect;
     int m_maxval;
     int m_curval;
 };
@@ -302,7 +309,7 @@ class OSDTypeFillSlider : public OSDType
                       int scalew = -1, int scaleh = -1);
    ~OSDTypeFillSlider();
 
-    void Reinit(float wchange, float hchange, float wmult, float hmult);
+    void Reinit(float wmult, float hmult);
 
     void SetRectangle(QRect rect) { m_displayrect = rect; }
     QRect ImageSize() { return m_imagesize; }
@@ -314,6 +321,7 @@ class OSDTypeFillSlider : public OSDType
 
   private:
     QRect m_displayrect;
+    QRect m_unbiasedrect;
     int m_maxval;
     int m_curval;
 };
@@ -327,7 +335,7 @@ class OSDTypeEditSlider : public OSDType
                       int scalew = -1, int scaleh = -1);
    ~OSDTypeEditSlider();
 
-    void Reinit(float wchange, float hchange, float wmult, float hmult);
+    void Reinit(float wmult, float hmult);
 
     void SetRectangle(QRect rect) { m_displayrect = rect; }
     QRect ImageSize() { return m_imagesize; }
@@ -339,6 +347,7 @@ class OSDTypeEditSlider : public OSDType
 
   private:
     QRect m_displayrect;
+    QRect m_unbiasedrect;
     int m_maxval;
     int m_curval;
 
@@ -360,17 +369,19 @@ class OSDTypeEditSlider : public OSDType
 class OSDTypeBox : public OSDType
 {
   public:
-    OSDTypeBox(const QString &name, QRect displayrect); 
+    OSDTypeBox(const QString &name, QRect displayrect,
+               float wmult, float hmult);
     OSDTypeBox(const OSDTypeBox &other);
    ~OSDTypeBox();
 
-    void Reinit(float wchange, float hchange);
-    void SetRect(QRect newrect) { size = newrect; }
+    void Reinit(float wmult, float hmult);
+    void SetRect(QRect newrect, float wmult, float hmult);
 
     void Draw(OSDSurface *surface, int fade, int maxfade, int xoff, int yoff);
 
   private:
     QRect size;
+    QRect m_unbiasedsize;
 };
 
 class OSDTypePositionIndicator
@@ -403,14 +414,15 @@ class OSDTypePositionRectangle : public 
     OSDTypePositionRectangle(const OSDTypePositionRectangle &other);
    ~OSDTypePositionRectangle();
 
-    void AddPosition(QRect rect);
+    void AddPosition(QRect rect, float wmult, float hmult);
 
-    void Reinit(float wchange, float hchange);
+    void Reinit(float wmult, float hmult);
 
     void Draw(OSDSurface *surface, int fade, int maxfade, int xoff, int yoff);
 
   private:
-    vector<QRect> positions; 
+    vector<QRect> positions;
+    vector<QRect> unbiasedpos;
 };
 
 class OSDTypePositionImage : public virtual OSDTypeImage, 
@@ -421,14 +433,17 @@ class OSDTypePositionImage : public virt
     OSDTypePositionImage(const OSDTypePositionImage &other);
    ~OSDTypePositionImage();
 
-    void Reinit(float wchange, float hchange, float wmult, float hmult);
+    void Reinit(float wmult, float hmult);
 
-    void AddPosition(QPoint pos);
+    void AddPosition(QPoint pos, float wmult, float hmult);
 
     void Draw(OSDSurface *surface, int fade, int maxfade, int xoff, int yoff);
 
   private:
     vector<QPoint> positions;
+    vector<QPoint> unbiasedpos;
+    float m_wmult;
+    float m_hmult;
 };
 
 class ccText
@@ -445,10 +460,14 @@ class OSDTypeCC : public OSDType
 {
   public:
     OSDTypeCC(const QString &name, TTFFont *font, int xoff, int yoff,
-              int dispw, int disph);
+              int dispw, int disph, float wmult, float hmult);
    ~OSDTypeCC();
 
-    void Reinit(int xoff, int yoff, int dispw, int disph);
+    void Reinit(float wmult, float hmult);
+
+    void Reinit(int xoff, int yoff,
+                int dispw, int disph,
+                float wmult, float hmult);
 
     void AddCCText(const QString &text, int x, int y, int color, 
                    bool teletextmode = false);
@@ -464,7 +483,7 @@ class OSDTypeCC : public OSDType
     vector<ccText *> *m_textlist;
     OSDTypeBox *m_box;
     int m_ccbackground;
-
+    float m_wmult, m_hmult;
     int xoffset, yoffset, displaywidth, displayheight;
 };
 
diff -pruN mythtv-0.19/libs/libmythtv/pchdtvsignalmonitor.cpp mythtv/libs/libmythtv/pchdtvsignalmonitor.cpp
--- mythtv-0.19/libs/libmythtv/pchdtvsignalmonitor.cpp	2006-02-08 07:56:06.000000000 +1000
+++ mythtv/libs/libmythtv/pchdtvsignalmonitor.cpp	2006-04-20 23:46:13.000000000 +1000
@@ -108,8 +108,8 @@ void pcHDTVSignalMonitor::RunTableMonito
 
         len += remainder;
         remainder = GetStreamData()->ProcessData(buffer, len);
-        if (remainder > 0) // leftover bytes
-            memmove(buffer, &(buffer[buffer_size - remainder]), remainder);
+        if (remainder > 0 && (len > remainder)) // leftover bytes
+            memmove(buffer, &(buffer[len - remainder]), remainder);
     }
     DBG_SM("RunTableMonitor()", "end");
 }
diff -pruN mythtv-0.19/libs/libmythtv/RingBuffer.cpp mythtv/libs/libmythtv/RingBuffer.cpp
--- mythtv-0.19/libs/libmythtv/RingBuffer.cpp	2006-02-08 07:56:06.000000000 +1000
+++ mythtv/libs/libmythtv/RingBuffer.cpp	2006-04-13 11:22:30.000000000 +1000
@@ -145,6 +145,12 @@ void RingBuffer::OpenFile(const QString 
     VERBOSE(VB_PLAYBACK, LOC + QString("OpenFile(%1, %1)")
             .arg(lfilename).arg(retryCount));
 
+    if ((filename.right(4).lower() == ".png") ||
+        (filename.right(4).lower() == ".gif"))
+    {
+        retryCount = 0;
+    }
+
     uint openAttempts = retryCount + 1;
 
     filename = lfilename;
@@ -162,6 +168,7 @@ void RingBuffer::OpenFile(const QString 
 
     bool is_local = false;
     bool is_dvd = false;
+
     if ((filename.left(7) == "myth://") &&
         (filename.length() > 7 ))
     {
@@ -271,6 +278,11 @@ void RingBuffer::OpenFile(const QString 
             remotefile = NULL;
         }
     }
+
+    setswitchtonext = false;
+    ateof = false;
+    commserror = false;
+    numfailures = 0;
 }
 
 /** \fn RingBuffer::IsOpen(void) const
@@ -727,7 +739,7 @@ void RingBuffer::ReadAheadThread(void)
         loops = 0;
 
         pthread_rwlock_rdlock(&rwlock);
-        if (totfree > readblocksize && !commserror)
+        if (totfree > readblocksize && !commserror && !ateof && !setswitchtonext)
         {
             // limit the read size
             totfree = readblocksize;
@@ -737,6 +749,9 @@ void RingBuffer::ReadAheadThread(void)
 
             if (remotefile)
             {
+                if (livetvchain && livetvchain->HasNext())
+                    remotefile->SetTimeout(true);
+
                 ret = safe_read(remotefile, readAheadBuffer + rbwpos,
                                 totfree);
                 internalreadpos += ret;
@@ -785,8 +800,16 @@ void RingBuffer::ReadAheadThread(void)
             totfree = 0;
         }
 
-        if (!readsallowed && used >= fill_min)
+        if (!readsallowed && (used >= fill_min || setswitchtonext))
+        {
             readsallowed = true;
+            VERBOSE(VB_PLAYBACK, QString("reads allowed (%1 %2)").arg(used)
+                                                                .arg(fill_min));
+        }
+        else if (!readsallowed)
+            VERBOSE(VB_PLAYBACK, QString("buffering (%1 %2 %3)").arg(used)
+                                                                .arg(fill_min)
+                                                                .arg(ret));
 
         if (readsallowed && used < fill_min && !ateof && !setswitchtonext)
         {
@@ -808,8 +831,11 @@ void RingBuffer::ReadAheadThread(void)
 
         pthread_rwlock_unlock(&rwlock);
 
-        if ((used >= fill_threshold || wantseek) && !pausereadthread)
+        if ((used >= fill_threshold || wantseek || ateof || setswitchtonext) &&
+            !pausereadthread)
+        {
             usleep(500);
+        }
     }
 
     delete [] readAheadBuffer;
@@ -853,15 +879,15 @@ int RingBuffer::ReadFromBuf(void *buf, i
                  VERBOSE(VB_IMPORTANT,
                          LOC + "Taking too long to be allowed to read..");
                  readErr++;
-                 
+
                  // HACK Sometimes the readhead thread gets borked on startup.
-               /*  if ((readErr % 2) && (rbrpos ==0))
+                 if ((readErr > 2 && readErr % 2) && (rbrpos ==0))
                  {
                     VERBOSE(VB_IMPORTANT, "restarting readhead thread..");
                     KillReadAheadThread();
                     StartupReadAheadThread();
                  }                    
-                   */ 
+ 
                  if (readErr > 10)
                  {
                      VERBOSE(VB_IMPORTANT, LOC_ERR + "Took more than "
@@ -895,6 +921,12 @@ int RingBuffer::ReadFromBuf(void *buf, i
                 VERBOSE(VB_IMPORTANT, LOC + "Waited " +
                         QString("%1").arg(elapsed/1000) +
                         " seconds for data to become available...");
+                if (livetvchain)
+                {
+                    VERBOSE(VB_IMPORTANT, "Checking to see if there's a "
+                                          "new livetv program to switch to..");
+                    livetvchain->ReloadAll();
+                }
             }
 
             bool quit = livetvchain && (livetvchain->NeedsToSwitch() || 
@@ -923,7 +955,7 @@ int RingBuffer::ReadFromBuf(void *buf, i
         availWaitMutex.unlock();
 
         avail = ReadBufAvail();
-        if (ateof && avail < count)
+        if ((ateof || setswitchtonext) && avail < count)
             count = avail;
 
         if (commserror)
diff -pruN mythtv-0.19/libs/libmythtv/RingBuffer.h mythtv/libs/libmythtv/RingBuffer.h
--- mythtv-0.19/libs/libmythtv/RingBuffer.h	2006-02-07 14:31:49.000000000 +1000
+++ mythtv/libs/libmythtv/RingBuffer.h	2006-02-23 17:54:05.000000000 +1000
@@ -91,6 +91,7 @@ class RingBuffer
     long long GetTotalReadPosition(void);
 
     long long SetAdjustFilesize(void);
+    void SetTimeout(bool fast) { oldfile = fast; }
     
   protected:
     static void *StartReader(void *type);
diff -pruN mythtv-0.19/libs/libmythtv/scanwizard.cpp mythtv/libs/libmythtv/scanwizard.cpp
--- mythtv-0.19/libs/libmythtv/scanwizard.cpp	2005-12-17 05:58:46.000000000 +1000
+++ mythtv/libs/libmythtv/scanwizard.cpp	2006-04-26 05:50:59.000000000 +1000
@@ -1,5 +1,5 @@
 /*
- * $Id: scanwizard.cpp 8292 2005-12-16 19:58:46Z danielk $
+ * $Id: scanwizard.cpp 9799 2006-04-25 19:50:59Z danielk $
  * vim: set expandtab tabstop=4 shiftwidth=4:
  *
  * Original Project
@@ -518,7 +518,9 @@ void ScanWizardScanner::scan()
                     "SELECT dvb_diseqc_type, diseqc_port,  diseqc_pos, "
                     "       lnb_lof_switch,  lnb_lof_hi,   lnb_lof_lo "
                     "FROM cardinput, capturecard "
-                    "WHERE capturecard.cardid=%1 and cardinput.sourceid=%2")
+                    "WHERE capturecard.cardid = %1 AND "
+                    "      cardinput.sourceid = %2 AND "
+                    "      capturecard.cardid = cardinput.cardid")
                 .arg(parent->captureCard()).arg(nVideoSource));
 
             if (query.exec() && query.isActive() && query.size() > 0)
diff -pruN mythtv-0.19/libs/libmythtv/scanwizardhelpers.h mythtv/libs/libmythtv/scanwizardhelpers.h
--- mythtv-0.19/libs/libmythtv/scanwizardhelpers.h	2006-02-02 02:56:06.000000000 +1000
+++ mythtv/libs/libmythtv/scanwizardhelpers.h	2006-04-13 00:21:41.000000000 +1000
@@ -1,5 +1,5 @@
 /* -*- Mode: c++ -*-
- * $Id: scanwizardhelpers.h 8817 2006-02-01 16:56:06Z danielk $
+ * $Id: scanwizardhelpers.h 9685 2006-04-12 14:21:41Z danielk $
  * vim: set expandtab tabstop=4 shiftwidth=4:
  *
  * Original Project
@@ -272,11 +272,13 @@ class ScanFrequencyTable: public ComboBo
   public:
     ScanFrequencyTable()
     {
-        addSelection(QObject::tr("Broadcast"),        "us",            true);
-        addSelection(QObject::tr("Cable")    +" 78+", "uscablehigh",   false);
-        addSelection(QObject::tr("Cable HRC")+" 78+", "uscablehrchigh",false);
-        addSelection(QObject::tr("Cable"),            "uscable",       false);
-        addSelection(QObject::tr("Cable HRC"),        "ushrc",         false);
+        addSelection(QObject::tr("Broadcast"),        "us",          true);
+        addSelection(QObject::tr("Cable")    +" 78+", "uscablehigh", false);
+        addSelection(QObject::tr("Cable HRC")+" 67+", "ushrchigh",   false);
+        addSelection(QObject::tr("Cable IRC")+" 67+", "usirchigh",   false);
+        addSelection(QObject::tr("Cable"),            "uscable",     false);
+        addSelection(QObject::tr("Cable HRC"),        "ushrc",       false);
+        addSelection(QObject::tr("Cable IRC"),        "usirc",       false);
 
         setLabel(QObject::tr("Frequency Table"));
         setHelpText(QObject::tr("Frequency table to use.") + " " +
diff -pruN mythtv-0.19/libs/libmythtv/tv_play.cpp mythtv/libs/libmythtv/tv_play.cpp
--- mythtv-0.19/libs/libmythtv/tv_play.cpp	2006-02-08 07:56:06.000000000 +1000
+++ mythtv/libs/libmythtv/tv_play.cpp	2006-04-22 07:08:11.000000000 +1000
@@ -247,7 +247,7 @@ TV::TV(void)
       browsechannum(""), browsechanid(""), browsestarttime(""),
       // Program Info for currently playing video
       recorderPlaybackInfo(NULL),
-      playbackinfo(NULL), inputFilename(""), playbackLen(0),
+      playbackinfo(NULL), playbackLen(0),
       lastProgram(NULL), jumpToProgram(false),
       // Video Players
       nvp(NULL), pipnvp(NULL), activenvp(NULL),
@@ -578,19 +578,7 @@ bool TV::RequestNextRecorder(bool showDi
     if (!testrec->IsValidRecorder())
     {
         if (showDialogs)
-        {
-            QString title = tr("MythTV is already using all available "
-                               "inputs for recording.  If you want to "
-                               "watch an in-progress recording, select one "
-                               "from the playback menu.  If you want to "
-                               "watch live TV, cancel one of the "
-                               "in-progress recordings from the delete "
-                               "menu.");
-            
-            DialogBox diag(gContext->GetMainWindow(), title);
-            diag.AddButton(tr("Cancel and go back to the TV menu"));
-            diag.exec();
-        }        
+            ShowNoRecorderDialog();
         
         delete testrec;
         
@@ -659,8 +647,6 @@ int TV::Playback(ProgramInfo *rcinfo)
     if (internalState != kState_None)
         return 0;
 
-    inputFilename = rcinfo->pathname;
-
     playbackLen = rcinfo->CalculateLength();
     playbackinfo = new ProgramInfo(*rcinfo);
 
@@ -844,9 +830,10 @@ void TV::HandleStateChange(void)
         }
         else
         {
-            tvchain->SetProgram(playbackinfo);
+            QString playbackURL = playbackinfo->GetPlaybackURL();
 
-            prbuffer = new RingBuffer(playbackinfo->pathname, false);
+            tvchain->SetProgram(playbackinfo);
+            prbuffer = new RingBuffer(playbackURL, false);
             prbuffer->SetLiveMode(tvchain);
         }
 
@@ -895,7 +882,14 @@ void TV::HandleStateChange(void)
     else if (TRANSITION(kState_None, kState_WatchingPreRecorded) ||
              TRANSITION(kState_None, kState_WatchingRecording))
     {
-        prbuffer = new RingBuffer(inputFilename, false);
+        QString playbackURL;
+        if ((playbackinfo->pathname.left(4) == "dvd:") ||
+            (playbackinfo->isVideo))
+            playbackURL = playbackinfo->pathname;
+        else
+            playbackURL = playbackinfo->GetPlaybackURL();
+
+        prbuffer = new RingBuffer(playbackURL, false);
         if (prbuffer->IsOpen())
         {
             gContext->DisableScreensaver();
@@ -924,7 +918,7 @@ void TV::HandleStateChange(void)
             {
                 QString message = "COMMFLAG_REQUEST ";
                 message += playbackinfo->chanid + " " +
-                           playbackinfo->startts.toString(Qt::ISODate);
+                           playbackinfo->recstartts.toString(Qt::ISODate);
                 RemoteSendMessage(message);
             }                
         }
@@ -1222,10 +1216,10 @@ void TV::SetupPlayer(bool isWatchingReco
     nvp->SetParentPlayer(this);
     nvp->SetRingBuffer(prbuffer);
     nvp->SetRecorder(recorder);
-    nvp->SetAudioSampleRate(gContext->GetNumSetting("AudioSampleRate"));
+    nvp->SetAudioSampleRate(gContext->GetNumSetting("AudioSampleRate", 44100));
     nvp->SetAudioDevice(gContext->GetSetting("AudioOutputDevice"));
     nvp->SetLength(playbackLen);
-    nvp->SetExactSeeks(gContext->GetNumSetting("ExactSeeking"));
+    nvp->SetExactSeeks(gContext->GetNumSetting("ExactSeeking", 0));
     nvp->SetAutoCommercialSkip(autoCommercialSkip);
     nvp->SetLiveTVChain(tvchain);
 
@@ -1296,9 +1290,9 @@ void TV::SetupPipPlayer(void)
     pipnvp->SetAsPIP();
     pipnvp->SetRingBuffer(piprbuffer);
     pipnvp->SetRecorder(piprecorder);
-    pipnvp->SetAudioSampleRate(gContext->GetNumSetting("AudioSampleRate"));
+    pipnvp->SetAudioSampleRate(gContext->GetNumSetting("AudioSampleRate", 44100));
     pipnvp->SetAudioDevice(gContext->GetSetting("AudioOutputDevice"));
-    pipnvp->SetExactSeeks(gContext->GetNumSetting("ExactSeeking"));
+    pipnvp->SetExactSeeks(gContext->GetNumSetting("ExactSeeking", 0));
     pipnvp->SetLiveTVChain(piptvchain);
 
     pipnvp->SetLength(playbackLen);
@@ -1454,6 +1448,30 @@ void TV::RunTV(void)
                 lastSignalMsg.clear();
             }
             UpdateOSDTimeoutMessage();
+
+            if (!tvchainUpdate.isEmpty())
+            {
+                tvchainUpdateLock.lock();
+                for (QStringList::Iterator it = tvchainUpdate.begin();
+                     it != tvchainUpdate.end(); ++it)
+                {
+                    if (tvchain && nvp && *it == tvchain->GetID())
+                    {
+                        tvchain->ReloadAll();
+                        if (nvp->GetTVChain())
+                            nvp->CheckTVChain();
+                    }
+                    if (piptvchain && pipnvp && *it == piptvchain->GetID())
+                    {
+                        piptvchain->ReloadAll();
+                        if (pipnvp->GetTVChain())
+                            pipnvp->CheckTVChain();
+                    }
+                }
+                tvchainUpdate.clear();
+                tvchainUpdateLock.unlock();
+            }
+
             osdlock.unlock();
         }
 
@@ -2743,7 +2761,7 @@ void TV::processNetworkControlCommand(QS
                 speedStr = QString("%1X").arg(normal_speed);
 
             struct StatusPosInfo posInfo;
-            nvp->calcSliderPos(posInfo);
+            nvp->calcSliderPos(posInfo, true);
 
             QDateTime respDate = mythCurrentDateTime();
             QString infoStr = "";
@@ -2806,8 +2824,10 @@ void TV::TogglePIPView(void)
         }
         else
         {
+            QString playbackURL = playbackinfo->GetPlaybackURL();
+
             piptvchain->SetProgram(playbackinfo);
-            piprbuffer = new RingBuffer(playbackinfo->pathname, false);
+            piprbuffer = new RingBuffer(playbackURL, false);
             piprbuffer->SetLiveMode(piptvchain);
         }
 
@@ -3472,8 +3492,10 @@ void TV::SwitchCards(uint chanid, QStrin
         }
         else
         {
+            QString playbackURL = playbackinfo->GetPlaybackURL();
+
             tvchain->SetProgram(playbackinfo);
-            prbuffer = new RingBuffer(playbackinfo->pathname, false);
+            prbuffer = new RingBuffer(playbackURL, false);
             prbuffer->SetLiveMode(tvchain);
         }
 
@@ -4627,7 +4649,8 @@ void TV::ChangeTimeStretch(int dir, bool
 
     normal_speed = new_normal_speed;
 
-    activenvp->Play(normal_speed, true);
+    if (!paused)
+        activenvp->Play(normal_speed, true);
 
     QString text = QString(tr("Time Stretch %1X")).arg(normal_speed);
 
@@ -4911,29 +4934,14 @@ void TV::customEvent(QCustomEvent *e)
         }
         else if (tvchain && message.left(12) == "LIVETV_CHAIN")
         {
-            // Get osdlock, while intended for the OSD this ensures that
-            // the nvp & pipnvp are not deleted while we are using it..
-            while (!osdlock.tryLock() && nvp)
-                usleep(2500);
-
             message = message.simplifyWhiteSpace();
             QStringList tokens = QStringList::split(" ", message);
             if (tokens[1] == "UPDATE")
             {
-                if (tvchain && nvp && tokens[2] == tvchain->GetID())
-                {
-                    tvchain->ReloadAll();
-                    if (nvp->GetTVChain())
-                        nvp->CheckTVChain();
-                }
-                if (piptvchain && pipnvp && tokens[2] == piptvchain->GetID())
-                {
-                    piptvchain->ReloadAll();
-                    if (pipnvp->GetTVChain())
-                        pipnvp->CheckTVChain();
-                }
+                tvchainUpdateLock.lock();
+                tvchainUpdate += QDeepCopy<QString>(tokens[2]);
+                tvchainUpdateLock.unlock();
             }
-            osdlock.unlock();
         }
         else if (nvp && message.left(12) == "EXIT_TO_MENU")
         {
@@ -4983,7 +4991,7 @@ void TV::customEvent(QCustomEvent *e)
             QDateTime evstartts = QDateTime::fromString(tokens[2], Qt::ISODate);
 
             if ((playbackinfo->chanid == evchanid) &&
-                (playbackinfo->startts == evstartts))
+                (playbackinfo->recstartts == evstartts))
             {
                 QString msg = "COMMFLAG_REQUEST ";
                 msg += tokens[1] + " " + tokens[2];
@@ -5000,7 +5008,7 @@ void TV::customEvent(QCustomEvent *e)
             QDateTime evstartts = QDateTime::fromString(tokens[2], Qt::ISODate);
 
             if ((playbackinfo->chanid == evchanid) &&
-                (playbackinfo->startts == evstartts))
+                (playbackinfo->recstartts == evstartts))
             {
                 QMap<long long, int> newMap;
                 QStringList mark;
@@ -6067,9 +6075,22 @@ void TV::ShowNoRecorderDialog(void)
                            "in-progress recordings from the delete "
                            "menu.");
 
-    MythPopupBox::showOkPopup(
+    if (embedWinID)
+    {
+        VERBOSE(VB_IMPORTANT, errorText);
+    }
+    else if (GetOSD())
+    {
+        dialogname = "infobox";
+        QStringList options("OK");
+        GetOSD()->NewDialogBox(dialogname, errorText, options, 0);
+    }
+    else
+    {
+        MythPopupBox::showOkPopup(
             gContext->GetMainWindow(), QObject::tr("Channel Change Error"),
             errorText);
+    }
 }
 
 /** \fn TV::PauseLiveTV(void)
diff -pruN mythtv-0.19/libs/libmythtv/tv_play.h mythtv/libs/libmythtv/tv_play.h
--- mythtv-0.19/libs/libmythtv/tv_play.h	2006-02-02 02:40:46.000000000 +1000
+++ mythtv/libs/libmythtv/tv_play.h	2006-02-23 17:54:05.000000000 +1000
@@ -456,7 +456,6 @@ class TV : public QObject
     ProgramInfo *recorderPlaybackInfo; ///< info requested from recorder
     ProgramInfo *playbackinfo;  ///< info sent in via Playback()
     QMutex       pbinfoLock;
-    QString      inputFilename; ///< playbackinfo->pathname
     int          playbackLen;   ///< initial playbackinfo->CalculateLength()
     ProgramInfo *lastProgram;   ///< last program played with this player
     bool         jumpToProgram;
@@ -485,6 +484,8 @@ class TV : public QObject
     // LiveTVChain
     LiveTVChain *tvchain;
     LiveTVChain *piptvchain;
+    QStringList tvchainUpdate;
+    QMutex tvchainUpdateLock;
 
     // RingBuffers
     RingBuffer *prbuffer;
diff -pruN mythtv-0.19/libs/libmythtv/videosource.cpp mythtv/libs/libmythtv/videosource.cpp
--- mythtv-0.19/libs/libmythtv/videosource.cpp	2006-02-08 07:56:06.000000000 +1000
+++ mythtv/libs/libmythtv/videosource.cpp	2006-04-13 00:21:41.000000000 +1000
@@ -32,6 +32,7 @@
 #include "videosource.h"
 #include "datadirect.h"
 #include "scanwizard.h"
+#include "frequencies.h"
 
 #ifdef USING_DVB
 #include <linux/dvb/frontend.h>
@@ -574,22 +575,10 @@ FreqTableSelector::FreqTableSelector(con
 {
     setLabel(QObject::tr("Channel frequency table"));
     addSelection("default");
-    addSelection("us-cable");
-    addSelection("us-bcast");
-    addSelection("us-cable-hrc");
-    addSelection("japan-bcast");
-    addSelection("japan-cable");
-    addSelection("europe-west");
-    addSelection("europe-east");
-    addSelection("italy");
-    addSelection("newzealand");
-    addSelection("australia");
-    addSelection("ireland");
-    addSelection("france");
-    addSelection("china-bcast");
-    addSelection("southafrica");
-    addSelection("argentina");
-    addSelection("australia-optus");
+
+    for (uint i = 0; chanlists[i].name; i++)
+        addSelection(chanlists[i].name);
+
     setHelpText(QObject::tr("Use default unless this source uses a "
                 "different frequency table than the system wide table "
                 "defined in the General settings."));
diff -pruN mythtv-0.19/programs/mythbackend/autoexpire.cpp mythtv/programs/mythbackend/autoexpire.cpp
--- mythtv-0.19/programs/mythbackend/autoexpire.cpp	2006-02-08 07:53:46.000000000 +1000
+++ mythtv/programs/mythbackend/autoexpire.cpp	2006-03-19 05:32:52.000000000 +1000
@@ -291,7 +291,8 @@ void AutoExpire::ExpireLiveTV(int type)
 
     if ((availFreeKB = getDiskSpace(record_file_prefix, tKB, uKB)) < 0)
     {
-        QString msg = QString("ERROR: Could not calculate free space.");
+        QString msg = QString("ERROR: Could not calculate free space for %1.")
+                              .arg(record_file_prefix);
         VERBOSE(VB_IMPORTANT, LOC + msg);
         gContext->LogEntry("mythbackend", LP_WARNING,
                            "Autoexpire Recording", msg);
diff -pruN mythtv-0.19/programs/mythbackend/filetransfer.cpp mythtv/programs/mythbackend/filetransfer.cpp
--- mythtv-0.19/programs/mythbackend/filetransfer.cpp	2006-02-07 01:35:33.000000000 +1000
+++ mythtv/programs/mythbackend/filetransfer.cpp	2006-02-23 17:54:05.000000000 +1000
@@ -131,3 +131,9 @@ long long FileTransfer::GetFileSize(void
 
     return size;
 }
+
+void FileTransfer::SetTimeout(bool fast)
+{
+    rbuffer->SetTimeout(fast);
+}
+
diff -pruN mythtv-0.19/programs/mythbackend/filetransfer.h mythtv/programs/mythbackend/filetransfer.h
--- mythtv-0.19/programs/mythbackend/filetransfer.h	2006-02-07 01:35:33.000000000 +1000
+++ mythtv/programs/mythbackend/filetransfer.h	2006-02-23 17:54:05.000000000 +1000
@@ -35,6 +35,8 @@ class FileTransfer
 
     long long GetFileSize(void);
 
+    void SetTimeout(bool fast);
+
   private:
     bool readthreadlive;
     QMutex readthreadLock;
diff -pruN mythtv-0.19/programs/mythbackend/housekeeper.cpp mythtv/programs/mythbackend/housekeeper.cpp
--- mythtv-0.19/programs/mythbackend/housekeeper.cpp	2005-12-27 15:20:47.000000000 +1000
+++ mythtv/programs/mythbackend/housekeeper.cpp	2006-03-14 03:52:00.000000000 +1000
@@ -138,7 +138,6 @@ void HouseKeeper::RunHouseKeeping(void)
 
     while (1)
     {
-        VERBOSE(VB_IMPORTANT, "Running HouseKeeping");
         gContext->LogEntry("mythbackend", LP_DEBUG,
                            "Running housekeeping thread", "");
 
diff -pruN mythtv-0.19/programs/mythbackend/mainserver.cpp mythtv/programs/mythbackend/mainserver.cpp
--- mythtv-0.19/programs/mythbackend/mainserver.cpp	2006-01-29 09:49:24.000000000 +1000
+++ mythtv/programs/mythbackend/mainserver.cpp	2006-03-06 12:41:13.000000000 +1000
@@ -1919,11 +1919,8 @@ void MainServer::HandleGetPendingRecordi
     if (m_sched) {
         if (table == "") m_sched->getAllPending(strList);
         else {
-            // We need a different connection from the scheduler proper
-            // DDCon exists, although it's designed for other purposes.
-            MSqlQueryInfo dbconn = MSqlQuery::DDCon();
-            Scheduler *sched = new Scheduler(false, encoderList,
-                                             table, &dbconn, m_sched);
+            Scheduler *sched = new Scheduler(false, encoderList, 
+                                             table, m_sched);
             sched->FillRecordListFromDB(recordid);
             sched->getAllPending(strList);
             delete sched;
@@ -2940,6 +2937,12 @@ void MainServer::HandleFileTransferQuery
         long long ret = ft->Seek(curpos, pos, whence);
         encodeLongLong(retlist, ret);
     }
+    else if (command == "SET_TIMEOUT")
+    {
+        bool fast = slist[2].toInt();
+        ft->SetTimeout(fast);
+        retlist << "ok";
+    }
     else 
     {
         VERBOSE(VB_IMPORTANT, QString("Unknown command: %1").arg(command));
diff -pruN mythtv-0.19/programs/mythbackend/scheduler.cpp mythtv/programs/mythbackend/scheduler.cpp
--- mythtv-0.19/programs/mythbackend/scheduler.cpp	2006-02-09 16:27:56.000000000 +1000
+++ mythtv/programs/mythbackend/scheduler.cpp	2006-03-06 14:05:21.000000000 +1000
@@ -35,8 +35,7 @@ using namespace std;
 #define LOC_ERR QString("Scheduler, Error: ")
 
 Scheduler::Scheduler(bool runthread, QMap<int, EncoderLink *> *tvList,
-                     QString recordTbl, MSqlQueryInfo *databaseConnection,
-                     Scheduler *master_sched)
+                     QString recordTbl, Scheduler *master_sched)
 {
     hasconflicts = false;
     m_tvList = tvList;
@@ -48,8 +47,11 @@ Scheduler::Scheduler(bool runthread, QMa
         master_sched->getAllPending(&reclist);
     }
 
-    if (databaseConnection) dbConn = *databaseConnection;
-    else dbConn = MSqlQuery::SchedCon();
+    // Only the master scheduler should use SchedCon()
+    if (runthread)
+        dbConn = MSqlQuery::SchedCon();
+    else
+        dbConn = MSqlQuery::DDCon();
 
     recordTable = recordTbl;
 
@@ -1136,6 +1138,10 @@ void Scheduler::RunScheduler(void)
             
         if (reschedQueue.count())
         {
+            // We might have been inactive for a long time, so make
+            // sure our DB connection is fresh before continuing.
+            dbConn = MSqlQuery::SchedCon();
+
             gettimeofday(&fillstart, NULL);
             QString msg;
             while (reschedQueue.count())
@@ -1827,10 +1833,10 @@ void Scheduler::UpdateMatches(int record
         QString query = QString(
 "INSERT INTO recordmatch (recordid, chanid, starttime, manualid) "
 "SELECT RECTABLE.recordid, program.chanid, program.starttime, "
-" IF(search = %1, recordid, 0) "
-"FROM RECTABLE, program ").arg(kManualSearch) + fromclauses[clause] + QString(
-" INNER JOIN channel ON (channel.chanid = program.chanid) "
-"WHERE ") + whereclauses[clause] + QString(" AND channel.visible = 1 AND "
+" IF(search = %1, recordid, 0) ").arg(kManualSearch) + QString(
+"FROM (RECTABLE, program INNER JOIN channel "
+"      ON channel.chanid = program.chanid) ") + fromclauses[clause] + QString(
+" WHERE ") + whereclauses[clause] + QString(" AND channel.visible = 1 AND "
 "((RECTABLE.type = %1 " // allrecord
 "OR RECTABLE.type = %2 " // findonerecord
 "OR RECTABLE.type = %3 " // finddailyrecord
diff -pruN mythtv-0.19/programs/mythbackend/scheduler.h mythtv/programs/mythbackend/scheduler.h
--- mythtv-0.19/programs/mythbackend/scheduler.h	2006-02-08 07:53:46.000000000 +1000
+++ mythtv/programs/mythbackend/scheduler.h	2006-03-06 12:41:13.000000000 +1000
@@ -23,8 +23,7 @@ class Scheduler : public QObject
 {
   public:
     Scheduler(bool runthread, QMap<int, EncoderLink *> *tvList,
-              QString recordTbl = "record", MSqlQueryInfo *dbConnUse = NULL,
-              Scheduler *master_sched = NULL);
+              QString recordTbl = "record", Scheduler *master_sched = NULL);
     ~Scheduler();
 
     void Reschedule(int recordid);
diff -pruN mythtv-0.19/programs/mythcommflag/main.cpp mythtv/programs/mythcommflag/main.cpp
--- mythtv-0.19/programs/mythcommflag/main.cpp	2006-02-08 16:42:13.000000000 +1000
+++ mythtv/programs/mythcommflag/main.cpp	2006-02-28 16:58:05.000000000 +1000
@@ -895,9 +895,6 @@ int main(int argc, char *argv[])
         return COMMFLAG_EXIT_INVALID_CMDLINE;
     }
 
-    if (queueJobInstead)
-        return QueueCommFlagJob(chanid, starttime);
-
     if (copyToCutlist)
         return CopySkipListToCutList(chanid, starttime);
 
@@ -1009,7 +1006,10 @@ int main(int argc, char *argv[])
 
                 if ( allRecorded )
                 {
-                    FlagCommercials(chanid, starttime);
+                    if (queueJobInstead)
+                        QueueCommFlagJob(chanid, starttime);
+                    else
+                        FlagCommercials(chanid, starttime);
                 }
                 else
                 {
@@ -1063,7 +1063,12 @@ int main(int argc, char *argv[])
 
                             if ((flagStatus == COMM_FLAG_NOT_FLAGGED) &&
                                 (marksFound == 0))
-                                FlagCommercials(chanid, starttime);
+                            {
+                                if (queueJobInstead)
+                                    QueueCommFlagJob(chanid, starttime);
+                                else
+                                    FlagCommercials(chanid, starttime);
+                            }
                         }
                     }
                 }
diff -pruN mythtv-0.19/programs/mythfilldatabase/filldata.cpp mythtv/programs/mythfilldatabase/filldata.cpp
--- mythtv-0.19/programs/mythfilldatabase/filldata.cpp	2006-02-08 07:53:46.000000000 +1000
+++ mythtv/programs/mythfilldatabase/filldata.cpp	2006-05-12 07:07:54.000000000 +1000
@@ -337,7 +337,7 @@ void UpdateSourceIcons(int sourceid)
 
     MSqlQuery query(MSqlQuery::InitCon());
     query.prepare("SELECT ch.chanid, nim.url "
-            "FROM channel ch, callsignnetworkmap csm "
+            "FROM (channel ch, callsignnetworkmap csm) "
             "RIGHT JOIN networkiconmap nim ON csm.network = nim.network "
             "WHERE ch.callsign = csm.callsign AND "
             "(icon = :NOICON OR icon = '') AND ch.sourceid = :SOURCEID");
@@ -2174,7 +2174,8 @@ void handleChannels(int id, QValueList<C
                         0 /*service id*/, major,            minor,
                         false /*use on air guide*/, false /*hidden*/,
                         false /*hidden in guide*/,
-                        freqid,           localfile,        (*i).tvformat))
+                        freqid,           localfile,        (*i).tvformat,
+                        (*i).xmltvid))
                 {
                     cout << "### " << endl;
                     cout << "### Channel inserted" << endl;
@@ -3851,7 +3852,6 @@ int main(int argc, char *argv[])
              VERBOSE(VB_IMPORTANT, "Failed to fetch some program info");
              gContext->LogEntry("mythfilldatabase", LP_WARNING,
                                 "Failed to fetch some program info", "");
-             return FILLDB_EXIT_DB_ERROR;
         }
         else
             VERBOSE(VB_IMPORTANT, "Data fetching complete.");
diff -pruN mythtv-0.19/programs/mythfrontend/customrecord.cpp mythtv/programs/mythfrontend/customrecord.cpp
--- mythtv-0.19/programs/mythfrontend/customrecord.cpp	2006-01-22 14:16:48.000000000 +1000
+++ mythtv/programs/mythfrontend/customrecord.cpp	2006-03-06 14:05:21.000000000 +1000
@@ -149,7 +149,7 @@ CustomRecord::CustomRecord(MythMainWindo
     m_cfrom << "";
     m_csql << "program.stars >= 0.75 ";
 
-    m_clause->insertItem(tr("Person named in the credits"));
+    m_clause->insertItem(tr("Person named in the credits (Data Direct)"));
     m_cfrom << ", people, credits";
     m_csql << QString("people.name = 'Tom Hanks' \n"
                       "AND credits.person = people.person \n"
@@ -447,8 +447,8 @@ bool CustomRecord::checkSyntax(void)
     else
     {
         MSqlQuery query(MSqlQuery::InitCon());
-        query.prepare(QString("SELECT NULL FROM program,channel %1 WHERE\n%2") 
-                              .arg(from).arg(desc));
+        query.prepare(QString("SELECT NULL FROM (program,channel) "
+                              "%1 WHERE\n%2").arg(from).arg(desc));
 
         if (query.exec() && query.isActive())
         {
diff -pruN mythtv-0.19/programs/mythfrontend/networkcontrol.cpp mythtv/programs/mythfrontend/networkcontrol.cpp
--- mythtv-0.19/programs/mythfrontend/networkcontrol.cpp	2006-02-10 06:21:59.000000000 +1000
+++ mythtv/programs/mythfrontend/networkcontrol.cpp	2006-03-17 19:17:32.000000000 +1000
@@ -469,7 +469,7 @@ QString NetworkControl::processPlay(QStr
             message = "NETWORK_CONTROL SEEK BACKWARD";
         else if (tokens[2].contains(QRegExp("^\\d\\d:\\d\\d:\\d\\d$")))
         {
-            int hours = tokens[2].left(0).toInt();
+            int hours   = tokens[2].mid(0, 2).toInt();
             int minutes = tokens[2].mid(3, 2).toInt();
             int seconds = tokens[2].mid(6, 2).toInt();
             message = QString("NETWORK_CONTROL SEEK POSITION %1")
diff -pruN mythtv-0.19/programs/mythfrontend/playbackbox.cpp mythtv/programs/mythfrontend/playbackbox.cpp
--- mythtv-0.19/programs/mythfrontend/playbackbox.cpp	2006-02-08 03:21:33.000000000 +1000
+++ mythtv/programs/mythfrontend/playbackbox.cpp	2006-04-01 02:11:33.000000000 +1000
@@ -17,6 +17,7 @@
 #include <qsqldatabase.h>
 #include <qmap.h>
 
+#include <cmath>
 #include <unistd.h>
 
 #include <iostream>
@@ -140,6 +141,7 @@ PlaybackBox::PlaybackBox(BoxType ltype, 
       // Main Recording List support
       fillListTimer(new QTimer(this)),  connected(false),
       titleIndex(0),                    progIndex(0),
+      progsInDB(0),
       // Other state
       curitem(NULL),                    delitem(NULL),
       lastProgram(NULL),
@@ -261,7 +263,9 @@ PlaybackBox::PlaybackBox(BoxType ltype, 
     setNoErase();
     gContext->addListener(this);
 
-    if (!recGroupPassword.isEmpty() || (titleList.count() <= 1) || initialFilt)
+    if ((!recGroupPassword.isEmpty()) ||
+        ((titleList.count() <= 1) && (progsInDB > 0)) ||
+        (initialFilt))
         showRecGroupChooser();
 
     gContext->addCurrentLocation((type == Delete)? "DeleteBox":"PlaybackBox");
@@ -890,9 +894,13 @@ void PlaybackBox::updateVideo(QPainter *
         !playingSomething)
     {
         QSize size = drawVideoBounds.size();
+        float saspect = ((float)size.width()) / ((float)size.height());
+        float vaspect = previewVideoNVP->GetVideoAspect();
+        size.setHeight((int) ceil(size.height() * (saspect / vaspect)));
+        size.setHeight(((size.height() + 7) / 8) * 8);
+        size.setWidth( ((size.width()  + 7) / 8) * 8);
         const QImage &img = previewVideoNVP->GetARGBFrame(size);
-        uint xoff = max((size.width() - drawVideoBounds.width()) / 2, 0);
-        p->drawImage(drawVideoBounds.x() + xoff, drawVideoBounds.y(), img);
+        p->drawImage(drawVideoBounds.x(), drawVideoBounds.y(), img);
     }
 
     /* have we timed out waiting for nvp to start? */
@@ -1380,6 +1388,7 @@ bool PlaybackBox::FillList()
         asCache[asKey] = p->availableStatus;
     }
 
+    progsInDB = 0;
     titleList.clear();
     progLists.clear();
     // Clear autoDelete for the "all" list since it will share the
@@ -1402,6 +1411,7 @@ bool PlaybackBox::FillList()
         vector<ProgramInfo *>::iterator i = infoList->begin();
         for ( ; i != infoList->end(); i++)
         {
+            progsInDB++;
             p = *i;
             if ((((p->recgroup == recGroup) ||
                   ((recGroup == "All Programs") &&
@@ -4129,8 +4139,7 @@ void PlaybackBox::recGroupChooserListBox
     if (!recGroupListBox)
         return;
 
-    QString item = 
-        recGroupListBox->currentText().section('[', 0, 0).simplifyWhiteSpace();
+    QString item = recGroupListBox->currentText().section(" [", 0, 0);
 
     if (item.left(5) == "-----")
     {
@@ -4147,8 +4156,7 @@ void PlaybackBox::recGroupChooserListBox
 
 void PlaybackBox::setGroupFilter(void)
 {
-    recGroup =
-        recGroupListBox->currentText().section('[', 0, 0).simplifyWhiteSpace();
+    recGroup = recGroupListBox->currentText().section(" [", 0, 0);
 
     if (groupnameAsAllProg)
         groupDisplayName = recGroup;
diff -pruN mythtv-0.19/programs/mythfrontend/playbackbox.h mythtv/programs/mythfrontend/playbackbox.h
--- mythtv-0.19/programs/mythfrontend/playbackbox.h	2006-02-02 12:43:31.000000000 +1000
+++ mythtv/programs/mythfrontend/playbackbox.h	2006-02-28 11:06:40.000000000 +1000
@@ -337,6 +337,7 @@ class PlaybackBox : public MythDialog
     int                 progIndex;  ///< Index of selected item index on page
     QStringList         titleList;  ///< list of pages
     ProgramMap          progLists;  ///< lists of programs by page        
+    int                 progsInDB;  ///< total number of recordings in DB
 
     // Play List support
     QStringList         playList;   ///< list of selected items "play list"
diff -pruN mythtv-0.19/programs/mythfrontend/tv_schedule.xml mythtv/programs/mythfrontend/tv_schedule.xml
--- mythtv-0.19/programs/mythfrontend/tv_schedule.xml	2006-02-02 01:28:40.000000000 +1000
+++ mythtv/programs/mythfrontend/tv_schedule.xml	2006-03-11 10:52:28.000000000 +1000
@@ -26,7 +26,7 @@
       <alttext lang="CA">Guia</alttext>
       <alttext lang="DE">EPG</alttext>
       <alttext lang="DK">Guide</alttext>
-      <alttext lang="DK">Dagskrá</alttext>
+      <alttext lang="IS">Dagskrá</alttext>
       <alttext lang="NL">Gids</alttext>
       <alttext lang="SV">Guide</alttext>
       <alttext lang="JA">ガイド</alttext>
diff -pruN mythtv-0.19/programs/mythtranscode/mpeg2fix.cpp mythtv/programs/mythtranscode/mpeg2fix.cpp
--- mythtv-0.19/programs/mythtranscode/mpeg2fix.cpp	2006-01-27 02:42:44.000000000 +1000
+++ mythtv/programs/mythtranscode/mpeg2fix.cpp	2006-03-07 11:49:33.000000000 +1000
@@ -1776,6 +1776,7 @@ int MPEG2fixup::Start()
 
         if (vFrame.count() && (file_end || vFrame.getLast()->isSequence))
         {
+            MPEG2frame *seqFrame;
             if (ptsIncrement != vFrame.first()->mpeg2_seq.frame_period / 300)
             {
                 VERBOSE(MPF_IMPORTANT,
@@ -1786,6 +1787,11 @@ int MPEG2fixup::Start()
             }
             displayFrame->toFirst();
 
+            // since we might reorder the frames when coming out of a cutpoint
+            // me need to save the first frame here, as it is gauranteed to
+            // have a sequence header.
+            seqFrame = vFrame.current();
+
             while (vFrame.current() != vFrame.getLast())
             {
                 bool ptsorder_eq_dtsorder = false;
@@ -1941,7 +1947,7 @@ int MPEG2fixup::Start()
 
                         if (! new_discard_state)
                         {
-                            AddSequence(markedFrame, vFrame.first());
+                            AddSequence(markedFrame, seqFrame);
                             RenumberFrames(frame_pos + Lreorder.at(),
                                             - GetFrameNum(markedFrame));
                         }
diff -pruN mythtv-0.19/programs/mythtv/main.cpp mythtv/programs/mythtv/main.cpp
--- mythtv-0.19/programs/mythtv/main.cpp	2006-01-05 01:45:55.000000000 +1000
+++ mythtv/programs/mythtv/main.cpp	2006-02-19 05:56:39.000000000 +1000
@@ -132,6 +132,7 @@ int main(int argc, char *argv[])
         ProgramInfo *pginfo = new ProgramInfo();
         pginfo->endts = QDateTime::currentDateTime().addSecs(-180);
         pginfo->pathname = filename;
+        pginfo->isVideo = true;
     
         tv->Playback(pginfo);
     }
diff -pruN mythtv-0.19/setup/backendsettings.cpp mythtv/setup/backendsettings.cpp
--- mythtv-0.19/setup/backendsettings.cpp	2005-12-30 04:16:07.000000000 +1000
+++ mythtv/setup/backendsettings.cpp	2006-04-13 00:21:41.000000000 +1000
@@ -1,6 +1,7 @@
 #include <cstdio>
 
 #include "backendsettings.h"
+#include "frequencies.h"
 #include "libmyth/mythcontext.h"
 #include "libmyth/settings.h"
 #include <unistd.h>
@@ -110,23 +111,10 @@ static GlobalComboBox *FreqTable()
 {
     GlobalComboBox *gc = new GlobalComboBox("FreqTable");
     gc->setLabel(QObject::tr("Channel frequency table"));
-    gc->addSelection("us-cable");
-    gc->addSelection("us-bcast");
-    gc->addSelection("us-cable-hrc");
-    gc->addSelection("us-cable-irc");
-    gc->addSelection("japan-bcast");
-    gc->addSelection("japan-cable");
-    gc->addSelection("europe-west");
-    gc->addSelection("europe-east");
-    gc->addSelection("italy");
-    gc->addSelection("newzealand");
-    gc->addSelection("australia");
-    gc->addSelection("ireland");
-    gc->addSelection("france");
-    gc->addSelection("china-bcast");
-    gc->addSelection("southafrica");
-    gc->addSelection("argentina");
-    gc->addSelection("australia-optus");
+
+    for (uint i = 0; chanlists[i].name; i++)
+        gc->addSelection(chanlists[i].name);
+
     gc->setHelpText(QObject::tr("Select the appropriate frequency table for "
                     "your system.  If you have an antenna, use a \"-bcast\" "
                     "frequency."));

Added contrib/mythtv/mythtv-0.19-settings.diff.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
--- settings.pro.orig	2006-01-26 15:38:09.000000000 +1000
+++ settings.pro	2006-01-26 15:40:52.000000000 +1000
@@ -1,7 +1,7 @@
 CONFIG += $$CCONFIG
 
 isEmpty( PREFIX ) {
-    PREFIX = /usr/local
+    PREFIX = /usr
 }
 
 LIBVERSION = 0.18.1
@@ -18,6 +18,7 @@
 }
 
 INCLUDEPATH += $${PREFIX}/include
+INCLUDEPATH += $${PREFIX}/include/qt
 INCLUDEPATH += $$CONFIG_INCLUDEPATH
 
 # figure out compile flags based on qmake info

Added contrib/mythtv/mythtv-0.20-settings.diff.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
--- settings.pro.orig	2006-11-17 22:57:02.584884499 +0100
+++ settings.pro	2006-11-17 22:57:30.654638749 +0100
@@ -1,7 +1,7 @@
 CONFIG += $$CCONFIG
 
 isEmpty( PREFIX ) {
-    PREFIX = /usr/local
+    PREFIX = /usr
 }
 
 LIBVERSION = 0.20
@@ -19,6 +19,7 @@
 }
 
 INCLUDEPATH += $${PREFIX}/include
+INCLUDEPATH += $${PREFIX}/include/qt
 INCLUDEPATH += $$CONFIG_INCLUDEPATH
 
 # figure out compile flags based on qmake info

Added contrib/ncdu/Pkgfile.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Description: NCurses Disk Usage
# URL:         http://dev.yorhel.nl/ncdu/
# Maintainer:  Bartlomiej Palmowski, rotwang at crux dot org dot pl

name=ncdu
version=1.8
release=1
source=(http://dev.yorhel.nl/download/$name-$version.tar.gz)

build() {
  cd $name-$version
  ./configure --prefix=/usr --mandir=/usr/man
  make
  make DESTDIR=$PKG install
}

Added contrib/ncftp/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: command ftp client with completion
# URL:         http://www.ncftp.com/ncftp/
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Depends on:

name=ncftp
version=3.2.3
release=1
source=(http://ftp.uni-erlangen.de/mirrors/gentoo/distfiles/ncftp-$version-src.tar.bz2)

build() {
  cd $name-$version
  ./configure --prefix=/usr \
              --mandir=/usr/man

  make
  make install DESTDIR=$PKG
}

Added contrib/ncmpc/Pkgfile.



























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# Description: Ncurse-based MPD console client 
# URL:         http://www.musicpd.org/
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    James Mills, prologic at shortcircuit dot net dot au
# Depends on:  ncurses libmpdclient

name=ncmpc
version=0.20
release=1
source=(http://download.sourceforge.net/musicpd/$name-$version.tar.bz2)

build() {
  cd $name-$version
    
  ./configure \
    --sysconfdir=/etc \
    --prefix=/usr \
    --mandir=/usr/man \
    --disable-nls
  make
  make install DESTDIR=$PKG

  mkdir -p $PKG/etc/ncmpc

  install -m 0644 doc/config.sample $PKG/etc/ncmpc/config
  install -m 0644 doc/keys.sample $PKG/etc/ncmpc/keys

  rm -rf $PKG/usr/share
}

Added contrib/net-snmp/Pkgfile.

































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# Description: SNMP daemon and client tools
# URL: http://net-snmp.sourceforge.net/
# Maintainer: Mikhail Kolesnik, mike at openbunker dot org
# Packager: Oleksiy V. Khilkevich, centericq at ukr dot net
# Depends on: perl lm_sensors

name=net-snmp
version=5.6.1
release=1
source=(http://download.sourceforge.net/$name/$name-$version.tar.gz \
		snmpd snmpd.conf)

build() {
	cd $name-$version
	export NETSNMP_DONT_CHECK_VERSION=1
	./configure --prefix=/usr \
				--sysconfdir=/etc \
				--mandir=/usr/man \
				--enable-shared \
				--enable-embedded-perl \
				--with-perl-modules \
				--without-rpm \
				--with-openssl \
				--with-libwrap \
				--with-zlib \
				--with-mib-modules="ucd-snmp/lmsensorsMib smux agentx ucd-snmp/diskio" \
				--with-sys-location="Unknown" \
				--with-sys-contact="root@localhost" \
				--with-default-snmp-version="3" \
				--with-logfile=/var/log/snmp/snmpd.log \
				--with-persistent-directory=/var/lib/snmp \
				--with-ldflags="-lsensors"
	make
	make install INSTALL_PREFIX=$PKG DESTDIR=$PKG

	# Clean up perl stuff: clean common junks first, ...
	find $PKG/usr/lib/perl5 -name .packlist \
		-o -name perllocal.pod \
		-o \( \
		-name *.bs -a -empty \
		\) \
		| xargs rm
	# ... less common ones and empty directories
	rm -rf \
		$PKG/usr/lib/perl5/site_perl/5.1?/linux/Bundle \
		$PKG/usr/lib/perl5/5.1? \
		$PKG/usr/lib/perl5/site_perl/5.1?/linux/auto/Bundle
	rm $PKG/usr/include/net-snmp/library/README

	mkdir -p $PKG/var/{lib,run,log}/snmp
	touch $PKG/var/log/snmp/snmpd.log

	# Can not decide whether to install this dummy files to allow correct
	# cleanup on package removal or not. (snmpd creates them)
	#touch $PKG/var/lib/snmpd.conf
	#touch $PKG/usr/share/snmp/mibs/.index

	chown -R daemon:daemon $PKG/var/{lib,run,log}/snmp

	# Seems to be an overkill, install a very basic config instead
	#install -D -m 644 EXAMPLE.conf $PKG/etc/snmp/snmpd.conf.sample
	install -D -m 644 $SRC/snmpd.conf $PKG/etc/snmp/snmpd.conf
	install -D -m 755 $SRC/snmpd $PKG/etc/rc.d/snmpd
}

Added contrib/net-snmp/README.



























>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
README for net-snmp

REQUIREMENTS

PRE-INSTALL

POST-INSTALL
If you want to separate privileges - run post-install. 

It might be handy to run "snmpconf -g basic_setup" to configure
net-snmp.

RESOURCES

Added contrib/net-snmp/post-install.































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#!/bin/sh
#
# - add $ADD_USER user, $ADD_GROUP group
# - change files permissions
# - reflect changes in config
#
# We'll assume 'passwd', 'group' and 'shadow' files are in sync.

ADD_GID=72
ADD_UID=72
ADD_USER=snmpd
ADD_USER_HOME=/var/empty
ADD_USER_SHELL=/bin/false
ADD_GROUP=snmpd

ADD_STATUS=0
if [ -z `getent group | gawk -F: '{ print $1 }' | grep ^$ADD_GROUP$` ]; then
	while [ `getent group | gawk -F: '{ print $3 }' | grep ^$ADD_GID$` ]
	do
		let ADD_GID+=1
	done
	/usr/sbin/groupadd -g $ADD_GID $ADD_GROUP || exit 1
	echo "$0: Created $ADD_GROUP group, GID=$ADD_GID"
	else
		echo "$0: $ADD_GROUP group already exists, trying to create user..."
fi

if [ -z `getent passwd | gawk -F: '{ print $1 }' | grep ^$ADD_USER$` ]; then
	while [ `getent passwd | gawk -F: '{ print $3 }' | grep ^$ADD_UID$` ]
	do
		let ADD_UID+=1
	done
	/usr/sbin/useradd -d $ADD_USER_HOME -s $ADD_USER_SHELL -u $ADD_UID -g $ADD_GROUP $ADD_USER || exit 1
	echo "$0: Created $ADD_USER user, UID=$ADD_UID"
	else
		echo $0: "$ADD_USER user already exists"
		if  [[ `getent passwd | grep ^$ADD_USER: | gawk -F: '{ print $4 }'` != `getent group | grep ^$ADD_GROUP: | gawk -F: '{ print $3 }'` ]]; then
			echo "$0: existing $ADD_USER user is not in $ADD_GROUP group (fix it by hand)."
			ADD_STAUS=2
		fi
fi

# additional
sed -i s/"\-u\ daemon\ \-g\ daemon"/"\-u\ $ADD_USER\ \-g\ $ADD_GROUP"/  /etc/rc.d/snmpd
chown -R $ADD_USER:$ADD_GROUP $PKG/var/{lib,run,log}/snmp

exit $ADD_STATUS

Added contrib/net-snmp/snmpd.

























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/bin/sh
#
# /etc/rc.d/snmpd: start/stop net-snmpd daemon
#

SNMP_LOG=/var/log/snmp/snmpd.log
SNMP_PID=/var/run/snmp/snmpd.pid

SNMPD_ARGS="-A -p $SNMP_PID -Lf $SNMP_LOG -u daemon -g daemon"

case $1 in
start)
	/usr/sbin/snmpd ${SNMPD_ARGS}
	;;
stop)
	kill -TERM `cat $SNMP_PID`
	;;
restart)
	$0 stop
	sleep 2
	$0 start
	;;
*)
	echo "Usage: $0 [start|stop|restart]";
	;;
esac

# End of file

Added contrib/net-snmp/snmpd.conf.



>
1
rocommunity public 127.0.0.1

Added contrib/nethogs/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: net top tool showing network usage by PID
# URL:         http://nethogs.sf.net
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Depends on:  libpcap

name=nethogs
version=0.8.0
release=1
source=(http://downloads.sourceforge.net/project/nethogs/nethogs/0.8/nethogs-0.8.0.tar.gz)

build() {
	cd $name
  sed -i -e 's|share/man|/usr/man|' Makefile
  make
  make DESTDIR=$PKG install
}

Added contrib/neverball/Pkgfile.



















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# Description: Tilt the floor to roll a ball through an obstacle course.
# URL: http://icculus.org/neverball/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Mark Rosenstand, mark at borkware dot net
# Depends on: sdl_image sdl_mixer sdl_ttf physfs

name=neverball
version=1.5.4
release=1
source=(http://icculus.org/neverball/neverball-$version.tar.gz)

build() {
	cd $name-$version

	sed -i -e '/CONFIG_DATA/s|\./data|/usr/share/neverball|g' \
		share/base_config.h

	make

	install -d $PKG/usr/{bin,share/icons}
	cp neverball neverputt $PKG/usr/bin
	find data -type f -exec chmod -v 0644 {} \;
	cp -r data $PKG/usr/share/neverball
	cp -r data/icon $PKG/usr/share/icons/neverball
}

Added contrib/nginx/Pkgfile.























































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# Description: Ultra fast HTTP and mail proxy server
# URL: http://nginx.net/
# Maintainer: Mikhail Kolesnik, mike at openbunker dot org
# Depends on: perl libpcre openssl

name=nginx
version=1.0.10
release=1
source=(http://nginx.org/download/$name-$version.tar.gz \
		$name.conf \
		$name)

build() {
	cd $name-$version
	./configure --prefix=/etc/$name \
				--sbin-path=/usr/bin/$name \
				--conf-path=/etc/$name/$name.conf \
				--pid-path=/var/run/$name.pid \
				--lock-path=/var/lock/$name.lock \
				--http-client-body-temp-path=/var/spool/$name/client_body_temp \
				--http-proxy-temp-path=/var/spool/$name/proxy_temp \
				--http-fastcgi-temp-path=/var/spool/$name/fastcgi_temp \
				--http-uwsgi-temp-path=/var/spool/$name/uwscgi_temp \
				--http-scgi-temp-path=/var/spool/$name/scgi_temp \
				--error-log-path=/var/log/$name \
				--http-log-path=/var/log/$name/access.log \
				--error-log-path=/var/log/$name/error.log \
				--user=$name \
				--group=$name \
				--with-pcre \
				--with-zlib-asm=pentiumpro \
				--with-http_gzip_static_module \
				--with-http_ssl_module \
				--with-http_realip_module \
				--with-http_addition_module \
				--with-http_sub_module \
				--with-http_flv_module \
				--with-http_stub_status_module \
				--with-http_perl_module
	make
	make DESTDIR=$PKG install
	
	mkdir -p $PKG/var/spool/$name/{client_body_temp,fastcgi_temp,uwscgi_temp,scgi_temp,proxy_temp}
	chown $name:0 $PKG/var/spool/$name/{client_body_temp,fastcgi_temp,uwscgi_temp,scgi_temp,proxy_temp}
	chmod 700 $PKG/var/spool/$name/{client_body_temp,fastcgi_temp,uwscgi_temp,scgi_temp,proxy_temp}
	
	touch $PKG/var/log/$name/access.log
	touch $PKG/var/log/$name/error.log
	
	install -m 644 $SRC/$name.conf $PKG/etc/$name/$name.conf
	install -D -m 755 $SRC/$name $PKG/etc/rc.d/$name
	
	rm -f $PKG/etc/$name/*.default
	
	find $PKG/usr/lib/perl5 -name .packlist -exec rm {} \;
	find $PKG/usr/lib/perl5 -name perllocal.pod -exec rm {} \;
	find $PKG/usr/lib/perl5 -depth -type d -empty -exec rm -rf {} \;
	find $PKG/usr/lib/perl5 -name "*.bs" -exec rm {} \;
}

Added contrib/nginx/nginx.



















































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
#
# /etc/rc.d/nginx
#
# Adopted from Fedora Core

LOCKFILE=/var/lock/nginx.lock
PIDFILE=/var/run/nginx.pid
RETVAL=0
MAXOPENFILES=16384

NGINX=/usr/bin/nginx

start()
{
	if [ -s $PIDFILE ]; then
		echo "Nginx is already running"
		exit 1
	fi

	# nginx can work with many files at one time
	ulimit -n $MAXOPENFILES

	$NGINX &>/dev/null
	RETVAL=$?
}

stop() {
	kill -QUIT `cat $PIDFILE` &>/dev/null
	RETVAL=$?
}

restart()
{
	stop
	sleep 1
	start
	RETVAL=$?
}

reload() {
	kill -HUP `cat $PIDFILE`
	RETVAL=$?
}

testconfig()
{
    $NGINX -t
    RETVAL=$?
}

# this is not enabled; requires more testing
upgrade()
{
    testconfig
    RETVAL=$?
    if [ $RETVAL -eq 0 ]; then
		echo -n $"Sending USR2 signal to upgrade nginx "
		kill -USR2 `cat $PIDFILE`
		RETVAL=$?
		echo
    else
		RETVAL=1
	fi
}

rotate() {
	# it's too verbose when we are called from cron/logrotate and
	# causes useless E-mail warnings in some setups
	#echo -n $"Sending USR1 signal to rotate logs "
	kill -USR1 `cat $PIDFILE`
	#echo
	RETVAL=$?
}

case "$1" in
start)
	testconfig
	RETVAL=$?
	[ $RETVAL -eq 0 ] && start
;;
stop)
	stop
;;
reload)
	testconfig
	RETVAL=$?
	[ $RETVAL -eq 0 ] && reload
;;
restart)
	restart
;;
rotate)
	rotate
	RETVAL=$?
;;
testconfig)
	testconfig
	RETVAL=$?
;;
*)
	echo "Usage: $0 {start|stop|reload|restart|rotate|testconfig}"
	RETVAL=1
esac

exit $RETVAL

Added contrib/nginx/nginx.conf.



















































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
#
# /etc/nginx/nginx.conf
#

user nginx;
worker_processes  4;

error_log  /var/log/nginx/error.log  info;

events {
	worker_connections  4096;
}

http {
	include			/etc/nginx/mime.types;
	default_type	application/octet-stream;

	access_log		/var/log/nginx/access.log  combined;

	gzip			on;
	#tcp_nopush		on;
	sendfile		on;

	keepalive_timeout	65;
	
	#passenger_root  /usr/share/nginx/passenger;

	server {
		listen		80;
		server_name	localhost;
		location / {
			root	html;
			index	index.html index.htm;
		}
		error_page	404			  /404.html;
		
		# redirect server error pages to the static page /50x.html
		error_page	500 502 503 504  /50x.html;
		location =	/50x.html {
			root	html;
		}
		
		# proxy the PHP scripts to Apache listening on 127.0.0.1:80
		#
		#location ~ \.php$ {
		#	proxy_pass   http://127.0.0.1;
		#}
		#
		# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
		#
		#location ~ \.php$ {
		#	fastcgi_pass   127.0.0.1:9000;
		#	fastcgi_index  index.php;
		#	include		   fastcgi_params;
		#	fastcgi_param  SCRIPT_FILENAME  /srv/www/nginx/html$fastcgi_script_name;
		#}
		#
		# deny access to .htaccess files, if Apache's document root
		# concurs with nginx's one
		#
		#location ~ /\.ht {
		#	deny  all;
		#}
	}


	# another virtual host using mix of IP-, name-, and port-based configuration
	#
	#server {
	#	listen	   8000;
	#	listen	   somename:8080;
	#	server_name  somename  alias  another.alias;
	#
	#	location / {
	#		root   html;
	#		index  index.html index.htm;
	#	}
	#}


	# HTTPS server
	#
	#server {
	#	listen	   443;
	#	server_name  localhost;
	#
	#	ssl				  on;
	#	ssl_certificate	  cert.pem;
	#	ssl_certificate_key  cert.key;
	#
	#	ssl_session_timeout  5m;
	#
	#	ssl_protocols  SSLv2 SSLv3 TLSv1;
	#	ssl_ciphers  ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
	#	ssl_prefer_server_ciphers   on;
	#
	#	location / {
	#		root   html;
	#		index  index.html index.htm;
	#	}
	#}

}

# End of file

Added contrib/nginx/nginx.rc.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#
# /etc/rc.d/nginx: start, stop or retart nginx server
#

case $1 in
    start)
	if [ -s /var/run/nginx.pid -a ! -z "`pgrep nginx`" ]
	then
	    echo "nginx is already running"
	    exit 1
	fi
	/usr/sbin/nginx
	;;
    stop)
	/usr/sbin/nginx -s quit
	;;
    *)
	echo "usage: nginx [start|stop]"
	;;
esac

# End of file

Added contrib/nginx/pre-install.



























































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/bin/sh
#
# - add $ADD_USER user, $ADD_GROUP group
# - change files permissions
# - reflect changes in config
#
# We'll assume 'passwd', 'group' and 'shadow' files are in sync.

ADD_GID=77
ADD_UID=77
ADD_USER=nginx
ADD_USER_HOME=/etc/nginx
ADD_USER_SHELL=/bin/false
ADD_GROUP=nginx

ADD_STATUS=0
if [ -z `getent group | gawk -F: '{ print $1 }' | grep ^$ADD_GROUP$` ]; then
	while [ `getent group | gawk -F: '{ print $3 }' | grep ^$ADD_GID$` ]
	do
		let ADD_GID+=1
	done
	/usr/sbin/groupadd -g $ADD_GID $ADD_GROUP || exit 1
	echo "$0: Created $ADD_GROUP group, GID=$ADD_GID"
	else
		echo "$0: $ADD_GROUP group already exists, trying to create user..."
fi

if [ -z `getent passwd | gawk -F: '{ print $1 }' | grep ^$ADD_USER$` ]; then
	while [ `getent passwd | gawk -F: '{ print $3 }' | grep ^$ADD_UID$` ]
	do
		let ADD_UID+=1
	done
	/usr/sbin/useradd -d $ADD_USER_HOME -s $ADD_USER_SHELL -u $ADD_UID -g $ADD_GROUP $ADD_USER || exit 1
	echo "$0: Created $ADD_USER user, UID=$ADD_UID"
	else
		echo "$0: $ADD_USER user already exists"
		if  [[ `getent passwd | grep ^$ADD_USER: | gawk -F: '{ print $4 }'` != `getent group | grep ^$ADD_GROUP: | gawk -F: '{ print $3 }'` ]]; then
			echo "$0: existing $ADD_USER user is not in $ADD_GROUP group (fix it by hand)."
			ADD_STAUS=2
		fi
fi

# additional

exit $ADD_STATUS

Added contrib/nmap/Pkgfile.



















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# Description: Utility for network exploration or security auditing
# URL: http://nmap.org
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager: sten, nick dot steeves at shaw dot ca

name=nmap
version=5.51
release=1
source=(http://nmap.org/dist/$name-$version.tar.bz2)


build () {
    cd $name-$version
    ./configure --prefix=/usr --libexecdir=/usr/lib --mandir=/usr/man \
    --with-libpcre=included --with-liblua=included \
    --with-libpcap=included --without-zenmap \
    --without-ndiff --disable-nls
    #install -d $PKG/usr/share/nmap
    make
    make DESTDIR=$PKG install
    rm -rf $PKG/usr/man/man1/zenmap.*
    rm -f $PKG/usr/share/nmap/nselib/data/psexec/README
    
    
}

Added contrib/nmh/Pkgfile.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Description: nmh (new MH) is a powerful electronic mail handling system
# URL: http://www.nongnu.org/nmh/
# Maintainer: Jose V Beneyto, sepen at users dot sourceforge dot net
# Packager: Jose V Beneyto, sepen at users dot sourceforge dot net
# Depends on: 

name=nmh
version=1.3
release=1
source=(http://download.savannah.nongnu.org/releases/$name/$name-$version.tar.gz)

build() {
  cd $name-$version
  ./configure --prefix=/usr \
              --sysconfdir=/usr/etc \
              --libdir=/usr/bin \
              --mandir=/usr/man \
              --enable-apop \
              --enable-pop \
              --disable-locale
  make
  make DESTDIR=$PKG install
}

Added contrib/nmon/Pkgfile.





























>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# Description: Nigel's performance MONitor for Linux 
# URL:         http://nmon.sourceforge.net
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Depends on: 

name=nmon
version=14g
release=1
source=(http://download.sourceforge.net/nmon/lmon${version}.c)

build() {
  install -d -m 755 $PKG/usr/bin
  cc -lncurses -DJFS -DLARGEMEM -o $PKG/usr/bin/nmon lmon${version}.c
}

Added contrib/normalize/Pkgfile.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Description: Normalize mp3 and wav files.
# URL: http://normalize.nongnu.org/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Markus Heinz, su1690 at studserver dot uni-dortmund dot de
# Depends on: lame libmad vorbisgain

name=normalize
version=0.7.7
release=1
source=(http://download.savannah.gnu.org/releases/$name/$name-$version.tar.bz2)

build() {
	cd normalize-$version

	./configure \
		--prefix=/usr \
		--disable-nls

	make
	make DESTDIR=$PKG install
	# Don't make and or use this for oggs. Use vorbisgain.
	rm $PKG/usr/bin/normalize-ogg
}

Added contrib/nss_ldap/Pkgfile.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Description:	LDAP NSS module
# URL:	http://www.padl.com/OSS/nss_ldap.html
# Maintainer:	Alan Mizrahi, alan at mizrahi dot com dot ve
# Depends on:	openldap

name=nss_ldap
version=265
release=1
source=(http://www.padl.com/download/$name-$version.tar.gz)

build() {
        cd $name-$version
	./configure --mandir=/usr/man --with-ldap-lib=openldap --with-ldap-conf-file=/etc/openldap/ldap.conf

	# padl developers have . in their PATH
	PATH="$PATH:$PWD" make

	mkdir -p $PKG/lib $PKG/usr/man
	make DESTDIR=$PKG install

	# Config file comes from openldap
	rm -rf $PKG/etc/openldap
}

Added contrib/ntfs-3g_ntfsprogs/Pkgfile.

























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# Description: Freely available NTFS driver with read and write support.
# URL: http://www.tuxera.com/community/ntfs-3g-download/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com

name=ntfs-3g_ntfsprogs
version=2011.4.12
release=1
source=(http://tuxera.com/opensource/$name-$version.tgz)

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--mandir=/usr/man \
		--disable-static \
		--disable-ldconfig

	make
	make DESTDIR=$PKG install
	chmod a-x $PKG/lib/*.so

	rm $PKG/usr/share/doc/ntfs-3g/README
	rmdir $PKG/usr/share/doc/ntfs-3g
	rmdir $PKG/usr/share/doc
	rmdir $PKG/usr/share
}

Added contrib/ntp/Pkgfile.

















































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# Description: Network Time Protocol software
# URL:         http://www.ntp.org
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    James Mills, prologic at shortcircuit dot net dot au
# Depends on:  openssl

name=ntp
version=4.2.6p5
release=1
source=(http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/$name-$version.tar.gz
        ntpd
        ntpdate
        ntp.conf
        ntp-64bit.diff)

build () {
   mkdir -p $PKG/etc/{rc.d,ntp} \
      $PKG/var/log \
      $PKG/var/run/ntp \
      $PKG/var/lib/ntp/stats \
      $PKG/usr/man/{man8,man5}

   cd $name-$version
   patch -p1 -i ../ntp-64bit.diff

   ./configure \
      --prefix=/usr \
      --mandir=/usr/man \
      --with-sntp \
      --with-crypto \
      --without-ntpsnmpd \
      --enable-debugging=no \
      --enable-ntpdate-step \
      --enable-parse-clocks \
      --enable-all-clocks \
      CFLAGS="$CFLAGS" \
      LDFLAGS="$LDFLAGS" 

   # substitute the default configuration path
   sed -i -e 's;\(CONFIG_FILE[^"]*"\)/etc/ntp.conf;\1/etc/ntp/ntp.conf;' \
        include/ntp_config.h ntpdate/ntptime_config.c

   make
   make DESTDIR=$PKG install
   touch $PKG/var/log/ntp.log

   install -m 644 $SRC/ntp.conf $PKG/etc/ntp
   install -m 755 $SRC/ntpd $PKG/etc/rc.d
   install -m 755 $SRC/ntpdate $PKG/etc/rc.d

   # fix remove unnecessary directory
   rm -r $PKG/usr/sbin

   # initialize ntp.drift file
   echo "0.0" > $PKG/var/lib/ntp/ntp.drift
}

Added contrib/ntp/ntp-64bit.diff.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
--- a/include/ntp_syscall.h	2009-05-19 16:44:55.048156467 -0400
+++ b/include/ntp_syscall.h	2009-05-19 16:46:19.293323686 -0400
@@ -14,6 +14,14 @@
 # include <sys/timex.h>
 #endif
 
+#if defined(ADJ_NANO) && !defined(MOD_NANO)
+#define MOD_NANO ADJ_NANO
+#endif
+
+#if defined(ADJ_TAI) && !defined(MOD_TAI)
+#define MOD_TAI ADJ_TAI
+#endif
+
 #ifndef NTP_SYSCALLS_LIBC
 #ifdef NTP_SYSCALLS_STD
 # define ntp_adjtime(t)		syscall(SYS_ntp_adjtime, (t))

Added contrib/ntp/ntp.conf.





































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#
# /etc/ntp/ntp.conf: ntp configuration
#

###############################################################################
# Default paths

logfile		/var/log/ntp.log
pidfile		/var/run/ntp/ntpd.pid
driftfile	/var/lib/ntp/ntp.drift
#statsdir	/var/lib/ntp/stats/

###############################################################################
# Authentication stuff
#
# keys /etc/ntp/ntp.keys            # path for keys file
# trustedkey 1 2 3 4 5 6 14 15  # define trusted keys
# requestkey 15                 # key (7) for accessing server variables
# controlkey 15                 # key (6) for accessing server variables

###############################################################################
# Undisciplined Local Clock. This is a fake driver intended for backup
# and when no outside source of synchronized time is available.

server 127.127.1.0              # local clock (LCL)
fudge  127.127.1.0 stratum 10   # LCL is unsynchronized


## Generic DCF77 clock on serial port (Conrad DCF77)
## Address:     127.127.8.u
## Serial Port: /dev/refclock-u
## Sample project: http://www.obbl-net.de/dcf77.html by Martin Opel
##
## u = Number of your serial port
##  
## (create soft link /dev/refclock-0 to the particular ttyS?)
##
# server 127.127.8.0 mode 5 prefer


###############################################################################
# Specify the servers you are interested in

server ntps1-0.cs.tu-berlin.de prefer
server ntps1-1.cs.tu-berlin.de
server ntp1.ptb.de
server ntp1.fau.de

###############################################################################
# Then we restrict the type of access you allow these servers.
# Were not allowing them to modify or query our Linux NTP server

restrict default ignore notrust nomodify notrap
restrict 127.0.0.1
#restrict <YOUR_IP_HERE>
restrict ntps1-0.cs.tu-berlin.de mask 255.255.255.255 nomodify notrap noquery
restrict ntps1-1.cs.tu-berlin.de mask 255.255.255.255 nomodify notrap noquery
restrict ntp1.ptb.de mask 255.255.255.255 nomodify notrap noquery
restrict ntp1.fau.de mask 255.255.255.255 nomodify notrap noquery

# Now list the NTP clients on our home network which should be able to query
# our server for the time (notice that the noquery has been removed)

#restrict 192.168.0.0 mask 255.255.255.0

# End of file

Added contrib/ntp/ntpd.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/bin/sh
#
# /etc/rc.d/ntpd: start/stop ntp daemon
#

case $1 in
start)
	/usr/bin/ntpd -gqx
	/usr/bin/ntpd 
	;;
stop)
	/sbin/hwclock -w
	killall -q /usr/bin/ntpd
	;;
restart)
	$0 stop && sleep 3 && $0 start
	;;
*)
	echo "usage: $0 [start|stop|restart]"
	;;
esac

# End of file

Added contrib/ntp/ntpdate.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/bin/sh
#
# /etc/rc.d/ntpdate: sync time via ntp
#

case $1 in
start)
  /usr/bin/ntpdate pool.ntp.org 1>/dev/null &
  ;;
stop)
  ;;
restart)
  $0 start
  ;;
*)
  echo "usage: $0 [start|stop|restart]"
  ;;
esac

# End of file

Added contrib/numarray/Pkgfile.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Description: Array manipulation and computational capabilities.
# URL: http://numeric.scipy.org/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com
# Depends on: python

name=numarray
version=1.5.2
release=1
source=(http://downloads.sourceforge.net/project/numpy/Old%20Numarray/$version/$name-$version.tar.gz)

build() {
	cd $name-$version
	python setup.py install --root=$PKG
}

Added contrib/numeric/Pkgfile.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Description: Numeric Python Library.
# URL: http://numeric.scipy.org/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: James Mills, prologic at shortcircuit dot net dot au
# Depends on: python

name=numeric
version=24.2
release=1
source=(http://downloads.sourceforge.net/project/numpy/Old%20Numeric/$version/Numeric-$version.tar.gz)

build() {
	cd Numeric-$version
	python setup.py install --root=$PKG
}

Added contrib/nut/Pkgfile.



















































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# Description: Network UPS Tools. Monitor of UPS hardware.
# URL: http://www.networkupstools.org/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Victor Martinez, pitillo at ono dot com
# Depends on: libusb openssl tcp_wrappers

name=nut
version=2.6.3
release=1
source=(http://www.networkupstools.org/source/${version%.*}/$name-$version.tar.gz
	upsd)

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--with-user=nut \
		--with-group=nut \
		--mandir=/usr/man \
		--sysconfdir=/etc/$name \
		--datadir=/usr/share/$name \
		--localstatedir=/var/$name

	make
	make DESTDIR=$PKG install

	rmdir \
		$PKG/usr/lib/pkgconfig \
		$PKG/usr/include \
		$PKG/usr/cgi-bin \
		$PKG/usr/html

	#if you dont want config templates uncomment the next line
	#rm $PKG/etc/nut/*

	find $PKG/etc/nut -type f -print0 | xargs -0 chown root:nut
	install -d $PKG/etc/udev/rules.d
	install -d -m 0770 -o root -g nut $PKG/var/state/ups
	install -D -m 0754 $SRC/upsd $PKG/etc/rc.d/upsd
}

Added contrib/nut/README.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
PRE-INSTALL
- Need to create a group and user for ups monitoring. (user,group:nut)
- Add support for USB at kernel:

########################################################
Device Drivers  ---> 
  USB support  ---> 
    [*] Support for Host-side USB 
    [?] EHCI HCD (USB 2.0) support 
    [?] OHCI HCD support 
    [?] UHCI HCD (most Intel and VIA) support 
    [*] USB Human Interface Device (full HID) support 
      [*]   /dev/hiddev raw HID device support 
########################################################

POST-INSTALL
- Remember to change perms in config files:
chown root:nut upsd.conf upsd.users
chmod 0640 upsd.conf upsd.users

- Remember to use man to setup nut.

Added contrib/nut/pre-install.





















































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#!/bin/sh

# Created by Danny Rawlins, monster dot romster at gmail dot com

GROUP=nut
USER=nut
USER_COMMENT="Network UPS Tools"
USER_HOME=/var/empty
USER_SHELL=/bin/sh

if [ ! $(id -u) = 0 ]; then
	echo "ERROR: you need to be root to run this!"
	exit 1
fi

if [ $GROUP ];	then
	if ! getent group $GROUP > /dev/null; then
		/usr/sbin/groupadd $GROUP
		if [ $? -eq 0 ]; then
			echo "Group: $GROUP added."
		fi
	else
		echo "Group: $GROUP already exists! Skipping."
	fi
fi
	
if ! getent passwd $USER > /dev/null; then
	/usr/sbin/useradd -g $GROUP -c "$USER_COMMENT" -d $USER_HOME -s $USER_SHELL $USER
	if [ $? -eq 0 ]; then
		echo "User: $USER added."
		/usr/bin/passwd -l $USER > /dev/null
		if [ $? -eq 0 ]; then
			echo "Locked: $USER account."
		fi
		else
			echo "ERROR: unable to lock $USER account."
			/usr/sbin/userdel $USER
	fi
	else
		echo "User: $USER already exists! Skipping."
fi

Added contrib/nut/upsd.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/bin/sh
#
# /etc/rc.d/upsd: start/stop ups daemon
#

case "$1" in
	start)
		/usr/bin/upsdrvctl start
		/usr/sbin/upsd
	;;
	stop)
		/usr/sbin/upsd -c stop
	;;
	restart) 
		$0 stop
		sleep 1
		$0 start
	;;
	*)
		echo "Usage: $0 [start|stop|restart]"
		exit 1
esac

# End of file

Added contrib/nvclock/Pkgfile.



















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# Description: Small utility that allows users to overclock NVIDIA based video cards.
# URL: http://www.linuxhardware.org/nvclock/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Nathan Pardoe, lithium at poolofrandomness dot com
# Depends on: gtk

name=nvclock
version=0.8b4
release=1
source=(http://www.linuxhardware.org/nvclock/nvclock$version.tar.gz)

build() {
	cd $name$version

	./configure \
		--prefix=/usr \
		--disable-qt \
		--with-x

	make -j 1

	# DESTDIR is currently broken
	make prefix=$PKG/usr install
	rm -r $PKG/usr/share/doc
}

Added contrib/nvdock/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: NVIDIA Dock is a tray icon for easy management of the settings for NVIDIA video cards.
# URL: http://www.opsat.net/user/bob/projects/nvdock
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com
# Depends on: nvclock

name=nvdock
version=1.02
release=2
source=(http://bobmajdakjr.googlecode.com/files/$name-$version.tar.bz2)

build() {
	cd $name-$version
	make CFLAGS="$(pkg-config --cflags gtk+-2.0 glib-2.0) $CFLAGS"

	install -D -m 0755 build/nvdock $PKG/usr/bin/nvdock
	install -D -m 0644 data/nvdock.png $PKG/usr/share/pixmaps/nvdock.png
	install -D -m 0644 data/nvdock.desktop $PKG/usr/share/applications/nvdock.desktop
}

Added contrib/nwn-diamond/Pkgfile.



































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# Description: Neverwinter Nights linux client (Diamond Edition)
# URL: http://nwn.bioware.com/downloads/linuxclient.html
# Maintainer: Matt Housh, jaeger at morpheus dot net
# Depends on: xorg-libx11, xorg-libxau, xorg-libxcb, xorg-libxdmcp, xorg-libxext, libsdl

name=nwn-diamond
version=1.69
release=1
source=(http://nwdownloads.bioware.com/neverwinternights/linux/gold/nwclientgold.tar.gz \
	http://nwdownloads.bioware.com/neverwinternights/linux/161/nwclienthotu.tar.gz \
	http://files.bioware.com/neverwinternights/updates/linux/169/English_linuxclient169_xp2.tar.gz \
	http://jaeger.morpheus.net/linux/crux/files/nwn.png \
	run-nwn.sh)

# override pkgmk's unpack_source() function so that the game sources don't
# all get munged into the same place, overwriting important files.

unpack_source() {

	# first, get the files we need from the diamond edition disc
	[ -z "$CDROM_LOCATION" ] && CDROM_LOCATION=/mnt/dvd
	DISCFILES="Data_Shared Data_linux data/XP1 data/XP2"
	for FILE in $DISCFILES
	do
		if [ ! -f $CDROM_LOCATION/$FILE.zip ]
		then
			echo -e "\nCould not find $FILE.zip in $CDROM_LOCATION! Please make sure your diamond edition disc is mounted. If the mount location is not $CDROM_LOCATION, please set the CDROM_LOCATION environment variable to the correct mountpoint.\n"
			exit 1
		fi
		COMMAND="unzip -q -o $CDROM_LOCATION/$FILE.zip -d $SRC"
		echo $COMMAND; $COMMAND
	done

	# now deal with the source array
	mkdir $SRC/nwn
	COMMAND="tar -C $SRC -zxf $PKGMK_SOURCE_DIR/nwclientgold.tar.gz"
	echo $COMMAND; $COMMAND
	COMMAND="tar -C $SRC -zxf $PKGMK_SOURCE_DIR/nwclienthotu.tar.gz"
	echo $COMMAND; $COMMAND
	COMMAND="tar -C $SRC -zxf $PKGMK_SOURCE_DIR/English_linuxclient168_xp2.tar.gz"
	echo $COMMAND; $COMMAND
	COMMAND="cp $PKGMK_SOURCE_DIR/nwn.png $SRC"
	echo $COMMAND; $COMMAND
	COMMAND="cp run-nwn.sh $SRC"
	echo $COMMAND; $COMMAND
}

build() {
	mkdir -p $PKG/usr/games/nwn $PKG/usr/bin $PKG/usr/share/pixmaps
	mv $SRC/* $PKG/usr/games/nwn
	mv $PKG/usr/games/nwn/run-nwn.sh $PKG/usr/bin/nwn
	mv $PKG/usr/games/nwn/nwn.png $PKG/usr/share/pixmaps/
	find $PKG ! -type d -exec chmod -x '{}' \;
	chmod 755 $PKG/usr/bin/nwn \
		$PKG/usr/games/nwn/{nwn,nwmain,nwserver,fixinstall}
	chown -R root:games $PKG/usr/games/nwn
	chmod -R ug+rw,o+r-w $PKG/usr/games/nwn
	(cd $PKG/usr/games/nwn && ./fixinstall)
	rm -rf $PKG/usr/games/nwn/docs \
		$PKG/usr/games/nwn/readme*.txt \
		$PKG/usr/games/nwn/movies*.txt \
		$PKG/usr/games/nwn/SDL-1.2.5 \
		$PKG/usr/games/nwn/NWN*.txt
	sed -i -e 's|=./lib:|=|' $PKG/usr/games/nwn/nwn
}

Added contrib/nwn-diamond/README.



















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

README for nwn-diamond


REQUIREMENTS:

A 'games' group is required for NWN installation. Ideally, your user
needs to be a member of the games group to play NWN. The 'pre-install'
script will create it for you if run.


PRECAUTION:

Unlike the nwn port, this port installs the shared data files from the
Diamond Edition DVD and requires you to have it and that it be mounted
during the pkgmk process. By default, the Pkgfile looks for it to be
mounted at /mnt/dvd. If your cdrom/dvd mount point is other than this,
use the CDROM_LOCATION environment variable to specify the correct
location like so:

	# env CDROM_LOCATION=/media/dvd pkgmk -d -i

CD keys for NWN, NWN:SoU, and NWN:HotU are still required to play the
game. The game will ask for them the first time it's run.

Added contrib/nwn-diamond/pre-install.













>
>
>
>
>
>
1
2
3
4
5
6
#!/bin/sh

if ! grep -q ^games: /etc/group
then
	/usr/sbin/groupadd games
fi

Added contrib/nwn-diamond/run-nwn.sh.







>
>
>
1
2
3
#!/bin/sh

(cd /usr/games/nwn; exec ./nwn $@; cd -) > /dev/null

Added contrib/obconf/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: openbox preferences manager
# URL:         http://openbox.org/obconf/
# Packager:    Marcin Karpezo <sirmacik@happylinux.pl>
# Maintainer:  Bartlomiej Palmowski, rotwang at crux dot org dot pl
# Depends on:  openbox libglade startup-notification

name=obconf
version=2.0.3
release=1
source=(http://icculus.org/openbox/$name/$name-$version.tar.gz)

build () {
	cd $name-$version
	./configure --prefix=/usr --disable-nls
	make
	make DESTDIR=$PKG install
}

Added contrib/ode/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: The Open Dynamics Engine physics SDK.
# URL: http://www.ode.org/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Aaron Marks, nymacro at  gmail dot com
# Depends on: mesa3d

name=ode
version=0.11.1
release=1
source=(http://download.sourceforge.net/opende/$name-$version.tar.bz2)

build() {
  cd $name-$version
  ./configure --prefix=/usr \
              --disable-static \
              --disable-debug
  make
  make DESTDIR=$PKG install
}

Added contrib/open-vm-tools/Pkgfile.























































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# Description:	VMWare Tools
# URL:		http://open-vm-tools.sf.net/
# Maintainer:	Alan Mizrahi, alan at mizrahi dot com dot ve
# Depends:	libdnet

name=open-vm-tools
version=2011.04.25-402641
release=1
source=( \
http://downloads.sourceforge.net/project/$name/$name/${version%-*}/$name-$version.tar.gz \
vmtools.rc
tools.conf
hostinfo.patch
)

build(){
	cd $name-$version
	patch -p1 -i $SRC/hostinfo.patch

	./configure \
		--prefix=/usr \
		--disable-static \
		--without-root-privileges \
		--without-x \
		--without-gtk2 \
		--without-gtkmm \
		--without-icu \
		--without-pam
		# --without-procps \
		# --without-dnet \
	make
	make DESTDIR=$PKG install
	mv $PKG/usr/sbin/mount.vmhgfs $PKG/sbin/mount.vmhgfs
	install -D $SRC/vmtools.rc $PKG/etc/rc.d/vmtools

	rm -rf $PKG/usr/{etc,sbin,share} $PKG/etc/vmware-tools/scripts/vmware/network
	# rm -f $PKG/usr/lib/lib{vmtools,hgfs}.{,l}a $PKG/usr/lib/libguestlib.a

	# This is included in the linux kernel, enable CONFIG_VMXNET3
	rm -f $PKG/lib/modules/`uname -r`/kernel/drivers/net/vmxnet.ko && rmdir $PKG/lib/modules/`uname -r`/kernel/drivers/net

	install $SRC/tools.conf $PKG/etc/vmware-tools/tools.conf
}

Added contrib/open-vm-tools/README.



























































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
README for open-vm-tools

INTRODUCTION

This port contains VMware Tools.  You should install it if you are running CRUX
as a virtual machine under the VMware hypervisor.
This has only been tested on single core 32-bit virtual machines.
The VMware filesystem (vmhgfs) has not been tested.
Feedback is appreciated.

POST-INSTALL

1. Run the post-install script.
2. Add vmtools to the list of services to start at boot time.

FAQ

Q: What is the difference between this and the official commercial VMware Tools
   distribution?

A: This code comes from the GPL release of VMware's tools, so in theory
   it should work just as the commercial version.
   That said, since this port is intended to be used on a server environment,
   all the desktop utilities have been removed (eg: no GUI applications).

Q: Where is the driver for the VMware network adapter and disk controller?

A: Some device drivers are already included in the Linux kernel and disabled
   in this port.
   Please enable these kernel options:
   * CONFIG_VMWARE_BALLOON
   * CONFIG_VMWARE_PVSCSI
   * CONFIG_VMXNET3
   If your boot filesystem is connected to a paravirtual SCSI interface make
   sure CONFIG_VMWARE_PVSCSI is set as builtin instead of module.
   

Q: Why do I have to shutdown/reboot twice my VM from VMware before it reacts?

A: Did you run the post-install script?


--
If you have any feedback/problems please email me:
Alan Mizrahi, alan at mizrahi dot com dot ve

Added contrib/open-vm-tools/hostinfo.patch.

























>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
--- open-vm-tools-2011.04.25-402641/lib/misc/hostinfoPosix.c.orig	2011-07-01 16:21:05.260000210 +0900
+++ open-vm-tools-2011.04.25-402641/lib/misc/hostinfoPosix.c	2011-07-01 16:21:30.120000215 +0900
@@ -643,9 +643,6 @@
    int i = 0;
 
    if ((fd = open(filename, O_RDONLY)) < 0) {
-      Warning("%s: could not open file%s: %d\n", __FUNCTION__, filename,
-              errno);
-
       return FALSE;
    }
 

Added contrib/open-vm-tools/post-install.





>
>
1
2
#!/bin/sh
crux > /etc/release

Added contrib/open-vm-tools/tools.conf.























>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
[logging]
log=syslog
level=warning
vmsvc.level=warning
vmsvc.data=/var/log/vmware-vmsvc.log
vmusr.handler=syslog
vmusr.level=warning
vmusr.data=/var/log/vmware-vmsvc.log.user

[vmsvc]
disable-tools-version=true

Added contrib/open-vm-tools/vmtools.rc.



























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/bin/sh
#
# /etc/rc.d/vmtools: start/stop VMware Tools
#

PIDFILE=/var/run/vmware-tools.pid
VMTOOLSD_BIN=/usr/bin/vmtoolsd

case $1 in
start)
	$VMTOOLSD_BIN --background=$PIDFILE
	;;
stop)
	if [ -f $PIDFILE ]; then
		kill $(< $PIDFILE) && rm -f $PIDFILE
	else
		killall -q $VMTOOLSD_BIN
	fi
	;;
restart)
	$0 stop
	$0 start
	;;
*)
	echo "usage: $0 [start|stop|restart]"
	;;
esac

# End of file

Added contrib/opencore-amr/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: An implementation of Adaptive Multi Rate Narrowband and Wideband speech codec.
# URL: http://opencore-amr.sourceforge.net/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com

name=opencore-amr
version=0.1.2 # 0.1.3 breaks gst-plugins-ugly
release=1
source=(http://downloads.sourceforge.net/project/$name/$name/$version/$name-$version.tar.gz)

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--mandir=/usr/man \
		--disable-dependency-tracking

	make
	make DESTDIR=$PKG install
}

Added contrib/openexr/Pkgfile.





















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# Description: High dynamic-range (HDR) image file format library.
# URL: http://www.openexr.com/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Jose V Beneyto, sepen at users dot sourceforge dot net
# Depends on: ilmbase

name=openexr
version=1.7.0
release=1
source=(http://download.savannah.gnu.org/releases/$name/$name-$version.tar.gz	openexr-1.7.0-gcc43.patch)


build() {
	cd $name-$version

	patch -p 0 -i $SRC/openexr-1.7.0-gcc43.patch

	./configure \
		--prefix=/usr \
		--disable-static \
		--disable-dependency-tracking

	make
	make DESTDIR=$PKG install
	rm -r $PKG/usr/share/doc
}

Added contrib/openexr/openexr-1.7.0-gcc43.patch.























>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
--- exrenvmap/blurImage.cpp
+++ exrenvmap/blurImage.cpp
@@ -39,6 +39,8 @@
 //
 //-----------------------------------------------------------------------------
 
+#include <cstring>
+
 #include <blurImage.h>
 
 #include <resizeImage.h>

Added contrib/openmortal/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: mortal combat clone
# URL:         http://openmortal.sourceforge.net/
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Depends on:  sdl_net, sdl_image, sdl_mixer

name=openmortal
version=0.7
release=1
source=(http://download.sourceforge.net/openmortal/$name-$version.tar.bz2 fixcmenu.diff)

build() {
  cd $name-$version
  patch -p1 -i ../fixcmenu.diff
  ./configure --prefix=/usr
  make
  make install DESTDIR=$PKG
}

Added contrib/openmortal/fixcmenu.diff.























>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
--- a/src/OnlineChat.cpp	2010-03-24 15:13:57.425452128 +0100
+++ b/src/OnlineChat.cpp	2010-03-24 15:14:06.938452365 +0100
@@ -56,7 +56,7 @@
 class CChallengeMenu: public Menu
 {
 public:
-	CChallengeMenu::CChallengeMenu( std::string a_sChallenger )
+	CChallengeMenu( std::string a_sChallenger )
 	: Menu( "You have been challenged!" ),
 	m_sChallenger( a_sChallenger )
 	{

Added contrib/openvpn/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: VPN Client
# URL:         http://www.openvpn.net
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Depends on:  lzo

name=openvpn
version=2.2.2
release=2
source=(http://swupdate.openvpn.net/community/releases/$name-$version.tar.gz \
        openvpn)

build() {
  install -D -m 755 openvpn $PKG/etc/rc.d/openvpn
  cd $name-$version

  ./configure --prefix=/usr \
              --mandir=/usr/man
  make
  make DESTDIR=$PKG install
  rm -r $PKG/usr/share
}

Added contrib/openvpn/openvpn.



































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#!/bin/sh
#
# /etc/rc.d/openvpn: start/stop openvpn daemon
#

CONFDIR=/etc/openvpn
RUNDIR=/var/run

# optional arguments to openvpn
OPTARGS="--fast-io"

usage() {
	echo "Usage: $0 [start|stop|restart] <config-name>"
	exit 0
}

# require a config name to be specified
if [ -z "$2" ]
then
	usage
fi

CONF=${CONFDIR}/${2}.conf
PID=${RUNDIR}/openvpn.${2}.pid

# check for the existence of the specified config
if [ ! -f ${CONF} ]
then
	echo "Can't find config file ${CONF}! Exiting."
	exit 1
fi

case $1 in
	start)
		# check for an existing PID; this tunnel may already be running
		if [ -f ${PID} ]
		then
			echo "VPN '${2}' appears to be running already. If not, remove the stale PID file '${PID}'. Exiting."
			exit 2
		fi
		# start the specified VPN config
		echo "Starting VPN '${2}'..."
		/usr/sbin/openvpn --config ${CONF} --writepid ${PID} --daemon ovpn-${2} ${OPTARGS}
		;;
	stop)
		# check for an existing PID; this tunnel should already be running
		if [ ! -f ${PID} ]
		then
			echo "VPN '${2}' doesn't appear to be running. Exiting."
			exit 3
		fi
		# stop the specified VPN config
		echo "Stopping VPN '${2}'..."
		kill `cat ${PID}`
		rm -f ${PID}
		;;
	restart)
		${0} stop ${2}; sleep 3; ${0} start ${2}
		;;
	*)
		usage
		;;
esac

# End of file

Added contrib/opera/Pkgfile.













































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# Description: Lightweight web browser with news, e-mail and IRC.
# URL: http://www.opera.com/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Olle Gustafsson, ogg at linux dot se
# Depends on: qt4

name=opera
version=11.62
release=1
source=(http://ftp.heanet.ie/pub/opera/linux/${version//./}/$name-$version-1347.i386.linux.tar.xz)

build() {
	cd $name-$version-*

	mv share/doc/opera/LICENSE $SRC/
	rm -rf share/doc/opera
	rm -rf share/opera/package

	# Replace PREFIX and SUFFIX in various files
	sed -i \
		-e "s:@@{PREFIX}:/usr:g" \
		-e "s:@@{SUFFIX}::g" \
		-e "s:@@{_SUFFIX}::g" \
		-e "s:@@{USUFFIX}::g" \
		share/mime/packages/opera-widget.xml \
		share/man/man1/* \
		share/applications/opera-browser.desktop \
		share/applications/opera-widget-manager.desktop

	# Recreate wrappers
	rm opera
	echo '#!/bin/bash' > opera
	echo 'export OPERA_DIR=/usr/share/opera' >> opera
	echo 'export OPERA_PERSONALDIR="${HOME}/.opera"' >> opera
	echo 'exec /usr/lib/opera/opera "$@"' >> opera

	install -m 0755 -D opera $PKG/usr/bin/opera

	rm opera-widget-manager
	echo '#!/bin/bash' > opera-widget-manager
	echo 'exec /usr/bin/opera --widgetmanager "$@"' >> opera-widget-manager

	install -m 0755 -D opera-widget-manager $PKG/usr/bin/opera-widget-manager

	# Install data
	install -d $PKG/usr/{lib,share}
	cp -r lib/opera $PKG/usr/lib/
	cp -r share/applications $PKG/usr/share/
	cp -r share/icons $PKG/usr/share/
	cp -r share/man $PKG/usr/man/
	cp -r share/mime $PKG/usr/share/
	cp -r share/opera $PKG/usr/share/

	# remove license.txt symlinks to doc directory
	# which we remove
	rm \
		$PKG/usr/lib/opera/plugins/README \
		$PKG/usr/share/opera/locale/en/license.txt \
		$PKG/usr/share/opera/defaults/license.txt

	cp $SRC/LICENSE \
                $PKG/usr/share/opera/defaults/license.txt

	ln $PKG/usr/share/opera/defaults/license.txt \
		$PKG/usr/share/opera/locale/en/license.txt

	find  "$PKG/usr/share/opera/locale/" \
		-mindepth 1 -maxdepth 1 -type d \
		-not -name en -exec rm -r {} +
}

Added contrib/p0f/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description: Passive OS fingerprinting tool
# URL: http://lcamtuf.coredump.cx/p0f.shtml
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager: Mattias Hedenskog mattias at hedenskog dot se
# Depends on: libpcap

name=p0f
version=2.0.8
release=1
source=(http://ftp.freebsd.org/pub/FreeBSD/distfiles/$name-$version.tgz)

build() {
    cd $name
    make
    install -d $PKG/usr/sbin $PKG/usr/man/man1
    install -d $PKG/etc/p0f
    install -m 755 {p0f,p0frep} $PKG/usr/sbin
    install -m 644 p0f.1 $PKG/usr/man/man1
    install -m 644 {p0f.fp,p0fa.fp,p0fr.fp} $PKG/etc/p0f
    cd test
    for i in *.c;do gcc "$i" -o $(basename "$i" .c);install $(basename "$i" .c) $PKG/usr/sbin;done
}

Added contrib/p5-asterisk/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description:	Perl module for interfacing Asterisk
# URL:		http://search.cpan.org/~jamesgol/asterisk-perl-1.01/
# Maintainer:	Alan Mizrahi, alan at mizrahi dot com dot ve
# Depends on:	perl

name=p5-asterisk
version=1.03
release=1
source=(http://search.cpan.org/CPAN/authors/id/J/JA/JAMESGOL/asterisk-perl-$version.tar.gz)

build () {
	cd asterisk-perl-$version
	perl Makefile.PL
	make OPTIMIZE="$CFLAGS"
	make DESTDIR="$PKG" install
	find "$PKG" \( -name .packlist -o -name '*.bs' -o -name autosplit.ix -o -name perllocal.pod \) -exec rm -rf {} \;
	find "$PKG" -depth -type d -empty -exec rm -rf {} \;
}

Added contrib/p5-berkeleydb/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: BerkeleyDB PERL module
# URL: http://search.cpan.org/dist/BerkeleyDB/
# Packager: Lucas Hazel, lucas at die dot net dot au
# Maintainer: Moritz Wilhelmy, moritz plus crux at wzff dot de
# Depends on: perl, db

name=p5-berkeleydb
distname=BerkeleyDB
version=0.43
release=1
source=(http://search.cpan.org/CPAN/authors/id/P/PM/PMQS/$distname-$version.tar.gz)

build() {
	cd $distname-$version
	perl Makefile.PL
	make OPTIMIZE="$CFLAGS"
	make DESTDIR=$PKG install
	find $PKG -name .packlist -o -name perllocal.pod -o -name '*.bs' | 
		xargs rm
}

Added contrib/p5-cairo/Pkgfile.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Description: Perl bindings for cairo
# URL: http://www.cpan.org/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Han Boetes, han at mijncomputer dot nl
# Depends on: cairo p5-glib

name=p5-cairo
version=1.081
release=1
source=(http://search.cpan.org/CPAN/authors/id/T/TS/TSCH/Cairo-$version.tar.gz)

build() {
  cd Cairo-$version
  perl Makefile.PL

  make OPTIMIZE="$CFLAGS"
  make install DESTDIR=$PKG

  find $PKG \
    -name perllocal.pod \
    -o -name "*.bs" \
    -o -name .packlist | xargs rm
  find $PKG -empty | xargs rmdir -p ||:
}

Added contrib/p5-class-std/Pkgfile.



















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# Description: Perl library Class::Std for creating standard "inside-out" classes
# URL:         http://search.cpan.org/dist/Class-Std
# Packager:    Simon Glossner, viper at hometux dot de
# Maintainer:  Moritz Wilhelmy, moritz plus crux at wzff dot de
# Depends on:  perl

name=p5-class-std
version=0.011
release=1
source=(http://search.cpan.org/CPAN/authors/id/D/DC/DCONWAY/Class-Std-$version.tar.gz)

build() {
    cd Class-Std-$version

    perl Makefile.PL
    make OPTIMIZE="$CFLAGS"
    make DESTDIR=$PKG install

    find $PKG \
	-name .packlist -or \
	-name perllocal.pod -or \
	-name '*.bs' -or \
	-name autosplit.ix | xargs rm
    find $PKG -depth -empty -exec rm -rf {} \;
}

Added contrib/p5-config-std/Pkgfile.



















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# Description: Perl library Config::Std
# URL: http://search.cpan.org/~dconway/
# Maintainer: Simon Glossner, viper at hometux dot de
# Packager: Simon Glossner, viper at hometux dot de
# Depends on: p5-class-std, p5-version

name=p5-config-std
version=0.0.4
release=1
source=(http://search.cpan.org/CPAN/authors/id/D/DC/DCONWAY/Config-Std-v$version.tar.gz)

build() {
    cd Config-Std-v$version

    perl Makefile.PL
    make OPTIMIZE="$CFLAGS"
    make DESTDIR=$PKG install

    find $PKG \
	-name .packlist -or \
	-name perllocal.pod -or \
	-name '*.bs' -or \
	-name autosplit.ix | xargs rm
    find $PKG -depth -empty -exec rm -rf {} \;
}

Added contrib/p5-date-manip/Pkgfile.

























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# Description: perl date manip.
# URL: http://search.cpan.org/~sbeck/Date-Manip-6.24/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Han Boetes han at mijncomputer dot nl

name=p5-date-manip
version=6.31
release=1
source=(http://www.cpan.org/modules/by-module/Date/Date-Manip-$version.tar.gz)

build() {
	cd Date-Manip-$version

	perl Makefile.PL
	make OPTIMIZE="$CFLAGS"
	make install DESTDIR=$PKG

	# Remove perlcrap
	find $PKG -type f \( \
		-name '.packlist' -o \
		-name '*.bs' -o \
		-name 'autosplit.ix' -o \
		-name 'perllocal.pod' \) -delete

	# Remove empty directories
	find $PKG -depth -empty -delete
}

Added contrib/p5-digest-sha1/Pkgfile.



















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# Description: Perl Digest::SHA1
# URL: http://search.cpan.org/~gaas/Digest-SHA1-2.11/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Han Boetes, han at mijncomputer dot nl
# Depends on: perl

name=p5-digest-sha1
version=2.13
release=1
source=(http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/Digest-SHA1-$version.tar.gz)

build() {
  cd Digest-SHA1-$version
  perl Makefile.PL
  make OPTIMIZE="$CFLAGS"
  make install DESTDIR=$PKG
  # Remove perlcrap
  find $PKG -name .packlist -or \
            -name '*.bs' -or \
            -name autosplit.ix -or \
            -name perllocal.pod \
            -exec rm -rf {} \;
  # Remove empty directories
  find $PKG -depth -empty -exec rm -rf {} \;
}

Added contrib/p5-extutils-depends/Pkgfile.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Description: Perl bindings for depends
# URL: http://www.cpan.org/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Han Boetes, han at mijncomputer dot nl
# Depends on: p5-xml-parser

name=p5-extutils-depends
version=0.304
release=1
source=(http://search.cpan.org/CPAN/authors/id/F/FL/FLORA/ExtUtils-Depends-$version.tar.gz)

build() {
  cd ExtUtils-Depends-$version
  perl Makefile.PL

  make OPTIMIZE="$CFLAGS"
  make install DESTDIR=$PKG

  find $PKG \
    -name perllocal.pod \
    -o -name "*.bs" \
    -o -name .packlist | xargs rm
  find $PKG -empty | xargs rmdir -p ||:
}

Added contrib/p5-extutils-pkgconfig/Pkgfile.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Description: Perl bindings for pkgconfig
# URL: http://www.cpan.org/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Han Boetes, han at mijncomputer dot nl
# Depends on: p5-xml-parser

name=p5-extutils-pkgconfig
version=1.12
release=3
source=(http://www.cpan.org/modules/by-module/ExtUtils/ExtUtils-PkgConfig-$version.tar.gz)

build() {
  cd ExtUtils-PkgConfig-$version
  perl Makefile.PL

  make OPTIMIZE="$CFLAGS"
  make install DESTDIR=$PKG

  find $PKG \
    -name perllocal.pod \
    -o -name "*.bs" \
    -o -name .packlist | xargs rm
  find $PKG -empty | xargs rmdir -p ||:
}

Added contrib/p5-file-slurp/Pkgfile.

























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# Description: Efficient Reading/Writing of Complete Files.
# URL: http://search.cpan.org/~drolsky/File-Slurp-9999.13/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Younes Hafri, ycrux at club dash internet dot fr
# Depends on: 

name=p5-file-slurp
version=9999.13
release=1
source=(http://search.cpan.org/CPAN/authors/id/D/DR/DROLSKY/File-Slurp-$version.tar.gz)

build() {
	cd File-Slurp-$version
	perl Makefile.PL
	make OPTIMIZE="$CFLAGS"
	make DESTDIR=$PKG install

	# Remove perlcrap
	find $PKG \
		\( -name '.packlist' -or \
		-name '*.bs' -or \
		-name 'autosplit.ix' -or \
		-name 'perllocal.pod' \) -delete

	# Remove empty directories
	find $PKG -depth -empty -exec rm -rf {} \;
}

Added contrib/p5-gd/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description:	Perl interface to GD graphics library 
# URL:	http://search.cpan.org/~lds/GD-2.46/
# Maintainer:	Alan Mizrahi, alan at mizrahi dot com dot ve
# Depends on:	perl, libgd

name=p5-gd
version=2.46
release=1
source=(http://search.cpan.org/CPAN/authors/id/L/LD/LDS/GD-$version.tar.gz )

build () {
	mkdir -p $PKG/usr/bin
	cd GD-$version
	perl Makefile.PL
	make OPTIMIZE="${CFLAGS}"
	make DESTDIR=${PKG} install
	find $PKG \( \( -depth -empty \) -o \( -name .packlist -o -name '*.bs' -o -name autosplit.ix -o -name perllocal.pod \) \) -exec rm -rf {} \;
}

Added contrib/p5-glib/Pkgfile.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Description: Perl bindings for glib
# URL: http://www.gtkperl.org
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Han Boetes, han at mijncomputer dot nl
# Depends on: glib p5-extutils-depends p5-extutils-pkgconfig

name=p5-glib
version=1.250
release=1
source=(http://www.cpan.org/modules/by-module/Glib/Glib-$version.tar.gz)

build() {
  cd Glib-$version
  perl Makefile.PL

  make OPTIMIZE="$CFLAGS"
  make install DESTDIR=$PKG

  find $PKG \
    -name perllocal.pod \
    -o -name "*.bs" \
    -o -name .packlist | xargs rm
  find $PKG -empty | xargs rmdir -p ||:
}

Added contrib/p5-gtk2/Pkgfile.



























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# Description: Perl bindings for GTK2
# URL: http://www.cpan.org/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Han Boetes, han at mijncomputer dot nl
# Depends on: gtk p5-pango

name=p5-gtk2
version=1.242
release=1
source=(http://www.cpan.org/modules/by-module/Gtk2/Gtk2-$version.tar.gz)

build() {
  cd Gtk2-$version
  perl Makefile.PL \
    --without-gdkimlib \
    --without-gnome \
    --without-applets \
    --without-gnomeprint \
    --without-glade

  make OPTIMIZE="$CFLAGS"
  make install DESTDIR=$PKG

  find $PKG \
    -name perllocal.pod \
    -o -name "*.bs" \
    -o -name .packlist | xargs rm
  find $PKG -empty | xargs rmdir -p ||:
}

Added contrib/p5-io-multiplex/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description: Perl module to manage IO on many file handles
# URL:         http://search.cpan.org/dist/IO-Multiplex/
# Packager:    Lucas Hazel, lucas at die dot net dot au
# Maintainer:  Moritz Wilhelmy, moritz plus crux at wzff dot de
# Depends on:  perl

name=p5-io-multiplex
distname=IO-Multiplex
version=1.13
release=1
source=(http://search.cpan.org/CPAN/authors/id/M/MA/MARKOV/$distname-$version.tar.gz)

build() {
	cd $distname-$version
	perl Makefile.PL
	make OPTIMIZE="$CFLAGS"
	make DESTDIR=$PKG install

	# prune some bogus perl files and empty directories
	find $PKG -type f \( -name .packlist -o -name perllocal.pod \) -delete
	find $PKG -depth -type d -empty -delete
}

Added contrib/p5-io-socket-ssl/Pkgfile.

























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# Description: Nearly transparent SSL encapsulation for IO::Socket::INET
# URL: http://search.cpan.org/~sullr/IO-Socket-SSL/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Mikhail Kolesnik, mike at openbunker dot org
# Depends on: p5-net-ssleay

name=p5-io-socket-ssl
version=1.64
release=1
source=(http://search.cpan.org/CPAN/authors/id/S/SU/SULLR/IO-Socket-SSL-$version.tar.gz)

build() {
	cd IO-Socket-SSL-$version
	perl Makefile.PL
	make OPTIMIZE="$CFLAGS"
	make DESTDIR=$PKG install

	# Remove perlcrap
	find $PKG \( \
		-name '.packlist' -or \
		-name '*.bs' -or \
		-name 'autosplit.ix' -or \
		-name 'perllocal.pod' \) -delete

	# Remove empty directories
	find $PKG -depth -empty -delete
}

Added contrib/p5-io-string/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: Emulate file interface for in-core strings
# URL: http://search.cpan.org/~gaas/IO-String/
# Maintainer: Mikhail Kolesnik, mike at openbunker dot org
# Packager: Younes Hafri, ycrux at club-internet dot fr
# Depends on:

name=p5-io-string
version=1.08
release=4
source=(http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/IO-String-$version.tar.gz)

build() {
	cd IO-String-$version
	perl Makefile.PL
	make OPTIMIZE="$CFLAGS"
	make DESTDIR=$PKG install
	find $PKG -name .packlist -exec rm {} \;
	find $PKG -name perllocal.pod -exec rm {} \;
	find $PKG -depth -type d -empty -exec rm -rf {} \;
}

Added contrib/p5-list-moreutils/Pkgfile.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Description: Perl library List::MoreUtils
# URL: http://search.cpan.org/~vparseval/
# Maintainer: Simon Glossner, viper at hometux dot de
# Packager: Simon Glossner, viper at hometux dot de

name=p5-list-moreutils
version=0.22
release=1
source=(http://search.cpan.org/CPAN/authors/id/V/VP/VPARSEVAL/List-MoreUtils-$version.tar.gz)

build() {
    cd List-MoreUtils-$version

    perl Makefile.PL
    make OPTIMIZE="$CFLAGS"
    make DESTDIR=$PKG install

    find $PKG \
	-name .packlist -or \
	-name perllocal.pod -or \
	-name '*.bs' -or \
	-name autosplit.ix | xargs rm
    find $PKG -depth -empty -exec rm -rf {} \;
}

Added contrib/p5-locale-gettext/Pkgfile.





























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# Description: Locale::gettext - Interface to C library functions for internatialization.
# URL: http://search.cpan.org/~pvandry/gettext-1.05/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: bashy, ronny kornexl at online de
# Depends on: 


name=p5-locale-gettext
version=1.05
release=2
source=(http://www.perl.com/CPAN/authors/id/PVANDRY/gettext-$version.tar.gz)

build() {
	cd gettext-$version

	perl Makefile.PL
	make OPTIMIZE="$CFLAGS"
	make DESTDIR=$PKG install

	# Remove perlcrap
	find $PKG \
		-name '.packlist' -delete -or \
		-name '*.bs' -delete -or \
		-name 'autosplit.ix' -delete -or \
		-name 'perllocal.pod' -delete

	# Remove empty directories
	find $PKG -depth -empty -exec rm -rf {} \;
}

Added contrib/p5-lwp/Pkgfile.























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# Description: Perl World Wide Web Library.
# URL: http://search.cpan.org/~gaas/libwww-perl-5.813/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: James Mills, prologic at shortcircuit dot net dot au
# Depends on: p5-html-parser p5-uri

name=p5-lwp
version=5.837
release=1
source=(http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/libwww-perl-$version.tar.gz)

build() {
	cd libwww-perl-$version
	yes | perl Makefile.PL -n
	make
	make DESTDIR=$PKG install

	# Remove perlcrap
	find $PKG -type f \( \
		-name '.packlist' -or \
		-name '*.bs' -or \
		-name 'autosplit.ix' -or \
		-name 'perllocal.pod' \) -delete

	# Remove empty directories
	find $PKG -depth -empty -exec rm -rf {} \;
}

Added contrib/p5-net-dns/Pkgfile.





















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# Description: Perl Library Net::DNS
# URL:         http://www.net-dns.org/
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    Han Boetes, han at mijncomputer dot nl
# Depends on:  perl

name=p5-net-dns
capsname=Net-DNS
version=0.68
release=1
source=(http://search.cpan.org/CPAN/authors/id/O/OL/OLAF/Net-DNS-$version.tar.gz)

build() {
  cd $capsname-$version
  yes n|perl Makefile.PL
  make OPTIMIZE="$CFLAGS"
  make install DESTDIR=$PKG
  # Remove perlcrap
  find $PKG \
    -name .packlist -or \
    -name '*.bs' -or \
    -name autosplit.ix -or \
    -name perllocal.pod | xargs rm
  # Remove empty directories
  find $PKG -depth -empty -exec rm -rf {} \;
}

Added contrib/p5-net-ip/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: Perl extension for manipulating IPv4/IPv6 addresses
# URL: http://search.cpan.org/~manu/Net-IP/
# Maintainer: Mikhail Kolesnik, mike at openbunker dot org
# Packager: Han Boetes, han at mijncomputer dot nl
# Depends on:

name=p5-net-ip
version=1.25
release=4
source=(http://search.cpan.org/CPAN/authors/id/M/MA/MANU/Net-IP-$version.tar.gz)

build() {
	cd Net-IP-$version
	perl Makefile.PL
	make OPTIMIZE="$CFLAGS"
	make DESTDIR=$PKG install
	find $PKG -name .packlist -exec rm {} \;
	find $PKG -name perllocal.pod -exec rm {} \;
	find $PKG -depth -type d -empty -exec rm -rf {} \;
}

Added contrib/p5-net-ping-external/Pkgfile.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Description: Perl library Net::Ping::External
# URL: http://search.cpan.org/~chorny/
# Maintainer: Simon Glossner, viper at hometux dot de
# Packager: Simon Glossner, viper at hometux dot de

name=p5-net-ping-external
version=0.13
release=1
source=(http://search.cpan.org/CPAN/authors/id/C/CH/CHORNY/Net-Ping-External-$version.zip)

build() {
    cd Net-Ping-External-$version

    perl Makefile.PL
    make OPTIMIZE="$CFLAGS"
    make DESTDIR=$PKG install

    find $PKG \
	-name .packlist -or \
	-name perllocal.pod -or \
	-name '*.bs' -or \
	-name autosplit.ix | xargs rm
    find $PKG -depth -empty -exec rm -rf {} \;
}

Added contrib/p5-net-server/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Extensible, general Perl server engine 
# URL: http://search.cpan.org/~rhandom/Net-Server-0.97/
# Maintainer: Lucas Hazel, lucas at die dot net dot au
# Depends on: perl

name=p5-net-server
distname=Net-Server
version=0.97
release=1
source=(http://search.cpan.org/CPAN/authors/id/R/RH/RHANDOM/$distname-$version.tar.gz)

build() {
	cd $distname-$version
	perl Makefile.PL
        make OPTIMIZE="$CFLAGS"
        make DESTDIR=$PKG install
        find $PKG -name .packlist -o -name perllocal.pod | xargs rm -rf
}

Added contrib/p5-net-ssleay/Pkgfile.





















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# Description: Perl extension for using OpenSSL.
# URL: http://search.cpan.org/~flora/Net-SSLeay/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Younes Hafri, ycrux at club dash internet dot fr
# Depends on: openssl

name=p5-net-ssleay
version=1.36
release=1
source=(http://search.cpan.org/CPAN/authors/id/F/FL/FLORA/Net-SSLeay-$version.tar.gz)

build() {
	cd Net-SSLeay-$version
	echo y | perl Makefile.PL
	make OPTIMIZE="$CFLAGS"
	make DESTDIR=$PKG install

	# Remove perlcrap
	find $PKG -type f \( \
		-name '.packlist' -or \
		-name '*.bs' -or \
		-name 'perllocal.pod' \) -delete

	# Remove empty directories
	find $PKG -depth -empty -delete
}

Added contrib/p5-netaddr-ip/Pkgfile.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Description: Perl Library NetAddr::IP
# URL:         http://search.cpan.org/dist/NetAddr-IP/
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Depends on:  perl

name=p5-netaddr-ip
version=4.059
release=1
source=(http://search.cpan.org/CPAN/authors/id/M/MI/MIKER/NetAddr-IP-$version.tar.gz)

build() {
  cd NetAddr-IP-$version
  yes n|perl Makefile.PL
  make OPTIMIZE="$CFLAGS"
  make install DESTDIR=$PKG
  # Remove perlcrap
  find $PKG \
    -name .packlist -or \
    -name '*.bs' -or \
    -name perllocal.pod | xargs rm
  # Remove empty directories
  find $PKG -depth -empty -exec rm -rf {} \;
}

Added contrib/p5-pango/Pkgfile.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Description: Perl bindings for pango
# URL: http://www.cpan.org/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Han Boetes, han at mijncomputer dot nl
# Depends on: pango p5-cairo

name=p5-pango
version=1.223
release=1
source=(http://search.cpan.org/CPAN/authors/id/X/XA/XAOC/Pango-$version.tar.gz)

build() {
  cd Pango-$version
  perl Makefile.PL

  make OPTIMIZE="$CFLAGS"
  make install DESTDIR=$PKG

  find $PKG \
    -name perllocal.pod \
    -o -name "*.bs" \
    -o -name .packlist | xargs rm
  find $PKG -empty | xargs rmdir -p ||:
}

Added contrib/p5-readonly/Pkgfile.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Description: Perl library Readonly
# URL: http://search.cpan.org/~roode/
# Maintainer: Simon Glossner, viper at hometux dot de
# Packager: Simon Glossner, viper at hometux dot de

name=p5-readonly
version=1.03
release=1
source=(http://search.cpan.org/CPAN/authors/id/R/RO/ROODE/Readonly-$version.tar.gz)

build() {
    cd Readonly-$version

    perl Makefile.PL
    make OPTIMIZE="$CFLAGS"
    make DESTDIR=$PKG install

    find $PKG \
	-name .packlist -or \
	-name perllocal.pod -or \
	-name '*.bs' -or \
	-name autosplit.ix | xargs rm
    find $PKG -depth -empty -exec rm -rf {} \;
}

Added contrib/p5-rpc-xml/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: An implementation of XML-RPC
# URL: http://search.cpan.org/~rjray/RPC-XML/
# Maintainer: Mikhail Kolesnik, mike at openbunker dot org
# Packager: Younes Hafri, ycrux at club-internet dot fr
# Depends on: p5-xml-parser p5-lwp

name=p5-rpc-xml
version=0.73
release=2
source=(http://search.cpan.org/CPAN/authors/id/R/RJ/RJRAY/RPC-XML-$version.tar.gz)

build() {
	cd RPC-XML-$version
	perl Makefile.PL
	make OPTIMIZE="$CFLAGS"
	make DESTDIR=$PKG install
	find $PKG -name .packlist -exec rm {} \;
	find $PKG -name perllocal.pod -exec rm {} \;
	find $PKG -depth -type d -empty -exec rm -rf {} \;
}

Added contrib/p5-sdl1-perl/Pkgfile.



























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# Description: SDL perl extension.
# URL: http://search.cpan.org/~dgoehrig/SDL_Perl-2.1.3/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Younes Hafri, ycrux at club-internet dot fr
# Depends on: sdl_image sdl_net sdl_gfx sdl_mixer sdl_ttf

name=p5-sdl1-perl
version=1.20.0
# note do not edit to 1.20.3 as this will break frozen-bubble
release=3
source=(http://zarb.org/~gc/t/SDL_perl-$version.tar.gz)

build() {
	cd SDL_perl-$version
	./configure --prefix=/usr
	make
	make DESTDIR=$PKG install

	# Remove perlcrap
	find $PKG -type f \( \
		-name '.packlist' -o \
		-name '*.bs' -o \
		-name 'autosplit.ix' -o \
		-name 'perllocal.pod' \) -delete

	# Remove empty directories
	find $PKG -depth -empty -delete
}

Added contrib/p5-term-readkey/Pkgfile.



























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# Description: Perl Terminal Readkey Library.
# URL: http://search.cpan.org/~jstowe/TermReadKey-2.30/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Stoyan Zhekov zhware at hotpop dot com
# Depends on: 

name=p5-term-readkey
version=2.30
release=1
source=(http://www.cpan.org/modules/by-module/Term/TermReadKey-$version.tar.gz)

build() {
   cd TermReadKey-$version

   perl Makefile.PL
   make OPTIMIZE="$CFLAGS"
   make DESTDIR=$PKG install

   # Remove perlcrap
	find $PKG -type f \( \
		-name '.packlist' -o \
		-name '*.bs' -o \
		-name 'autosplit.ix' -o \
		-name 'perllocal.pod' \) -delete

	# Remove empty directories
	find $PKG -depth -empty -delete
}

Added contrib/p5-text-csv-xs/Pkgfile.

























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# Description: Perl comma-separated values manipulation routines.
# URL: http://search.cpan.org/~hmbrand/Text-CSV_XS-0.82/CSV_XS.pm
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com

name=p5-text-csv-xs
version=0.88
release=1
source=(http://search.cpan.org/CPAN/authors/id/H/HM/HMBRAND/Text-CSV_XS-$version.tgz)

build() {
   cd Text-CSV_XS-$version

   perl Makefile.PL
   make OPTIMIZE="$CFLAGS"
   make DESTDIR=$PKG install

   # Remove perlcrap
	find $PKG -type f \( \
		-name '.packlist' -o \
		-name '*.bs' -o \
		-name 'autosplit.ix' -o \
		-name 'perllocal.pod' \) -delete

	# Remove empty directories
	find $PKG -depth -empty -delete
}

Added contrib/p5-text-iconv/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: Perl interface to iconv() codeset conversion function
# URL: http://search.cpan.org/~mpiotr/Text-Iconv/
# Maintainer: Mikhail Kolesnik, mike at openbunker dot org
# Depends on: 

name=p5-text-iconv
version=1.7
release=5
source=(http://search.cpan.org/CPAN/authors/id/M/MP/MPIOTR/Text-Iconv-$version.tar.gz)

build() {
	cd Text-Iconv-$version
	perl Makefile.PL
	make OPTIMIZE="$CFLAGS"
	make DESTDIR=$PKG install
	find $PKG -name .packlist -exec rm {} \;
	find $PKG -name "*.bs" -exec rm {} \;
	find $PKG -name perllocal.pod -exec rm {} \;
	find $PKG -depth -type d -empty -exec rm -rf {} \;
}

Added contrib/p5-unix-syslog/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: Perl interface to the UNIX syslog(3) calls
# URL: http://search.cpan.org/~mharnisch/Unix-Syslog/
# Maintainer: Mikhail Kolesnik, mike at openbunker dot org
# Depends on:

name=p5-unix-syslog
version=1.1
release=4
source=(http://search.cpan.org/CPAN/authors/id/M/MH/MHARNISCH/Unix-Syslog-$version.tar.gz)

build() {
	cd Unix-Syslog-$version
	perl Makefile.PL
	make OPTIMIZE="${CFLAGS}"
	make DESTDIR=${PKG} install
	rm ${PKG}/usr/lib/perl5/site_perl/5.1?/linux-thread-multi/auto/Unix/Syslog/{.packlist,Syslog.bs}
	find ${PKG} -name perllocal.pod -exec rm {} \;
	find $PKG -type d -depth -empty -exec rm -rf {} \;
}

Added contrib/p5-xml-twig/Pkgfile.

























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# Description: Perl XML-Twig Library.
# URL: http://xmltwig.com/xmltwig/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: James Mills, prologic at shortcircuit dot net dot au
# Depends on: 

name=p5-xml-twig
version=3.33
release=1
source=(http://xmltwig.com/xmltwig/XML-Twig-$version.tar.gz)

build() {
	cd XML-Twig-$version
	yes | perl Makefile.PL PREFIX=$PKG/usr
	make
	make install

	# Remove perlcrap
	find $PKG -type f \( \
		-name '.packlist' -o \
		-name '*.bs' -o \
		-name 'autosplit.ix' -o \
		-name 'perllocal.pod' \) -delete

	# Remove empty directories
	find $PKG -depth -empty -delete
}

Added contrib/p5-xml-writer/Pkgfile.























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# Description: Perl XML writer.
# URL: http://search.cpan.org/~josephw/XML-Writer-0.604/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Han Boetes han at mijncomputer dot nl

name=p5-xml-writer
version=0.615
release=1
source=(http://www.cpan.org/modules/by-module/XML/XML-Writer-$version.tar.gz)

build() {
	cd XML-Writer-$version

	perl Makefile.PL
	make OPTIMIZE="$CFLAGS"
	make install DESTDIR=$PKG

	# Remove perlcrap
	find $PKG -type f \( \
		-name '.packlist' -o \
		-name '*.bs' -o \
		-name 'autosplit.ix' -o \
		-name 'perllocal.pod' \) -delete

	# Remove empty directories
	find $PKG -depth -empty -delete
}

Added contrib/p7zip/Pkgfile.





















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# Description: A port of 7-zip for POSIX systems.
# URL: http://p7zip.sourceforge.net/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Matt Housh, jaeger at crux dot nu

name=p7zip
version=9.20.1
release=1
source=(http://downloads.sourceforge.net/project/$name/$name/$version/${name}_${version}_src_all.tar.bz2)

build() {
	cd ${name}_$version

	sed -i -e "s/OPTFLAGS=.*/OPTFLAGS=$CFLAGS/" makefile.machine

	make 7zr 7za sfx
	sh install.sh usr/bin usr/lib/p7zip usr/man usr/share/doc/p7zip $PKG/

	rm $PKG/usr/bin/7za $PKG/usr/bin/7zr

	ln -s /usr/lib/p7zip/7za $PKG/usr/bin/7z
	ln -s /usr/lib/p7zip/7za $PKG/usr/bin/7za
	ln -s /usr/lib/p7zip/7zr $PKG/usr/bin/7zr
	rm -r $PKG/usr/share
	chmod -vR u+w $PKG
}

Added contrib/pam_ldap/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description:	LDAP PAM module
# URL:		http://www.padl.com/OSS/pam_ldap.html
# Maintainer:	Alan Mizrahi, alan at mizrahi dot com dot ve
# Depends on:	linux-pam openldap cyrus-sasl

name=pam_ldap
version=186
release=1
source=(http://www.padl.com/download/$name-$version.tar.gz)

build() {
        cd $name-$version
	./configure --libdir=/lib --mandir=/usr/man --with-ldap-lib=openldap --with-ldap-conf-file=/etc/openldap/ldap.conf
	make
	make DESTDIR=$PKG install
	mkdir -p $PKG/etc/openldap
	rm -rf $PKG/etc
}

Added contrib/pangomm/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: C++ interface to pango.
# URL: http://gtkmm.sourceforge.net/ 
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com
# Depends on: cairomm glibmm

name=pangomm
version=2.28.4
release=1
source=(http://ftp.gnome.org/pub/GNOME/sources/$name/${version%.*}/$name-$version.tar.xz)

build() {
	cd $name-$version
	./configure --prefix=/usr
	make
	make DESTDIR=$PKG install
	rm -r $PKG/usr/share/doc
}

Added contrib/patchutils/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: A collection of programs that operate on patch files.
# URL: http://cyberelk.net/tim/software/patchutils/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Younes Hafri, ycrux at club-internet dot fr

name=patchutils
version=0.3.2
release=1
source=(http://cyberelk.net/tim/data/patchutils/stable/$name-$version.tar.bz2)

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--mandir=/usr/man

	make CFLAGS="$CFLAGS"
	make DESTDIR=$PKG install
}

Added contrib/pcmanfm/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: fast and lightweight file manager
# URL:         http://pcmanfm.sourceforge.net/
# Packager:    Ricardo Oliveira, crux at roliveira dot eu
# Maintainer:  Bartlomiej Palmowski, rotwang at crux dot org dot pl
# Depends on:  libfm

name=pcmanfm
version=0.9.10
release=1
source=("http://ftp.jaist.ac.jp/pub/sourceforge/p/project/pc/pcmanfm/PCManFM%20+%20Libfm%20(tarball%20release)/PCManFM/$name-$version.tar.gz")

build() {
    cd $name-$version
    ./configure --prefix=/usr --sysconfdir=/etc
    make
    make DESTDIR=$PKG install
    rm -rf $PKG/usr/share/locale
}

Added contrib/pcmanfm/post-install.









>
>
>
>
1
2
3
4
#!/bin/bash

update-mime-database /usr/share/mime
update-desktop-database

Added contrib/pcmciautils/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: An initialization tools necessary to allow the PCMCIA subsystem to behave (almost) as every other hotpluggable bus system
# URL: http://www.kernel.org/pub/linux/utils/kernel/pcmcia/pcmcia.html
# Maintainer: Mikhail Kolesnik, mike at openbunker dot org
# Depends on: sysfsutils

name=pcmciautils
version=017
release=1
source=(http://www.kernel.org/pub/linux/utils/kernel/pcmcia/$name-$version.tar.bz2 \
		$name-makefile.patch)

build() {
	cd $name-$version
	patch -p1 -i $SRC/$name-makefile.patch
	make
	make DESTDIR=$PKG install
	mv $PKG/etc/udev/rules.d/60-pcmcia.rules $PKG/etc/udev/rules.d/65-pcmcia.rules
}

Added contrib/pcmciautils/README.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
README for pcmciautils

REQUIREMENTS
Please note that the kernel support for this new feature is only present since
2.6.13-rc1. Also, you need sysfsutils 1.3.0 as well as module-init-tools
3.2-pre4 or later, and either hotplug or udev installed on your system.

PRE-INSTALL

POST-INSTALL

RESOURCES

PRECAUTION
pcmcia-cs is DEPRECATED. See doc inside tarball for details.

Added contrib/pcmciautils/pcmciautils-makefile.patch.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
diff -Nru pcmciautils-017-orig/Makefile pcmciautils-017/Makefile
--- pcmciautils-017-orig/Makefile	2010-07-01 23:11:43.000000000 +0300
+++ pcmciautils-017/Makefile	2010-07-01 23:13:52.000000000 +0300
@@ -66,7 +66,7 @@
 exec_prefix =	${prefix}
 etcdir =	${prefix}/etc
 sbindir =	${exec_prefix}/sbin
-mandir =	${prefix}/usr/share/man
+mandir =	${prefix}/usr/man
 udevdir =	${prefix}/lib/udev
 
 INSTALL = /usr/bin/install -c
@@ -79,7 +79,7 @@
 hotplugdir =	${etcdir}/hotplug
 
 # place to put our udev rules to
-udevrulesdir = 	${udevdir}/rules.d
+udevrulesdir = 	${etcdir}/udev/rules.d
 
 # place to put our udev helper binaries (pcmcia-socket-startup, pcmcia-check-broken-cis) to
 udevhelperdir =   ${udevdir}

Added contrib/pekwm-themes/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: Pekwm themes collection 
# URL:  http://adrinux.wordpress.com
# Maintainer: Jose V Beneyto, sepen at users dot sourceforge dot net
# Packager: Jose V Beneyto, sepen at users dot sourceforge dot net
# Depends on: pekwm

name=pekwm-themes
version=1.0.5
release=1
source=(http://aur.archlinux.org/packages/$name/$name/$name-$version.tar.gz)

build() {
  install -d $PKG/usr/share/pekwm/themes
  mv $name/* $PKG/usr/share/pekwm/themes
  find $PKG -type d -exec chmod 0755 {} \;
  find $PKG -type f -exec chmod 0644 {} \;
}

Added contrib/pekwm/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: The Pek Window Manager
# URL: http://pekwm.org
# Maintainer: Rene Lengwinat, rugek at dirtyhack dot net
# Depends on: imlib2 libpcre xorg-libxft xorg-libxpm xorg-libxrandr

name=pekwm
version=0.1.14
release=1
source=(http://pekwm.org/projects/3/files/pekwm-$version.tar.bz2)

build() {
    cd $name-$version
    ./configure --prefix=/usr \
                --enable-xft \
                --enable-pcre \
                --enable-imlib2 \
                --mandir=/usr/man \
                --disable-xinerama
    make
    make DESTDIR=$PKG install
}

Added contrib/php-bcmath/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: BC Math module for PHP
# URL: http://www.php.net
# Maintainer: Mikhail Kolesnik, mike at openbunker dot org
# Depends on: 

name=php-bcmath
version=5.3.10
release=1
source=(http://www.php.net/distributions/php-$version.tar.bz2)

build() {
	cd php-$version

	./configure --disable-all \
				--enable-bcmath=shared,/usr
	make build-modules

	install -d $PKG/{etc/php/conf.d,usr/lib/php/extensions}
	install -m 755 modules/bcmath.so $PKG/usr/lib/php/extensions
	echo "extension=bcmath.so" > $PKG/etc/php/conf.d/bcmath.ini
}

Added contrib/php-ftp/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: FTP module for PHP
# URL: http://www.php.net
# Maintainer: Mikhail Kolesnik, mike at openbunker dot org
# Depends on: 

name=php-ftp
version=5.3.10
release=1
source=(http://www.php.net/distributions/php-$version.tar.bz2)

build() {
	cd php-$version

	./configure --disable-all \
				--enable-ftp=shared
	make build-modules

	install -d $PKG/{etc/php/conf.d,usr/lib/php/extensions}
	install -m 755 modules/ftp.so $PKG/usr/lib/php/extensions
	echo "extension=ftp.so" > $PKG/etc/php/conf.d/ftp.ini
}

Added contrib/php-gd/Pkgfile.



















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# Description: GD module for PHP
# URL: http://www.php.net
# Maintainer: Mikhail Kolesnik, mike at openbunker dot org
# Depends on: libgd

name=php-gd
version=5.3.10
release=1
source=(http://www.php.net/distributions/php-$version.tar.bz2)

build() {
	cd php-$version

	./configure --disable-all \
				--with-gd=shared,/usr \
				--with-png-dir=/usr \
				--with-jpeg-dir=/usr \
				--with-freetype-dir=/usr \
				--enable-gd-native-ttf
	make build-modules

	install -d $PKG/{etc/php/conf.d,usr/lib/php/extensions}
	install -m 755 modules/gd.so $PKG/usr/lib/php/extensions
	echo "extension=gd.so" > $PKG/etc/php/conf.d/gd.ini
}

Added contrib/php-gettext/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: GNU gettext module for PHP
# URL: http://www.php.net
# Maintainer: Mikhail Kolesnik, mike at openbunker dot org
# Depends on: 

name=php-gettext
version=5.3.10
release=1
source=(http://www.php.net/distributions/php-$version.tar.bz2)

build() {
	cd php-$version

	./configure --disable-all \
				--with-gettext=shared,/usr
	make build-modules

	install -d $PKG/{etc/php/conf.d,usr/lib/php/extensions}
	install -m 755 modules/gettext.so $PKG/usr/lib/php/extensions
	echo "extension=gettext.so" > $PKG/etc/php/conf.d/gettext.ini
}

Added contrib/php-mbstring/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: Multibyte string module for PHP
# URL: http://www.php.net
# Maintainer: Mikhail Kolesnik, mike at openbunker dot org
# Depends on: 

name=php-mbstring
version=5.3.10
release=1
source=(http://www.php.net/distributions/php-$version.tar.bz2)

build() {
	cd php-$version

	./configure --disable-all \
				--enable-mbstring=shared,/usr
	make build-modules

	install -d $PKG/{etc/php/conf.d,usr/lib/php/extensions}
	install -m 755 modules/mbstring.so $PKG/usr/lib/php/extensions
	echo "extension=mbstring.so" > $PKG/etc/php/conf.d/mbstring.ini
}

Added contrib/php-mcrypt/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: MCrypt module for php
# URL: http://www.php.net
# Maintainer: Mikhail Kolesnik, mike at openbunker dot org
# Depends on: libmcrypt

name=php-mcrypt
version=5.3.10
release=1
source=(http://www.php.net/distributions/php-$version.tar.bz2)

build() {
	cd php-$version

	./configure --disable-all \
				--with-mcrypt=shared,/usr
	make build-modules

	install -d $PKG/{etc/php/conf.d,usr/lib/php/extensions}
	install -m 755 modules/mcrypt.so $PKG/usr/lib/php/extensions
	echo "extension=mcrypt.so" > $PKG/etc/php/conf.d/mcrypt.ini
}

Added contrib/php-pdo-mysql/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description: A driver that implements the PDO interface to MySQL
# URL: http://www.php.net
# Maintainer: Mikhail Kolesnik, mike at openbunker dot org
# Depends on: mysql

name=php-pdo-mysql
version=5.3.10
release=1
source=(http://www.php.net/distributions/php-$version.tar.bz2)

build() {
	cd php-$version

	./configure --disable-all \
				--enable-pdo=shared \
				--with-pdo-mysql=shared,/usr
	make build-modules

	install -d $PKG/{etc/php/conf.d,usr/lib/php/extensions}
	install -m 755 modules/pdo_mysql.so $PKG/usr/lib/php/extensions
	echo "extension=pdo_mysql.so" > $PKG/etc/php/conf.d/pdo_mysql.ini
}

Added contrib/php-postgresql/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: PostgreSQL module for PHP
# URL: http://www.php.net
# Maintainer: Mikhail Kolesnik, mike at openbunker dot org
# Depends on: postgresql

name=php-postgresql
version=5.3.10
release=1
source=(http://www.php.net/distributions/php-$version.tar.bz2)

build() {
	cd php-$version

	./configure --disable-all \
				--with-pgsql=shared,/usr
	make build-modules

	install -d $PKG/{etc/php/conf.d,usr/lib/php/extensions}
	install -m 755 modules/pgsql.so $PKG/usr/lib/php/extensions
	echo "extension=pgsql.so" > $PKG/etc/php/conf.d/pgsql.ini
}

Added contrib/php-sockets/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: Sockets module for PHP
# URL: http://www.php.net
# Maintainer: Mikhail Kolesnik, mike at openbunker dot org
# Depends on: 

name=php-sockets
version=5.3.10
release=1
source=(http://www.php.net/distributions/php-$version.tar.bz2)

build() {
	cd php-$version

	./configure --disable-all \
				--enable-sockets=shared,/usr
	make build-modules

	install -d $PKG/{etc/php/conf.d,usr/lib/php/extensions}
	install -m 755 modules/sockets.so $PKG/usr/lib/php/extensions
	echo "extension=sockets.so" > $PKG/etc/php/conf.d/sockets.ini
}

Added contrib/php-xsl/Pkgfile.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Description: Implements the XSL standard, performing XSLT transformations using the libxslt library
# URL: http://www.php.net
# Maintainer: Mikhail Kolesnik, mike at openbunker dot org
# Depends on: libxslt

name=php-xsl
version=5.3.10
release=1
source=(http://www.php.net/distributions/php-$version.tar.bz2)

build() {
	cd php-$version

	./configure --disable-all \
				--enable-libxml \
				--enable-dom \
				--with-xsl=shared,/usr
	make build-modules

	install -d $PKG/{etc/php/conf.d,usr/lib/php/extensions}
	install -m 755 modules/xsl.so $PKG/usr/lib/php/extensions
	echo "extension=xsl.so" > $PKG/etc/php/conf.d/xsl.ini
}

Added contrib/phpmp/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Web Based MPD Client in PHP.
# URL:         http://www.musicpd.org/
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    James Mills, prologic at shortcircuit dot net dot au
# Depends on:  mpd, mod_php

name=phpmp
version=0.11.0
release=1
source=(http://prdownloads.sourceforge.net/musicpd/phpMp-$version.tar.gz)

build() {
   cd phpMp-$version
   mkdir -p $PKG/usr/share/$name
   cp * $PKG/usr/share/$name
   chown -R root:root $PKG
   rm $PKG/usr/share/phpmp/{COPYING,ChangeLog,INSTALL,README,TODO}
}

Added contrib/physfs/Pkgfile.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Description: Library to provide abstract access to various archives.
# URL: http://icculus.org/physfs/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Mark Rosenstand, mark at borkware dot net
# Depends on: cmake readline zlib

name=physfs
version=2.0.2
release=1
source=(http://icculus.org/$name/downloads/$name-$version.tar.gz)

build() {
	cd $name-$version

	sed -i -e 's|-Werror||' CMakeLists.txt

	cmake \
		-DPHYSFS_BUILD_STATIC=FALSE \
		-DCMAKE_INSTALL_PREFIX=/usr .

	make
	make DESTDIR=$PKG install
}

Added contrib/pidentd/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: Much improved ident daemon.
# URL:         http://freshmeat.net/redir/pidentd/
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    James Mills, prologic at shortcircuit dot net dot au

name=pidentd
version=3.0.19
release=1
source=(http://serghei.net/linux/zenwalk/source/n/$name/$name-$version.tar.gz)

build() {
   cd $name-$version
   ./configure --prefix=$PKG/usr
   make
   make DESTDIR=$PKG install
}

Added contrib/pidgin/Pkgfile.









































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# Description: multi-protocol instant messaging client
# URL:         http://pidgin.im/
# Maintainer:  Bartlomiej Palmowski, rotwang at crux dot org dot pl
# Packager:    Simone Rota, sip at crux dot nu
# Depends on:  intltool gtk xorg-libxscrnsaver startup-notification nss libidn

name=pidgin
version=2.10.2
release=1
source=(http://downloads.sourceforge.net/project/$name/Pidgin/$version/$name-$version.tar.bz2)

build () {
    cd $name-$version
    ./configure --prefix=/usr \
        --mandir=/usr/man \
        --disable-nls \
        --disable-schemas-install \
        --disable-meanwhile \
        --with-nspr-includes=/usr/include/nspr \
        --with-nss-includes=/usr/include/nss \
        --with-nspr-libs=/usr/lib \
        --with-nss-libs=/usr/lib \
        --disable-tcl \
        --disable-perl \
        --disable-gtkspell \
        --disable-avahi \
        --disable-dbus \
        --disable-gstreamer \
        --disable-vv

    make
    make DESTDIR=$PKG install
    find $PKG/usr/lib/ -name '*.la' -delete
    #rm -rf $PKG/usr/share/locale
    rm -rf $PKG/usr/etc/gconf || :
}

Added contrib/pil/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: Python Imaging Library.
# URL: http://www.pythonware.com/products/pil/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Younes Hafri, ycrux at club-internet dot fr
# Depends on: python libjpeg libpng freetype

name=pil
version=1.1.7
release=2
source=(http://effbot.org/media/downloads/PIL-$version.tar.gz)

build() {
	cd PIL-$version
	python setup.py install --root=$PKG
	find $PKG -name '*egg-info' -delete
}

Added contrib/plib/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: A Suite of Portable Game Libraries.
# URL: http://plib.sourceforge.net/
# Maintainer: Jose V Beneyto, sepen at users dot sourceforge dot net
# Packager: Jose V Beneyto, sepen at users dot sourceforge dot net
# Depends on: freeglut xorg-libxmu

name=plib
version=1.8.5
release=1
source=(http://plib.sourceforge.net/dist/$name-$version.tar.gz)

build() {
  cd $name-$version
  ./configure --prefix=/usr \
              --with-x
  make  
  make DESTDIR=$PKG install
}

Added contrib/pm-utils/Pkgfile.





























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# Description: Power management scripts for suspend and hibernate
# URL: http://pm-utils.freedesktop.org/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Andrew Brouwers, abrouwers at gmail dot com
# Depends on:

name=pm-utils
version=1.3.0
release=1
source=(http://pm-utils.freedesktop.org/releases/$name-$version.tar.gz \
        http://pm-utils.freedesktop.org/releases/pm-quirks-20100316.tar.gz)

build() {
  cd $name-$version

  ./configure --prefix=/usr \
              --sysconfdir=/etc \
              --mandir=/usr/man

  make
  make DESTDIR=$PKG install
  
  install -m 0644 man/*.1 $PKG/usr/man/man1
  install -m 0644 man/*.8 $PKG/usr/man/man8
  rm -rf $PKG/usr/share
 
  # add quirks
  install -d $PKG/usr/lib/pm-utils/video-quirks
  cp -a $SRC/*.quirkdb $PKG/usr/lib/pm-utils/video-quirks
}

Added contrib/pm-utils/README.















>
>
>
>
>
>
>
1
2
3
4
5
6
7

README for pm-utils


NOTES

  Read http://crux.nu/Wiki/Pm-utils for usage.

Added contrib/pmwiki/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Really cool WikiWiki clone written in PHP
# URL:         http://www.pmwiki.org/
# Maintainer:  Juergen Daubert, juergen dot daubert at t-online dot de
# Depends on:  mod_php

name=pmwiki
version=2.1.27
release=1
source=(http://www.pmwiki.org/pub/$name/$name-$version.tgz)

build () {
    install -d $PKG/var/www/$name
    install -d -o www -m 700 $PKG/var/www/$name/{wiki.d,uploads}
    cp -R $name-$version/* $PKG/var/www/$name
    mv $PKG/var/www/$name/{docs/sample-config.php,local/config.php.sample}
    rm -r $PKG/var/www/$name/docs
    find $PKG -name 'README*' -delete
}

Added contrib/pmwiki/README.





















































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
README for pmwiki 2.1.x

REQUIREMENTS

Don't install pmwiki 2 over an existing pmwiki 1 installation !
A nice page how to upgrade can be found here: 
http://www.pmwiki.org/wiki/PmWiki/UpgradingFromPmWiki1


PRE-INSTALL

POST-INSTALL

1. Add the following directives to httpd.conf:
   
   LoadModule php5_module lib/apache/libphp5.so
   AddType application/x-httpd-php .php

   Alias /wiki/uploads /var/www/pmwiki/uploads/
   Alias /wiki/pub /var/www/pmwiki/pub/
   Alias /wiki /var/www/pmwiki/pmwiki.php

   <Directory /var/www/pmwiki/>
      Options None
      AllowOverride None
      Order deny,allow
      Deny from all
      <Files pmwiki.php>
         Allow from all
      </Files>
   </Directory>
   <DirectoryMatch /var/www/pmwiki/(uploads|pub)/>
      Allow from all
   </DirectoryMatch>

   The first alias can be omitted if file uploads
   are not enabled.

2. Create a local configuration file
   
   cp /var/www/local/{config.php.sample,config.php}

3. Edit /var/www/pmwiki/local/config.php:

   $ScriptUrl = 'http://<your_host_name>/wiki';
   $PubDirUrl = 'http://<your_host_name>/wiki/pub';

   and, if you want file uploads:

   $UploadDir = '/var/www/pmwiki/uploads';
   $UploadUrlFmt = 'http://<your_host_name>/wiki/uploads';

4. Point your browser to http://<your_host_name>/wiki
   and enjoy ;-)


PRECAUTION

Added contrib/popper/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: popups on your desktop
# URL:         http://phospher.com/index.php/Popper
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Depends on:  libnotify

name=popper
version=0.3
release=1
source=(http://webscripts.phospher.com/files/SRC/Popper/popper-$version.src.tar.gz)

build () {
   cd Popper
   sh buildme.sh
   install -m 755 -d $PKG/usr/bin
   install -m 755 popper $PKG/usr/bin
}

Added contrib/postgresql/Pkgfile.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Description: A sophisticated Object-Relational DBMS
# URL:         http://www.postgresql.org
# Packager:    Markus Heinz, su1690 at studserver.uni-dortmund dot de
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Depends on:

name=postgresql
version=9.1.3
release=1
source=(ftp://ftp9.de.postgresql.org/unix/databases/postgresql/source/v$version/$name-$version.tar.bz2 postgresql)

build() {
  cd $name-$version

  ./configure --prefix=/usr --disable-nls --mandir=/usr/man
  make
  make DESTDIR=$PKG install

  cd doc/src/sgml
  make DESTDIR=$PKG install-man
  rm -rf $PKG/usr/share/doc

  install -D -m 755 $SRC/postgresql $PKG/etc/rc.d/postgresql
}

Added contrib/postgresql/README.



















































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
README POSTGRESQL
=================

UPGRADING FROM A PREVIOUS VERSION
---------------------------------
If upgrading from a non-compatible version (ie 8.0.x >> 8.1.x or
8.x.y >> 9.a.b) be sure to dump the databases before upgrading and
restore them later.

Example: (for your convenience, there could be better ways to
          achieve this)

# pg_dumpall -U postgres > pg.dump
# /etc/rc.d/postgresql stop

# mv /var/pgsql/data /var/pgsql/data-backup
# mkdir /var/pgsql/data
# chown postgres /var/pgsql/data

# su - postgres
# initdb -D /var/pgsql/data
# exit

# /etc/rc.d/postgresql start
# psql -U postgres -f pg.dump postgres

Do not forget to update / copy old config files to /var/pgsql/data 


NEW INSTALL
-----------

To complete the installation and create a test database you need to do
some additional steps:

# useradd -m -d /home/postgres postgres
# passwd -l postgres

# mkdir -p /var/pgsql/data
# touch /var/log/postgresql
# chown postgres /var/pgsql/data /var/log/postgresql

# su - postgres
# initdb -D /var/pgsql/data
# exit

# /etc/rc.d/postgresql start
# su - postgres
# createdb test
# psql test

Edit /etc/cron/weekly/syslog as root and add
a line "/usr/sbin/rotatelog postgresql"

The complete installation instructions are located here:

http://www.postgresql.org/docs/current/interactive/installation.html

Added contrib/postgresql/postgresql.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#
# /etc/rc.d/postgresql: start, stop or restart PostgreSQL server postmaster
#

PG_DATA=/var/pgsql/data

case "$1" in
    start|stop|status|restart|reload)
        su - postgres -c "pg_ctl -D $PG_DATA -l /var/log/postgresql $1"
        ;;
    *)
        echo "usage: $0 start|stop|restart|reload|status"
        ;;
esac

# End of file

Added contrib/postgrey/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description: Postfix greylisting policy server
# URL: http://postgrey.schweikert.ch/
# Maintainer: Lucas Hazel, lucas at die dot net dot au
# Depends on: p5-net-server p5-io-multiplex p5-berkeleydb

name=postgrey
version=1.32
release=1
source=(http://postgrey.schweikert.ch/pub/$name-$version.tar.gz $name.rc)

build() {
	cd $name-$version
	install -m 0755 -D postgrey $PKG/usr/sbin/postgrey

	mkdir -p $PKG/etc/postfix
	cp postgrey_whitelist* $PKG/etc/postfix

	install -D -m 0755 $SRC/$name.rc $PKG/etc/rc.d/$name

	mkdir -p $PKG/var/spool/postfix/postgrey
	chown postgrey:postgrey $PKG/var/spool/postfix/postgrey
}

Added contrib/postgrey/postgrey.rc.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/bin/sh
#
# /etc/rc.d/postgrey: start/stop postgrey service
#

case $1 in
	start)
		/usr/sbin/postgrey -d --user=postgrey --group=postgrey \
			--inet=127.0.0.1:60000 \
			--pidfile=/var/run/postgrey.pid
		;;
	stop)
		kill `cat /var/run/postgrey.pid`
		;;
	*)
		echo "usage: $0 [start|stop]"
		;;
esac

# End of file

Added contrib/postgrey/pre-install.





>
>
1
2
/usr/sbin/useradd postgrey
/usr/sbin/groupadd postgrey

Added contrib/powertop/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: Finds the software component(s) that make your laptop use more power than necessary
# URL: http://www.lesswatts.org/projects/powertop/
# Maintainer: Mikhail Kolesnik, mike at openbunker dot org
# Packager: Torsten Henschel, thenschel at henschelsoft dot de
# Depends on: ncurses

name=powertop
version=1.13
release=1
source=(http://www.lesswatts.org/projects/$name/download/$name-$version.tar.gz)

build() { 
    cd $name-$version  
    make 
    make DESTDIR=$PKG install 
    mv $PKG/usr/share/man $PKG/usr/man
    # remove nls
    rm -r $PKG/usr/share
}

Added contrib/powertop/README.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
README for powertop

REQUIREMENTS

You'll need to enable the following kernel options:
CONFIG_NO_HZ
CONFIG_HIGH_RES_TIMERS
CONFIG_HPET_TIMER
CONFIG_CPU_FREQ_GOV_ONDEMAND
CONFIG_USB_SUSPEND
CONFIG_SND_AC97_POWER_SAVE
CONFIG_TIMER_STATS

and to disable these:
CONFIG_IRQBALANCE
CONFIG_ACPI_DEBUG

PRE-INSTALL

POST-INSTALL

RESOURCES
http://www.lesswatts.org/projects/powertop/faq.php

Added contrib/pptp/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: client for the proprietary Microsoft Point-to-Point Tunneling Protocol
# URL:         http://pptpclient.sf.net
# Maintainer:  Thomas Penteker, tek at serverop dot de
#
# Depends on:  ppp

name=pptp
version=1.7.2
release=1
source=(http://download.sourceforge.net/pptpclient/$name-$version.tar.gz)

build() {
   cd ${name}-$version

   sed -i -e 's|usr/share/man|/usr/man|1' Makefile

   make && make DESTDIR=$PKG install
   rm -rf $PKG/usr/doc
}

Added contrib/preload/Pkgfile.





















































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# Description: Adaptive readahead daemon.
# URL: http://sourceforge.net/projects/preload/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Mark Rosenstand, mark at borkware dot net
# Depends on: glib help2man

name=preload
version=0.6.4
release=1
source=(http://downloads.sourceforge.net/project/$name/$name/$version/$name-$version.tar.gz
	rc.preload
	$name-0.6.3-memcached-default.patch
	$name-0.6.3-statedir-fix.patch
	$name-0.6.3-check-help2man.patch)

build() {
	cd $name-$version
	patch -p 1 -i $SRC/$name-0.6.3-memcached-default.patch
	patch -p 1 -i $SRC/$name-0.6.3-statedir-fix.patch
	patch -p 1 -i $SRC/$name-0.6.3-check-help2man.patch
	autoreconf

	./configure \
		--prefix=/usr \
		--mandir=/usr/man \
		--sysconfdir=/etc \
		--localstatedir=/var

	make -j 1
	make DESTDIR=$PKG install

	rm -r $PKG/etc/{rc.d,logrotate.d,sysconfig}
	rm -r $PKG/usr/share/doc
	rmdir $PKG/usr/share
	
	# preload.state is installed 0644 but changed to 0600 on first run,
	# so we change the mode in the package to avoid rejmerge.
	chmod 0600 $PKG/var/cache/preload/preload.state
	
	# install services rc script
	install -m 0755 -D $SRC/rc.preload $PKG/etc/rc.d/preload
}

Added contrib/preload/preload-0.6.3-check-help2man.patch.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
diff -pruN preload-0.6.3.orig/configure.ac preload-0.6.3/configure.ac
--- preload-0.6.3.orig/configure.ac	2008-07-29 23:58:51.018143308 +1000
+++ preload-0.6.3/configure.ac	2008-07-30 00:29:37.524144736 +1000
@@ -24,6 +24,11 @@ AC_SUBST(MAILING_LIST)
 AC_PROG_CC
 AC_PROG_INSTALL
 
+AC_CHECK_PROG([have_help2man],[help2man],[yes],[no],[/usr/bin])
+if test $have_help2man = no; then
+	AC_MSG_ERROR([Missing help2man.])
+fi
+
 # Checks for header files.
 AC_HEADER_STDC
 AC_HEADER_TIME

Added contrib/preload/preload-0.6.3-memcached-default.patch.

























>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
diff -pruN preload-0.6.3.orig/src/confkeys.h preload-0.6.3/src/confkeys.h
--- preload-0.6.3.orig/src/confkeys.h	2008-07-29 22:49:04.815140125 +1000
+++ preload-0.6.3/src/confkeys.h	2008-07-29 23:01:21.253142394 +1000
@@ -3,7 +3,7 @@ confkey(model,	boolean,	usecorrelation,	
 confkey(model,	integer,	minsize,	2000000,	bytes)
 confkey(model,	integer,	memtotal,	    -10,	signed_integer_percent)
 confkey(model,	integer,	memfree,	     50,	signed_integer_percent)
-confkey(model,	integer,	memcached,	      0,	signed_integer_percent)
+confkey(model,	integer,	memcached,	      30,	signed_integer_percent)
 confkey(system,	boolean,	doscan,		   true,	-)
 confkey(system,	boolean,	dopredict,	   true,	-)
 confkey(system,	integer,	autosave,	   3600,	seconds)

Added contrib/preload/preload-0.6.3-statedir-fix.patch.

























>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
diff -pruN preload-0.6.3.orig/configure.ac preload-0.6.3/configure.ac
--- preload-0.6.3.orig/configure.ac	2008-07-29 22:49:04.811143796 +1000
+++ preload-0.6.3/configure.ac	2008-07-29 22:50:23.204144610 +1000
@@ -60,7 +60,7 @@ sysconfigdir='${sysconfdir}/sysconfig'
 logrotatedir='${sysconfdir}/logrotate.d'
 logdir='${localstatedir}/log'
 subsysdir='${localstatedir}/lock/subsys'
-pkglocalstatedir='${localstatedir}/lib/'${PACKAGE_NAME}
+pkglocalstatedir='${localstatedir}/cache/'${PACKAGE_NAME}
 AC_SUBST(pkgdocdir)
 AC_SUBST(initddir)
 AC_SUBST(sysconfigdir)

Added contrib/preload/rc.preload.















































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#!/bin/sh
#
# /etc/rc.d/preload: start/stop tor daemon
#

# User settings here
DAEMON=preload

RETVAL=0

case $1 in
start)
	echo -n "Starting $DAEMON..."
	/usr/sbin/$DAEMON > /dev/null & RETVAL=$?
	if [ $RETVAL = 0 ]; then
		echo " done."
	fi
	;;
stop)
	echo -n "Shutting down $DAEMON..."
	killall -s SIGKILL -q /usr/sbin/$DAEMON
	RETVAL=$?
	echo " done."
	;;
restart)
	$0 stop
	sleep 1
	$0 start
	RETVAL=$?
	;;
*)
	echo "usage: $0 [start|stop|restart]"
	exit 1
	;;
esac

exit $RETVAL

# End of file

Added contrib/psi-im/Pkgfile.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Description: Psi is a GPLed instant messaging client for the Jabber (XMPP) protocol which uses the Qt toolkit.
# URL: http://psi-im.org/
# Maintainer: Jose V Beneyto, sepen at crux dot net
# Packager: Jose V Beneyto, sepen at crux dot net
# Depends on: qca

name=psi-im
version=0.14
release=1
source=(http://download.sourceforge.net/psi/psi-$version.tar.bz2)

build() {
  cd psi-$version
  ./configure --prefix=/usr \
              --qtdir=/usr/share/qt4 \
              --disable-bundled-qca
  sed -e 's|/usr/X11R6/include|/usr/include/X11|g' -i Makefile
  make
  make INSTALL_ROOT=$PKG install
  install -D -m 0644 $PKG/usr/share/icons/hicolor/48x48/apps/psi.png \
    $PKG/usr/share/pixmaps/psi.png
  rm -rf $(find $PKG -type f -name 'COPYING') \
    $(find $PKG -type f -name 'README')
}

Added contrib/psybnc/Makefile-patch.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
--- Makefile.old	2008-07-06 21:32:41.098720735 +0200
+++ Makefile	2008-07-06 21:35:42.359207661 +0200
@@ -13,9 +13,6 @@
 	@$(CC) -I. -o makesalt tools/makesalt.c
 	@./makesalt
 	@echo [*] Compiling Bouncer..
-	@make -f makefile.out
-	@ls -al psybnc
-	@echo done.
 
 menuconfig:
 	@echo Initializing Menu-Configuration
@@ -54,4 +51,4 @@
 
 clean:
 	@echo Cleaning.
-	rm -rf src/*.o
\ No newline at end of file
+	rm -rf src/*.o

Added contrib/psybnc/Pkgfile.











































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# Description: Popular IRC BNC Software.
# URL:         http://www.psybnc.at
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    James Mills, prologic at shortcircuit dot net dot au
# Depends on:   

name=psybnc
version=2.3.2-7
release=1
source=(http://www.psybnc.at/download/beta/psyBNC-$version.tar.gz \
   Makefile-patch psybnc.rc makefile.out-patch \
   p_string.c-patch p_global.h-patch psybnc.conf ssl.cnf)

psybnc_user=psybnc

error_user() {
   echo "ERROR: The user $psybnc_user does not exist!"
   echo "Please run the pre-install script"
   exit 1
}

build() {

   id $psybnc_user || error_user

   cd $name

   patch -i $SRC/Makefile-patch
   make
   patch -i $SRC/makefile.out-patch
   patch -i $SRC/p_string.c-patch src/p_string.c
   patch -i $SRC/p_global.h-patch src/p_global.h
   make -f makefile.out

   install -d \
      $PKG/usr/{bin,share/$name} \
      $PKG/etc/{rc.d,$name,$name/key} \
      $PKG/var/{log,run}

   cp -r lang $PKG/usr/share/$name/
   cp -r help $PKG/usr/share/$name/
   cp -r motd $PKG/usr/share/$name/

   touch $PKG/var/run/$name.pid
   touch $PKG/var/log/$name.log
   chown psybnc:users $PKG/var/run/$name.pid
   chown psybnc:users $PKG/var/log/$name.log

   install -m755 $name $PKG/usr/bin/
   install -m755 $SRC/$name.rc $PKG/etc/rc.d/$name
   install -m644 $SRC/$name.conf $PKG/etc/$name/
}

Added contrib/psybnc/README.

































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
$Id: README 1276 2006-10-03 00:37:19Z romster $

REQUIREMENTS:

1. openssl

PRECAUTION:

PRE-INSTALL:

	Creates a psybnc user, eg:
	useradd -d /dev/null -s /bin/sh -c "psybnc daemon" -m psybnc
	    
POST-INSTALL:

	Generate ssl certificate.

	Start the psybnc service by executing:
	/etc/rc.d/psybnc start
	Or place it in the services array of /etc/rc.conf

	Please edit the config file as the default most likely
	will not accomodate your needs! Edit /etc/psybnc.conf

PRE-REMOVE:

POST-REMOVE:

NOTES:

James Mills, <prologic@shortcircuit.net.au>

Added contrib/psybnc/makefile.out-patch.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
--- makefile.out.old	2008-07-06 21:45:39.562573400 +0200
+++ makefile.out	2008-07-06 21:45:47.258552001 +0200
@@ -10,21 +10,5 @@
 all:	$(OBJS)
 	$(CC) -o $(TARGET) $(CFLAGS) $(OBJS) $(LIBS)
 	@strip $(TARGET)
-	@echo "*** GENERATING SSL-KEYS FROM CERTIFICATE **"
-	@echo "* You will be prompted for Cert-Contents  *"
-	@echo "*  This Infos will be used only for SSL   *"
-	@echo "* Alter the informations to your values   *"
-	@echo "* for the sake of correct Cert-Checking   *"
-	@echo "*******************************************"
-	@echo "Generating certificate request .. "
-	@/usr/bin/openssl req -new -config src/ssl.cnf -out key/psybnc.req.pem \
-      	-keyout key/psybnc.key.pem -nodes
-	@echo "Generating self-signed certificate .. "
-	@/usr/bin/openssl req -x509 -days 365 -in key/psybnc.req.pem \
-       	-key key/psybnc.key.pem -out key/psybnc.cert.pem
-	@echo "Generating fingerprint .."
-	@/usr/bin/openssl x509 -subject -dates -fingerprint -noout \
-		-in key/psybnc.cert.pem
-	@echo psyBNC2.3.2-7-Linux ready. Please read the README before you run psybnc.
 
 include ./targets.mak

Added contrib/psybnc/p_global.h-patch.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
--- psybnc/src/p_global.h	2002-07-07 22:07:23.000000000 +1000
+++ p_global.h	2005-04-14 03:54:52.000000000 +1000
@@ -658,6 +658,7 @@
 extern struct hostent *hostinfo;
 extern FILE *mainlog;
 extern char configfile[100];
+extern char pidfilename[100];
 extern char dcchost[200];
 extern char dcc6host[200];
 extern int safemode;
@@ -1264,8 +1265,8 @@
 #define pcontext { strmncpy(ctxt,__FILE__,sizeof(ctxt)); strmncpy(cfunc,__FUNCTION__,sizeof(cfunc)); cline=__LINE__; }
 #define pmalloc(n) __pmalloc((n),__FILE__,__FUNCTION__,__LINE__)
 
-#define SSLCERT "key/psybnc.cert.pem"
-#define SSLKEY "key/psybnc.key.pem"
+#define SSLCERT "/etc/psybnc/key/psybnc.cert.pem"
+#define SSLKEY "/etc/psybnc/key/psybnc.key.pem"
 
 #ifdef HAVE_SSL
 #ifndef SSLSEC

Added contrib/psybnc/p_string.c-patch.























>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
--- psybnc/src/p_string.c	2002-07-19 23:01:52.000000000 +1000
+++ p_string.c	2005-04-14 03:02:10.000000000 +1000
@@ -613,7 +613,7 @@
     int msg;
     pcontext;
     clearlanguage();
-    ap_snprintf(lfname,sizeof(lfname),"lang/%s.lng",langf);
+    ap_snprintf(lfname,sizeof(lfname),"/usr/share/psybnc/lang/%s.lng",langf);
     maxindex=0;
     langname[0]=0;
     lfile=fopen(lfname,"r");

Added contrib/psybnc/post-install.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/bin/sh

echo "*** GENERATING SSL-KEYS FROM CERTIFICATE **"
echo "* You will be prompted for Cert-Contents  *"
echo "*  This Infos will be used only for SSL   *"
echo "* Alter the informations to your values   *"
echo "* for the sake of correct Cert-Checking   *"
echo "*******************************************"
echo "Generating certificate request .. "
/usr/bin/openssl req -new -config ssl.cnf -out psybnc.req.pem \
     	-keyout psybnc.key.pem -nodes
echo "Generating self-signed certificate .. "
/usr/bin/openssl req -x509 -days 365 -in psybnc.req.pem \
     	-key psybnc.key.pem -out psybnc.cert.pem
echo "Generating fingerprint .."
/usr/bin/openssl x509 -subject -dates -fingerprint -noout \
	-in psybnc.cert.pem

cp psybnc.cert.pem /etc/psybnc/key/
cp psybnc.key.pem /etc/psybnc/key/

Added contrib/psybnc/pre-install.













>
>
>
>
>
>
1
2
3
4
5
6
#!/bin/sh

USER=psybnc
COMMENT="$USER daemon"

/usr/sbin/useradd -d /dev/null -s /bin/sh -c "$COMMENT" -m $USER

Added contrib/psybnc/psybnc.conf.









>
>
>
>
1
2
3
4
PSYBNC.SYSTEM.PORT1=31337
PSYBNC.SYSTEM.HOST1=*
PSYBNC.SYSTEM.LOGFILE=/var/log/psybnc.log
PSYBNC.HOSTALLOWS.ENTRY0=*;*

Added contrib/psybnc/psybnc.rc.





















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/bin/sh
#
# /etc/rc.d/psybnc: start/stop psybnc daemon
#

PSYBNC_USER=psybnc

case $1 in
start)
	cd /var/run/
	su - $PSYBNC_USER -c "psybnc /etc/psybnc/psybnc.conf"
	;;
stop)
	kill -KILL `cat /var/run/psybnc.pid`
	;;
restart)
	$0 stop
	sleep 2
	$0 start
	;;
*)
	echo "usage: $0 [start|stop|restart]"
	;;
esac

# End of file

Added contrib/psybnc/ssl.cnf.



































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# create RSA certs - Server

RANDFILE = src/ssl.rnd

[ req ]
default_bits = 2048
encrypt_key = yes
distinguished_name = req_dn
x509_extensions = cert_type

[ req_dn ]
countryName = Country Name
countryName_default             = DE
countryName_min                 = 2
countryName_max                 = 2

stateOrProvinceName             = State/Province
stateOrProvinceName_default     = Somewhere

localityName                    = Locality Name (eg, city)

0.organizationName              = Organization Name (eg, company)
0.organizationName_default      = tCl

organizationalUnitName          = Organizational Unit Name (eg, section)
organizationalUnitName_default  = psyBNC  

0.commonName                    = Common Name (Full domain of your server)
1.commonName_value              = localhost

[ cert_type ]
nsCertType = server

Added contrib/psyco/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Python extension module to speed up Python code.
# URL:         http://psyco.sourceforge.net
# Packager:    James Mills, prologic at shortcircuit dot net dot au
# Maintainer: Lucas Hazel, lucas at die dot net dot au
#
# Depends on:  python

name=psyco
version=1.6
release=1
source=(http://download.sourceforge.net/$name/$name-$version-src.tar.gz)

build () {
   cd $name-$version
   python setup.py install --root=$PKG
   chown root:root $PKG
	find $PKG -name '*egg-info' | xargs rm
}

Added contrib/psycopg2/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: Python bindings for PostgreSQL
# URL: http://www.initd.org/
# Maintainer: Mikhail Kolesnik, mike at openbunker dot org
# Packager: Lucas Hazel, lucas at die dot net dot au
# Depends on: python postgresql

name=psycopg2
version=2.4.4
release=1
source=(http://initd.org/psycopg/tarballs/PSYCOPG-2-4/$name-$version.tar.gz)

build() {
	cd $name-$version
	python setup.py install --root=$PKG --prefix=/usr
	find $PKG -name '*.egg-info' | xargs rm
}

Added contrib/pv/Pkgfile.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Description: terminal-based tool for monitoring the progress of data through a pipeline
# URL:         http://www.ivarch.com/programs/pv.shtml
# Maintainer:  Bartlomiej Palmowski, rotwang at crux dot org dot pl

name=pv
version=1.2.0
release=1
source=(http://pipeviewer.googlecode.com/files/$name-$version.tar.bz2)

build() {
    cd $name-$version
    ./configure --disable-{lfs,nls} --prefix=/usr
    make
    make DESTDIR=$PKG install
}

Added contrib/pwgen/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: Small password generator
# URL: http://sourceforge.net/projects/pwgen
# Maintainer: Rene Lengwinat, rugek at dirtyhack dot net

name=pwgen
version=2.06
release=1
source=(http://download.sourceforge.net/$name/$name-$version.tar.gz)

build()
{
  cd $name-$version
  ./configure --prefix=/usr
  make 
  make DESTDIR=$PKG install
}

Added contrib/pycrypto/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: Python collection of cryptographic algorithms and protocols
# URL: http://www.amk.ca/python/code/crypto.html
# Maintainer: Mikhail Kolesnik, mike at openbunker dot org
# Packager: Lucas Hazel, lucas at die dot net dot au
# Depends on: python

name=pycrypto
version=2.0.1
release=5
source=(http://www.amk.ca/files/python/crypto/$name-$version.tar.gz)

build() {
	cd $name-$version
	python setup.py install --root=$PKG
	find $PKG -name '*egg-info' | xargs rm
}

Added contrib/pygame/Pkgfile.



























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# Description: Python bindings for SDL.
# URL: http://pygame.org/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Han Boetes, han at mijncomputer dot nl
# Depends on: numeric sdl_image sdl_mixer sdl_ttf

name=pygame
version=1.9.1
release=1
source=(http://www.pygame.org/ftp/$name-${version}release.tar.gz
	pygame-1.9.1-config.patch)

build() {
	cd $name-${version}release

	export CFLAGS="$CFLAGS -fno-strict-aliasing"
	patch -p1 -i $SRC/pygame-1.9.1-config.patch

	python config.py -auto
	python setup.py install --prefix=/usr --root $PKG

	chmod a-x $PKG/usr/lib/python*/site-packages/pygame/*.so
	find $PKG -name '*.h' -exec chmod 0644 {} \;

	find $PKG \( \
		-name 'pygame.ico' -o \
		-name 'pygame_icon.*' -o \
		-name 'freesansbold.ttf' \) -exec chmod 0644 {} \;
}

Added contrib/pygame/pygame-1.9.1-config.patch.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
diff -pruN pygame-1.9.1release.orig/config_msys.py pygame-1.9.1release/config_msys.py
--- pygame-1.9.1release.orig/config_msys.py	2012-04-06 07:54:22.787229875 +0000
+++ pygame-1.9.1release/config_msys.py	2012-04-06 07:54:57.340496880 +0000
@@ -283,7 +283,7 @@ def main():
     
     for d in DEPS[1:]:
         if not d.found:
-            if not confirm("""
+            if "-auto" not in sys.argv and not confirm("""
 Warning, some of the pygame dependencies were not found. Pygame can still
 compile and install, but games that depend on those missing dependencies
 will not run. Would you like to continue the configuration?"""):
diff -pruN pygame-1.9.1release.orig/config_unix.py pygame-1.9.1release/config_unix.py
--- pygame-1.9.1release.orig/config_unix.py	2012-04-06 07:54:22.787229875 +0000
+++ pygame-1.9.1release/config_unix.py	2012-04-06 07:54:57.340496880 +0000
@@ -174,7 +174,7 @@ def main():
 
     for d in DEPS[1:]:
         if not d.found:
-            if not confirm("""
+            if "-auto" not in sys.argv and not confirm("""
 Warning, some of the pygame dependencies were not found. Pygame can still
 compile and install, but games that depend on those missing dependencies
 will not run. Would you like to continue the configuration?"""):

Added contrib/pygments/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: A generic syntax highlighter
# URL: http://pygments.org/
# Maintainer: Mikhail Kolesnik, mike at openbunker dot org
# Depends on: setuptools

name=pygments
version=1.3.1
release=1
source=(http://pypi.python.org/packages/source/P/Pygments/Pygments-$version.tar.gz)

build() {
	cd Pygments-$version
	python setup.py install --root=$PKG
	# at least Trac complains if these files are removed
	#find $PKG -name '*egg-info' | xargs rm -rf
}

Added contrib/pyopengl/Pkgfile.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Description: Cross platform Python binding to OpenGL.
# URL: http://pyopengl.sourceforge.net/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Younes Hafri ycrux at club-internet dot fr
# Depends on: swig setuptools

name=pyopengl
version=3.0.1
release=1
source=(http://downloads.sourceforge.net/project/$name/PyOpenGL/$version/PyOpenGL-$version.tar.gz)

build() {
	cd PyOpenGL-$version
	python setup.py install --root=$PKG
}

Added contrib/pyopenssl/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: Python interface to the OpenSSL library
# URL: https://launchpad.net/pyopenssl
# Maintainer: Mikhail Kolesnik, mike at openbunker dot org
# Packager: Lucas Hazel, lucas at die dot net dot au
# Depends on: python

name=pyopenssl
version=0.11
release=1
source=(http://launchpadlibrarian.net/58498441/pyOpenSSL-$version.tar.gz)

build() {
	cd pyOpenSSL-$version
	python setup.py install --root=$PKG
	find $PKG -name '*egg-info' | xargs rm -rf
}

Added contrib/pypdf/Pkgfile.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Description: Pure-Python library built as a PDF toolkit
# URL: http://pybrary.net/pyPdf/
# Maintainer: Jose V Beneyto, sepen at users dot sourceforge dot net
# Packager: Jose V Beneyto, sepen at users dot sourceforge dot net
# Depends on: python

name=pypdf
version=1.13
release=1
source=(http://pybrary.net/pyPdf/pyPdf-$version.tar.gz)

build() {
  cd pyPdf-$version
  python setup.py install -f --prefix=$PKG/usr
}

Added contrib/pyquery/Pkgfile.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Description: Allows you to make jquery (API) queries on xml documents.
# URL: http://pypi.python.org/pypi/pyquery
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com
# Depends on: lxml

name=pyquery
version=1.1.1
release=1
source=(http://pypi.python.org/packages/source/p/$name/$name-$version.tar.gz)

build() {
	cd $name-$version
	python setup.py install --root $PKG
}

Added contrib/pyserial/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: Python serial port API.
# URL: http://pyserial.wiki.sourceforge.net/pySerial
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Younes Hafri, ycrux at club-internet dot fr
# Depends on: python

name=pyserial
version=2.5
release=1
source=(http://downloads.sourceforge.net/project/$name/$name/$version/$name-$version.tar.gz)

build() {
	cd $name-$version
	python setup.py build
	python setup.py install --prefix=/usr --root $PKG
}

Added contrib/pyshadow/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: Python module to access the shadow password file.
# URL: http://www.twistedmatrix.com/users/z3p/files/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Younes Hafri, ycrux at club-internet dot fr
# Depends on: python

name=pyshadow
version=0.2
release=1
source=(http://www.twistedmatrix.com/users/z3p/files/pyshadow-$version.tar.gz)

build() {
	install -d $PKG/usr
	cd pyshadow-$version

	python setup.py build
	python setup.py install --home=$PKG/usr
}

Added contrib/python-markdown/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: Python implementation of markdown
# URL: http://www.freewisdom.org/projects/python-markdown/
# Maintainer: Mikhail Kolesnik, mike at openbunker dot org
# Packager: Lucas Hazel, lucas at die dot net dot au
# Depends on: setuptools

name=python-markdown
version=2.0
release=1
source=(http://pypi.python.org/packages/source/M/Markdown/Markdown-$version.tar.gz)

build() {
	cd Markdown-$version
	python setup.py install --root=$PKG
	# having markdown.py in /usr/bin results in a cycled markdown loading
	# in some cases
	mv $PKG/usr/bin/markdown.py $PKG/usr/bin/markdown-cli.py
	ln -s /usr/bin/markdown-cli.py  $PKG/usr/bin/markdown
	find $PKG -name '*egg-info' | xargs rm -rf
}

Added contrib/python2-chardet/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: Python module for character encoding auto-detection.
# URL: http://chardet.feedparser.org/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Marcin Karpezo, sirmacik at crux dot org dot pl
# Depends on: python

name=python2-chardet
version=2.0.1
release=1
source="http://chardet.feedparser.org/download/$name-$version.tgz"

build() {
	cd $name-$version
	python setup.py install --root=$PKG
	find $PKG -name '*.egg-info' | xargs rm -rf
}

Added contrib/pyxdg/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: Python library to access freedesktop.org standards.
# URL: http://freedesktop.org/wiki/Software/pyxdg
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Antonio SJ Musumeci, bile at landofbile dot com
# Depends on: python

name=pyxdg
version=0.19
release=1
source=(http://people.freedesktop.org/~lanius/$name-$version.tar.gz)

build() {
	cd $name-$version
	python setup.py install --prefix=/usr --root=$PKG
	rm $PKG/usr/lib/python2.7/site-packages/pyxdg-$version-py2.7.egg-info
}

Added contrib/qca-tls/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description:	TLS plugin for the Qt Crypto API
# URL:	http://delta.affinix.com/qca/
# Maintainer:	Alan Mizrahi, alan at mizrahi dot com dot ve
# Depends on:	qca, openssl

name=qca-tls
version=1.0
release=1
source=(http://delta.affinix.com/download/qca/$name-$version.tar.bz2 qca-fix.patch)

build() {
	cd ${name}-${version}
	patch -p1 < $SRC/qca-fix.patch
	./configure
	make
	install -m 755 -D libqca-tls.so $PKG/usr/lib/qt/crypto/libqca-tls.so
}

Added contrib/qca-tls/qca-fix.patch.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
--- qca-tls-1.0/qca-tls.cpp.orig	2007-12-01 17:56:17.060155571 -0400
+++ qca-tls-1.0/qca-tls.cpp	2007-12-01 17:57:37.169934323 -0400
@@ -454,7 +454,7 @@
 			if(!r) {
 				// try this other public function, for whatever reason
 				p = (void *)in;
-				r = d2i_RSA_PUBKEY(NULL, (unsigned char **)&p, len);
+				r = d2i_RSA_PUBKEY(NULL, (const unsigned char **)&p, len);
 			}
 			if(r) {
 				if(pub) {
@@ -798,7 +798,7 @@
 
 	bool createFromDER(const char *in, unsigned int len)
 	{
-		unsigned char *p = (unsigned char *)in;
+		const unsigned char *p = (unsigned char *)in;
 		X509 *t = d2i_X509(NULL, &p, len);
 		if(!t)
 			return false;

Added contrib/qca/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: QCA aims to provide a straightforward and cross-platform crypto API, using Qt.
# URL: http://delta.affinix.com/qca/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Jose V Beneyto, sepen at crux dot nu
# Depends on: qt4

name=qca
version=2.0.3
release=1
source=(http://delta.affinix.com/download/$name/2.0/$name-$version.tar.bz2)

build() {
  cd $name-$version
  ./configure --prefix=/usr \
              --qtdir=/usr/share/qt4
  make
  make INSTALL_ROOT=$PKG install
  mv $PKG/usr/share/man $PKG/usr
  rm -f $(find $PKG -name '*.debug') $(find $PKG -name 'README')
}

Added contrib/qca/README.















>
>
>
>
>
>
>
1
2
3
4
5
6
7

README for qca

** NOTE **

If you have problems trying to build qca 2.x, remove qca 1.x before.

Added contrib/qemu-kvm/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: KVM-accelerated qemu
# URL:         http://www.linux-kvm.org
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Depends on:  libsdl

name=qemu-kvm
version=1.0-rc2
release=1
source=(http://download.sourceforge.net/kvm/qemu-kvm/$version/qemu-kvm-$version.tar.gz)

build() {
  cd $name-$version

  ./configure --prefix=/usr \
              --sysconfdir=/etc
  # fix include issues with nspr
  echo 'QEMU_CFLAGS+=-I/usr/include/nspr' >> libcacard/Makefile
  make 
  make install DESTDIR=$PKG
}

Added contrib/qingy-themepack/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: Theme pack for qingy.
# URL:         http://qingy.sourceforge.net
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    Johannes Winkelmann, jw@tks6.net
# Depends on:  qingy

name=qingy-themepack
version=1.0
release=1
source=(http://download.sourceforge.net/qingy/qingy_0.3_themepack_$version.tar.bz2)

build() {
   cd qingy_0.3_themepack_$version
   mkdir -p $PKG/usr/share/qingy/themes 
   cp -r * $PKG/usr/share/qingy/themes
   rm $PKG/usr/share/qingy/themes/README
}

Added contrib/qingy/Pkgfile.





























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# Description: A graphical login manager for the vesa framebuffer.
# URL:         http://qingy.sourceforge.net
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    Johannes Winkelmann, jw@tks6.net
# Depends on:  directfb, xorg-libxscrnsaver

name=qingy
version=1.0.0
release=1
source=(http://download.sourceforge.net/$name/$name-$version.tar.bz2)

build() {
   cd $name-$version
   install -d $PKG/var/lib/misc

   ./configure \
      --prefix=/usr \
      --disable-nls \
      --enable-static-build \
      --disable-pam \
      --sysconfdir=/etc

   make && make DESTDIR=$PKG install

   #mkdir -p $PKG/usr/share/qingy/themes 
   #cp -r media/default $PKG/usr/share/qingy/themes
   #rm -rf $PKG/{usr/share/info,etc/pam.d,usr/share/emacs,usr/info,etc}
   
   rm -fr $PKG/{etc/pam.d,usr/info}
}

Added contrib/qingy/README.



























































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# $Id:

REMARKS:

Starting with version 0.5.0, qingy should work on NTPL enabled systems
again, given that you use a kernel newer than 2.6.7 (2.6.7 will _not_
work).

POST-INSTALL:

(quoting http://qingy.sourceforge.net/manual.php):

You also have to modify your /etc/inittab file. You should find in it a
section that goes like this: 

 # TERMINALS
 c1:12345:respawn:/sbin/agetty 38400 tty1 linux
 c2:12345:respawn:/sbin/agetty 38400 tty2 linux
 c3:12345:respawn:/sbin/agetty 38400 tty3 linux
 c4:12345:respawn:/sbin/agetty 38400 tty4 linux
 c5:12345:respawn:/sbin/agetty 38400 tty5 linux
 c6:12345:respawn:/sbin/agetty 38400 tty6 linux
  
 and modify it as follows: 

 # TERMINALS
 c1:12345:respawn:/usr/sbin/qingy tty1
 c2:12345:respawn:/usr/sbin/qingy tty2
 c3:12345:respawn:/usr/sbin/qingy tty3
 c4:12345:respawn:/usr/sbin/qingy tty4
 c5:12345:respawn:/usr/sbin/qingy tty5
 c6:12345:respawn:/sbin/agetty 38400 tty6 linux
  
 After that you can either reboot your system or use the following
commands (as root): 
 init Q
 killall agetty
 where agetty is the name of your previous *getty. After this, either
logout or change terminal to see qingy in all it's glory! 

 I suggest you leave at least one terminal with your old *getty, so that
in case of problems or misconfiguration (remember that qingy is beta
software, so there may well be some bugs) you have at least one surely
working terminal.

Added contrib/qiv/Makefile.patch.















































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
--- Makefile.orig	2010-08-30 22:58:36.000000000 +0200
+++ Makefile	2010-08-30 23:02:12.000000000 +0200
@@ -3,8 +3,10 @@
 # User Options
 #######################################################################
 
+DESTDIR =
+
 # Directory where qiv will be installed under.
-PREFIX = /usr/local
+PREFIX = /usr
 
 # Font to use for statusbar in fullscreen mode
 STATUSBAR_FONT = "fixed"
@@ -83,7 +85,7 @@
 endif
 
 ifdef GTD_XINERAMA
-LIBS     += -L/usr/X11R6/lib -lXinerama
+LIBS     += -L/usr/lib/X11 -lXinerama
 endif
 
 ifdef MAGIC
@@ -127,13 +129,7 @@
 
 install: $(PROGRAM)
 	@echo "Installing QIV..."
-	install -s -m 0755 $(PROGRAM) $(PREFIX)/bin
-	install -m 0644 $(PROGRAM).1 $(PREFIX)/man/man1
-	$(COMPRESS_PROG) $(PREFIX)/man/man1/$(PROGRAM).1
-	@if ./qiv -f ./intro.jpg ; \
-	then echo "-- Test Passed --" ; \
-	else echo "-- Test Failed --" ; \
-	fi
-	@echo -ne "\nDont forget to look into the \"qiv-command\" file and install it!\n-> cp qiv-command.example /usr/local/bin/qiv-command\n\n"
+	install -D -m 0755 $(PROGRAM) $(DESTDIR)/$(PREFIX)/bin/$(PROGRAM)
+	install -D -m 0644 $(PROGRAM).1 $(DESTDIR)/$(PREFIX)/man/man1/$(PROGRAM).1
 
 # the end... ;-)

Added contrib/qiv/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Very small and pretty fast gdk/Imlib2 image viewer
# URL: http://www.spiegel.de/qiv
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Juergen Daubert, juergen dot daubert at t-online dot de
# Depends on: imlib2

name=qiv
version=2.2.3
release=1
source=(http://spiegl.de/qiv/download/$name-$version.tgz \
        Makefile.patch)

build () {
  cd $name-$version
  patch -p0 -i $SRC/Makefile.patch
  make
  make DESTDIR=$PKG install
}

Added contrib/qt3/Pkgfile.



















































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
# Description: Qt Free Edition
# URL:         http://www.trolltech.com
# Packager:    Daniel Mueller, daniel at danm dot de
# Maintainer:  Alan Mizrahi, alan at mizrahi dot com dot ve
# Depends on:  freeglut, xorg-libxcursor, xorg-xrandr, xorg-libxft, xorg-libxinerama, xorg-libxi, xorg-libice, libpng, libmng

name=qt3
version=3.3.8
release=2
source=(
	ftp://ftp.trolltech.com/qt/source/qt-x11-free-$version.tar.bz2
	$name-$version-gcc4.patch 
	qt-x11-free-3.3.5-no-rpath.patch
	qt3-libpng14.patch
)

build() {
    cd qt-x11-free-$version

    # KDE patches (http://websvn.kde.org/branches/qt/3.3/qt-copy/patches/?rev=784432)
    for i in $(ls $SRC/$name-patches/* | sort); do
        patch -p0 -i $i
    done

    # gcc4 + 64bit issue
    patch -p1 -i $SRC/$name-$version-gcc4.patch
    patch -p0 -i $SRC/qt-x11-free-3.3.5-no-rpath.patch

    # libpng-1.4 structure changes
    patch -p1 -i $SRC/qt3-libpng14.patch

    local SQL
    if [ "`pkginfo -i | grep mysql`" ];then
        SQL="-qt-sql-mysql -I/usr/include/mysql -L/usr/lib/mysql"
    fi

    if [ -d /usr/include/nvidia ]; then
        export CFLAGS="$CFLAGS -I/usr/include/nvidia"
        export CXXFLAGS="$CXXFLAGS -I/usr/include/nvidia"
    fi

    # don't link against our currently installed libraries
    export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:`pwd`/lib"
    rm -rf {doc/html,examples,tutorial}

    # we don't want docs, sample code; please use our optimizations flags
    sed -i "s|sub-tutorial sub-examples| |" Makefile
    sed -i "s|-O2|$CXXFLAGS|" mkspecs/linux-g++/qmake.conf
    sed -i "s|-I. |$CXXFLAGS -I. |" qmake/Makefile.unix
    sed -i "s|read acceptance|acceptance=yes|" configure
    sed -i 's|X11R6/||g' mkspecs/*/*.conf
    [ "$CC" ] && sed -i "s|gcc|$CC|" mkspecs/*/*.conf
    [ "$CXX" ] && sed -i "s|g++|$CXX|" mkspecs/*/*.conf

    ./configure -prefix /usr/share/qt3 \
        -bindir /usr/share/qt3/bin \
        -headerdir /usr/include/qt3 \
        -libdir /usr/lib \
        -plugindir /usr/lib/qt3 \
        -platform linux-g++ -release -shared -thread -sm \
        -tablet -nis -verbose -qt-gif -system-zlib \
        -{system-lib,plugin-imgfmt-}{png,jpeg,mng} \
        -no-{cups,fast,exceptions,nas-sound} \
        -x{cursor,ft,inerama,kb,randr,render} \
        $SQL

    make src-moc sub-src 

    # Makefile magic, don't link against our currently installed libs
    find . -name Makefile -exec sed -i "s|,/usr/lib|,`pwd`/lib|" {} \;
    make sub-tools 
    make INSTALL_ROOT=$PKG install

    for i in mergetr msg2qm qconfig qembed qvfb; do
        (cd tools/$i/;make SUBLIBS="-lpng -lmng";mv $i $PKG/usr/share/qt3/bin/)
    done
    mv bin/{findtr,qtrename140} $PKG/usr/share/qt3/bin/

    mkdir -p $PKG/usr/bin
    for i in $PKG/usr/share/qt3/bin/*
    do
	f="`basename $i`"
	ln -s ../share/qt3/bin/$f $PKG/usr/bin/$f-qt3
    done

    mkdir $PKG/usr/man
    mv doc/man/man1 $PKG/usr/man

    rm -rf `find $PKG/usr/share/qt/mkspecs/* | grep -v linux-g++` \
        $PKG/usr/share/qt3/{phrasebooks,templates,translations} \
        $PKG/usr/include/qt3/{j,n}*
    rm -f $PKG/usr/share/qt3/mkspecs/linux-g++/linux-g++

    ln -s ../../include/qt3 $PKG/usr/share/qt3/include
    ln -s ../../lib        $PKG/usr/share/qt3/lib
    ln -s ../../lib/qt3     $PKG/usr/share/qt3/plugins
    ln -s linux-g++        $PKG/usr/share/qt3/mkspecs/default

    # correct qmake's PRL files (the libraries were placed into /usr/lib*/ and
    # not in our temporary build directory ./work/src/..)
    sed -i "s|-L$SRC/qt-x11-free-$version/lib ||g" $PKG/usr/lib/*.prl

    chmod -R u+w,g-sw  $PKG
    chown -R root:root $PKG
}

Added contrib/qt3/qt-x11-free-3.3.5-no-rpath.patch.



















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Avoid setting rpath

http://cvs.mandriva.com/cgi-bin/viewvc.cgi/SPECS/qt3/qt-x11-free-3.3.5-no-rpath.patch?revision=1.3&view=markup

--- mkspecs/linux-g++-64/qmake.conf
+++ mkspecs/linux-g++-64/qmake.conf
@@ -59,7 +59,7 @@
 QMAKE_LFLAGS_PLUGIN	= $$QMAKE_LFLAGS_SHLIB
 QMAKE_LFLAGS_SONAME	= -Wl,-soname,
 QMAKE_LFLAGS_THREAD	=
-QMAKE_RPATH		= -Wl,-rpath,
+QMAKE_RPATH		= 
 
 QMAKE_LIBS		=
 QMAKE_LIBS_DYNLOAD	= -ldl
--- mkspecs/linux-g++/qmake.conf
+++ mkspecs/linux-g++/qmake.conf
@@ -56,7 +56,6 @@
 QMAKE_LFLAGS_PLUGIN	= $$QMAKE_LFLAGS_SHLIB
 QMAKE_LFLAGS_SONAME	= -Wl,-soname,
 QMAKE_LFLAGS_THREAD	=
-QMAKE_RPATH		= -Wl,-rpath,
 
 QMAKE_LIBS		=
 QMAKE_LIBS_DYNLOAD	= -ldl

Added contrib/qt3/qt3-3.3.8-gcc4.patch.

























>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
diff -Nru qt-x11-free-3.3.4-orig/tools/qvfb/qvfbview.cpp qt-x11-free-3.3.4/tools/qvfb/qvfbview.cpp
--- qt-x11-free-3.3.4-orig/tools/qvfb/qvfbview.cpp	2005-10-31 21:49:58.000000000 +0000
+++ qt-x11-free-3.3.4/tools/qvfb/qvfbview.cpp	2005-10-31 21:51:52.000000000 +0000
@@ -115,7 +115,7 @@
 	data = (unsigned char *)shmat( shmId, 0, 0 );
     }
 
-    if ( (int)data == -1 )
+    if ( (long)data == -1 )
 	qFatal( "Cannot attach to shared memory" );
 
     hdr = (QVFbHeader *)data;

Added contrib/qt3/qt3-libpng14.patch.





















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
--- qt-x11-free-3.3.8/src/kernel/qpngio.cpp.orig	2007-02-02 23:01:15.000000000 +0900
+++ qt-x11-free-3.3.8/src/kernel/qpngio.cpp	2011-01-02 09:20:40.151999994 +0900
@@ -159,7 +159,11 @@
 		image.setColor( i, qRgba(c,c,c,0xff) );
 	    }
 	    if ( png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS) ) {
+#if PNG_LIBPNG_VER < 10400
 		const int g = info_ptr->trans_values.gray;
+#else
+		const int g = info_ptr->trans_color.gray;
+#endif
 		if (g < ncols) {
 		    image.setAlphaBuffer(TRUE);
 		    image.setColor(g, image.color(g) & RGB_MASK);
@@ -187,7 +191,11 @@
 		    info_ptr->palette[i].red,
 		    info_ptr->palette[i].green,
 		    info_ptr->palette[i].blue,
+#if PNG_LIBPNG_VER < 10400
 		    info_ptr->trans[i]
+#else
+		    info_ptr->trans_alpha[i]
+#endif
 		    )
 		);
 		i++;

Added contrib/quake4/Pkgfile.





























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# Description: Linux client for ID Software's Quake 4
# URL: http://www.quake4game.com/
# Maintainer: Matt Housh, jaeger at morpheus dot net
# Depends on: xorg-libx11, xorg-libxau, xorg-libxcb, xorg-libxdmcp, xorg-libxext, libsdl

name=quake4
version=1.4.2
release=1
source=(ftp://ftp.idsoftware.com/idstuff/$name/linux/$name-linux-$version.x86.run \
	$name \
	http://jaeger.morpheus.net/linux/files/q4icon.png)

build() {
	chmod +x $name-linux-$version.x86.run
	./$name-linux-$version.x86.run --noexec --target tmp
	mkdir -p $PKG/usr/share/$name \
		$PKG/usr/share/$name/q4base \
		$PKG/usr/share/$name/pb/htm \
		$PKG/usr/bin \
		$PKG/usr/share/pixmaps
	install -m 755 tmp/bin/Linux/x86/*.x86 $PKG/usr/share/$name/
	install -m 755 tmp/bin/Linux/x86/libstdc++.so.6 $PKG/usr/share/$name/
	ln -s x86 $PKG/usr/share/$name/x86_64
	install -m 644 tmp/q4base/*{.pk4,cfg} $PKG/usr/share/$name/q4base/
	install -m 644 tmp/us/q4base/* $PKG/usr/share/$name/q4base/
	install -m 644 tmp/pb/*.so $PKG/usr/share/$name/pb/
	install -m 644 tmp/pb/htm/*.htm $PKG/usr/share/$name/pb/htm/
	install -m 755 $name $PKG/usr/bin/
	install -m 644 q4icon.png $PKG/usr/share/pixmaps/
}

Added contrib/quake4/README.























>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11

README for quake4

This port installs the linux client for Id Software's Quake 4. You'll need
to copy some files from your quake4 CD/DVD to the local drive to play the game
after the port's installed. Use the following commands to do so, substituting
your cdrom mount point (and perhaps language) as necessary:

	# install -m 644 /mnt/cdrom/Setup/Data/q4base/{pak*,zpak_english}.pk4 \
	    /usr/share/quake4/q4base/

Added contrib/quake4/quake4.



















>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
#!/bin/sh

#
# quake4: run quake4
#

cd /usr/share/quake4
LD_LIBRARY_PATH=. ./quake4.x86 $@
cd -

Added contrib/quesoglc/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description:	The OpenGL Character Renderer (GLC) is a state machine that provides OpenGL programs with character rendering services.
# URL: http://quesoglc.sourceforge.net/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com
# Depends on: fontconfig mesa3d

name=quesoglc
version=0.7.2
release=1
source=(http://downloads.sourceforge.net/project/$name/QuesoGLC/$version/$name-$version.tar.bz2)

build() {
	cd $name-$version
	./configure --prefix=/usr
	make
	make DESTDIR=$PKG install
}

Added contrib/rdesktop/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: Open source client for Windows NT Terminal Server
# URL: http://www.rdesktop.org/
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager: Simone Rota, sip at crux dot nu
# Depends on: xorg-libx11

name=rdesktop
version=1.7.1
release=1
source=(http://download.sourceforge.net/rdesktop/$name-$version.tar.gz)
build(){
  cd $name-$version
  ./configure --prefix=/usr
  make
  make prefix=$PKG/usr mandir=$PKG/usr/man install
}

Added contrib/realpath/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description: return the canonicalized absolute pathname
# URL:         http://packages.debian.org/sid/realpath
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    Simon Glossner, viper at hometux dot de

name=realpath
version=1.15
release=1
source=(http://ftp.debian.org/debian/pool/main/r/${name}/${name}_${version}.tar.gz)

build() {
    cd $name-$version/src
    
    sed -i -e 's/setlocale.*//g' -e 's/bindtextdomain.*//g' -e 's/textdomain.*//g' realpath.c
    gcc -DVERSION="${version}" -o realpath realpath.c

    mkdir -p $PKG/usr/bin
    mkdir -p $PKG/usr/man/man1

    install -m 755 realpath $PKG/usr/bin/realpath
    install -m 644 ../man/realpath.1 $PKG/usr/man/man1
}

Added contrib/recode/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: Converts files between character sets
# URL: http://www.gnu.org/software/recode/recode.html
# Maintainer: Simon Glossner, viper at hometux dot de

name=recode
version=3.6
release=1
source=(http://ftp.gnu.org/pub/gnu/${name}/${name}-${version}.tar.gz)

build() {
    cd $name-$version

    ./configure \
	--prefix=/usr \
	--disable-nls
    make
    make DESTDIR=$PKG install

    rm -rf $PKG/usr/info
}

Added contrib/recordmydesktop/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: A program to record a desktop session
# URL: http://recordmydesktop.sourceforge.net/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Vincenzo Colosimo, vico at bicisport dot de
# Depends on: libtheora xorg-libxdamage xorg-libxext

name=recordmydesktop
version=0.3.8.1
release=1
source=(http://download.sourceforge.net/$name/$name-$version.tar.gz)

build() {
  cd $name-$version
  ./configure --prefix=/usr \
              --mandir=/usr/man
  make
  make DESTDIR=$PKG install
}

Added contrib/remind/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: A sophisticated CLI calendar and alarm program
# URL:         http://www.roaringpenguin.com/penguin/open_source_remind.php
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    treach, treachster at gmail dot com
# Depends on:

name=remind
version=03.01.12
release=1
source=(http://www.roaringpenguin.com/files/download/$name-$version.tar.gz)

build() {
  cd $name-$version
  ./configure --prefix=/usr --mandir=/usr/man
  make
  make DESTDIR=$PKG install
}

Added contrib/rhapsody/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Text console IRC client with intuitive menu driven user interface.
# URL: http://rhapsody.sourceforge.net/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Jose V Beneyto, sepen at crux dot nu
# Depends on: ncurses

name=rhapsody
version=0.28b
release=2
source=(http://download.sourceforge.net/$name/${name}_$version.tgz)

build() {
  cd $name-$version
  ./configure
  make clean
  make LOCALFLAGS="$CFLAGS"
  install -D -m 0755 $name $PKG/usr/bin/$name 
}

Added contrib/rocksndiamonds/Pkgfile.



























































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# Description: Clone of the old BoulderDash and Rockford game.
# URL: http://www.artsoft.org/rocksndiamonds/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: James Mills, prologic at shortcircuit dot net dot au
# Depends on: sdl_image sdl_mixer sdl_net

name=rocksndiamonds
version=3.3.0.1
release=1
source=(http://www.artsoft.org/RELEASES/unix/rocksndiamonds/rocksndiamonds-$version.tar.gz)

build() {
	cd rocksndiamonds-$version

	sed -i src/Makefile \
		-e '/^OPTIONS = $(DEBUG) -Wall.*$/d' \
		-e "/^OPTIONS = -O3 -Wall/s/-O3 -Wall/$CFLAGS -Wall -O3/"

	export BUILD_DIST=1
	export RO_GAME_DIR='/usr/share/rocksndiamonds'
	export RW_GAME_DIR='/var/lib/games/rocksndiamonds'
	make

	install -d \
		$PKG/usr/share/rocksndiamonds/graphics \
		$PKG/usr/share/rocksndiamonds/levels \
		$PKG/usr/share/rocksndiamonds/music \
		$PKG/usr/share/rocksndiamonds/sounds \
		$PKG/var/lib/games/rocksndiamonds

	cp -r graphics $PKG/usr/share/rocksndiamonds
	cp -r levels $PKG/usr/share/rocksndiamonds
	cp -r music $PKG/usr/share/rocksndiamonds
	cp -r sounds $PKG/usr/share/rocksndiamonds

	cp -r scores $PKG/var/lib/games/rocksndiamonds
	install -D -m 0755 rocksndiamonds $PKG/usr/bin/rocksndiamonds

	rm $PKG/usr/share/rocksndiamonds/levels/Tutorials/rnd_tutorial_niko_boehm/README

	unset BUILD_DIST
	unset RO_GAME_DIR
	unset RW_GAME_DIR
}

Added contrib/rrdtool/Pkgfile.















































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# Description: A system to store and display time-series data.
# URL: http://oss.oetiker.ch/rrdtool/index.en.html
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Younes Hafri, ycrux at club-internet dot fr
# Depends on: intltool libart_lgpl libcgi libgd pango tcl

name=rrdtool
version=1.4.7
release=1
source=(http://oss.oetiker.ch/rrdtool/pub/$name-$version.tar.gz)

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--mandir=/usr/man \
		--enable-shared \
		--disable-static \
		--enable-perl-site-install \
		--enable-ruby-site-install

	make
	make DESTDIR=$PKG install

	rm -r \
		$PKG/usr/share/doc \
		$PKG/usr/share/rrdtool/examples

	# Remove perl crap
	find $PKG \( \
		-name '.packlist' -o \
		-name '*.bs' -o \
		-name 'perllocal.pod' \) -delete

	# Remove empty directories
	find $PKG -depth -empty -delete
}

Added contrib/rss-glx/Pkgfile.





































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# Description: Linux GLX port of the Really Slick Screensavers.
# URL: http://rss-glx.sourceforge.net/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Matt Housh, jaeger at morpheus dot net
# Depends on: xscreensaver imagemagick

name=rss-glx
version=0.9.1
release=2
source=(http://downloads.sourceforge.net/project/$name/$name/$version/${name}_$version.tar.bz2)

build() {
	cd ${name}_$version
	
	./configure \
		--prefix=/usr \
		--mandir=/usr/man \
		--with-configdir=/usr/share/xscreensaver/config \
		--disable-sound \
		--disable-static \
		--enable-shared

	make
	make DESTDIR=$PKG install
	install -d $PKG/usr/lib/xscreensaver $PKG/usr/sbin
	mv $PKG/usr/bin/rss-glx_install.pl $PKG/usr/sbin/rss-glx_install

	(
		cd $PKG/usr/lib/xscreensaver
		for i in $PKG/usr/bin/*; do
			ln -s /usr/bin/$(basename $i)
		done
	)
}

Added contrib/rss-glx/README.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
REQUIREMENTS:

PRECAUTION:

PRE-INSTALL:

POST-INSTALL:

PRE-REMOVE:

POST-REMOVE:

NOTES:

	Exit xscreensaver and run rss-glx_install for each user that wants \
	these aditional screensavers. Don't forget to restart xscreensaver after!

	Example commands:
		pkill xscreensaver
		/usr/sbin/rss-glx_install
		xscreensaver -no-splash &

Added contrib/rtorrent/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: bitorrent console client
# URL:         http://libtorrent.rakshasa.no
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Depends on:  libtorrent

name=rtorrent
version=0.9.1
release=1
source=(http://libtorrent.rakshasa.no/downloads/rtorrent-$version.tar.gz)

build() {
  cd $name-$version
  ./configure --prefix=/usr --mandir=/usr/man
  make
  make install DESTDIR=$PKG
  install -m 644 -D doc/rtorrent.1 $PKG/usr/man/man1/rtorrent.1
}

Added contrib/sakura/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: A terminal emulator based on GTK and VTE.
# URL: http://www.pleyades.net/david/projects/sakura
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com
# Depends on: vte cmake

name=sakura
version=2.4.2
release=1
source=(http://launchpad.net/sakura/trunk/$version/+download/$name-$version.tar.bz2)

build() {
	cd $name-$version
	cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=RELEASE .
	make
	make DESTDIR=$PKG install
	mv $PKG/usr/share/man $PKG/usr/man
	rm -r $PKG/usr/share/{locale,doc}
}

Added contrib/schroedinger/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: schroedinger-tools is a small collection tools to code YUV files and decode raw dirac bytestreams
# URL: http://www.diracvideo.org/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Falcony, falcony at users dot sourceforge dot net
# Depends on: orc

name=schroedinger
version=1.0.11
release=1
source=(http://www.diracvideo.org/download/$name/$name-$version.tar.gz)

build() {
	cd $name-$version
	./configure --prefix=/usr
	make
	make DESTDIR=$PKG install
	rm -r $PKG/usr/share/gtk-doc
	rmdir $PKG/usr/share
}

Added contrib/scorched3d/Pkgfile.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Description: A 3D recreation of the classic DOS game Scorched Earth.
# URL: http://www.scorched3d.co.uk/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Matt Housh, jaeger at crux dot nu
# Depends on: sdl_mixer sdl_net wxgtk freealut fftw

name=scorched3d
version=43.3d
release=1
source=(http://downloads.sourceforge.net/project/$name/$name/Version%20$version/Scorched3D-$version-src.tar.gz)

build() {
	cd scorched

	./configure \
		--prefix=/usr \
		--datadir=/usr/share/scorched3d \
		--disable-dependency-tracking

	make
	make DESTDIR=$PKG install
	rm -r $PKG/usr/share/scorched3d/documentation
}

Added contrib/scribus/Pkgfile.























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# Description: layout tool
# URL:         http://scribus.net
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Depends on:  qt4, libart_lgpl, cmake, cairo, cups

name=scribus
version=1.4.0
release=1
source=(http://download.sourceforge.net/$name/$name-$version.tar.bz2)

build() {
   cd $name-$version

   cmake . -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_MAN_DIR=/usr/man

   make && make DESTDIR=$PKG install
   
   #CMAKE_MAN_DIR seems to be ignored..
   rm -rf $PKG/usr/share/man/de
   mv $PKG/usr/share/man $PKG/usr

   rm -rf $PKG/usr/share/man
   rm -rf $PKG/usr/man/pl
   rm -rf $PKG/usr/share/doc
   rm -rf $PKG/usr/share/$name/scripts/{ChangeLog,NEWS,TODO}
   rm -rf $PKG/usr/share/scribus/dicts/README_*
}

Added contrib/scrot/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: Commandline screen capture.
# URL: http://linuxbrit.co.uk/scrot/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Mark Rosenstand, mark at borkware dot net
# Depends on: giblib

name=scrot
version=0.8
release=1
source=(http://linuxbrit.co.uk/downloads/scrot-$version.tar.gz)

build() {
	cd scrot-$version
	./configure --prefix=/usr
	make
	make DESTDIR=$PKG install
	rm -r $PKG/usr/doc
}

Added contrib/sdl_gfx/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: SDL graphics drawing primitives and other support functions.
# URL: http://www.ferzkopp.net/joomla/software-mainmenu-14/4-ferzkopps-linux-software/19-sdlgfx
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Simone Rota, sip at crux dot nu
# Depends on: libsdl

name=sdl_gfx
version=2.0.23
release=1
source=(http://downloads.sourceforge.net/project/sdlgfx/SDL_gfx-$version.tar.gz)

build() {
	cd SDL_gfx-$version
	./configure	--prefix=/usr
	make
	make DESTDIR=$PKG install
}

Added contrib/sdl_image/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: SDL_image is an image file loading library.
# URL: http://www.libsdl.org/projects/SDL_image
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Jay Dolan, jdolan at jdolan dot dyndns dot org
# Depends on: libtiff libpng libsdl

name=sdl_image
version=1.2.12
release=1
source=(http://www.libsdl.org/projects/SDL_image/release/SDL_image-$version.tar.gz)

build() {
	cd SDL_image-$version
	./configure --prefix=/usr
	make
	make DESTDIR=$PKG install
}

Added contrib/sdl_mixer/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: A sample multi-channel audio mixer library.
# URL: http://www.libsdl.org/projects/SDL_mixer/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Simone Rota, sip at crux dot nu
# Depends on: libvorbis smpeg libmikmod flac

name=sdl_mixer
version=1.2.12
release=1
source=(http://www.libsdl.org/projects/SDL_mixer/release/SDL_mixer-$version.tar.gz)

build() {
	cd SDL_mixer-$version
	sed -i -e 's|/usr/local/lib/timidity|/usr/share/timidity|g' timidity/config.h
	./configure --prefix=/usr
	make 
	make DESTDIR=$PKG install
}

Added contrib/sdl_net/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: A cross-platform networking library for SDL.
# URL: http://www.libsdl.org/projects/SDL_net/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Simone Rota, sip at crux dot nu
# Depends on: libsdl

name=sdl_net
version=1.2.7
release=1
source=(http://www.libsdl.org/projects/SDL_net/release/SDL_net-$version.tar.gz)

build() {
	cd SDL_net-$version
	./configure --prefix=/usr
	make
	make DESTDIR=$PKG install
}

Added contrib/sdl_pango/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: Glue between perl and SDL.
# URL: http://sdlpango.sourceforge.net/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com
# Depends on: pango libsdl

name=sdl_pango
version=0.1.2
release=1
source=(http://downloads.sourceforge.net/project/sdlpango/SDL_Pango/$version/SDL_Pango-$version.tar.gz
	http://zarb.org/~gc/t/SDL_Pango-$version-API-adds.patch)

build() {
	cd SDL_Pango-$version
	patch -p0 -i $SRC/SDL_Pango-$version-API-adds.patch
	./configure --prefix=/usr
	make
	make DESTDIR=$PKG install
}

Added contrib/sdl_ttf/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: TrueType library for libsdl.
# URL: http://www.libsdl.org/projects/SDL_ttf/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Simone Rota, sip at crux dot nu
# Depends on: freetype libsdl

name=sdl_ttf
version=2.0.11
release=1
source=(http://www.libsdl.org/projects/SDL_ttf/release/SDL_ttf-$version.tar.gz)

build() {
	cd SDL_ttf-$version

	./configure \
		--prefix=/usr \
		--disable-dependency-tracking

	make 
	make DESTDIR=$PKG install
}

Added contrib/setserial/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: A program that allows to view and change various attributes of a serial device
# URL: http://setserial.sourceforge.net/
# Maintainer: Mikhail Kolesnik, mike at openbunker dot org
# Depends on:

name=setserial
version=2.17
release=3
source=(http://sourceforge.net/projects/setserial/files/$name-$version.tar.gz \
		setserial-hayes.diff)

build() {
	cd $name-$version
	patch -p0 -i $SRC/setserial-hayes.diff
	./configure --prefix=/usr
	make
	/usr/bin/install -D -m 755 setserial $PKG/usr/bin/setserial
	/usr/bin/install -D -m 644 setserial.8 $PKG/usr/man/man8/setserial.8
}

Added contrib/setserial/setserial-hayes.diff.























>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
--- setserial.c.orig	2000-01-27 16:40:52.000000000 +0100
+++ setserial.c	2010-03-25 21:48:21.554872081 +0100
@@ -24,6 +24,8 @@
 #endif
 #include <linux/serial.h>
 
+#undef TIOCGHAYESESP
+
 #include "version.h"
 
 static char version_str[] = "setserial version " SETSERIAL_VERSION ", "

Added contrib/setuptools/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: A collection of enhancements to the Python distutils.
# URL: http://peak.telecommunity.com/DevCenter/setuptools
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: James Mills, prologic at shortcircuit dot net dot au
# Depends on: python

name=setuptools
version=0.6c11
release=1
source=(http://pypi.python.org/packages/source/s/$name/$name-$version.tar.gz)

build() {
	local PYTHONVERSION=`python -c "import sys; print \"%s.%s\" % (sys.version_info[0], sys.version_info[1]);"`
	cd $name-$version
	python setup.py install --root=$PKG

	echo "/usr/lib/python$PYTHONVERSION/site-packages/setuptools-$version-py$PYTHONVERSION.egg" > \
		$PKG/usr/lib/python$PYTHONVERSION/site-packages/setuptools.pth
}

Added contrib/sgmixer/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: A simple GTK2 audio mixer
# URL: http://sgmixer.openfmi.net
# Maintainer: Jose V Beneyto, sepen at users dot sourceforge dot net
# Packager: Jose V Beneyto, sepen at users dot sourceforge dot net
# Depends on: gtk

name=sgmixer
version=0.3
release=2
source=(http://openfmi.net/frs/download.php/1/$name-$version.tar.gz)

build() {
  cd $name-$version
  ./configure --prefix=/usr
  make
  install -D -m 0755 src/$name $PKG/usr/bin/$name
}

Added contrib/shntool/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Multi-purpose WAVE data processing and reporting utility
# URL: http://www.etree.org/shnutils/shntool/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Han Boetes, han at mijncomputer dot nl
# Depends on:

name=shntool
version=3.0.10
release=1
source=(http://www.etree.org/shnutils/shntool/dist/src/$name-$version.tar.gz)

build() {
  cd $name-$version
  ./configure --prefix=/usr \
              --mandir=/usr/man
  make
  make DESTDIR=$PKG install
}

Added contrib/shorten/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: fast, low complexity waveform coder (lossless audio compressor)
# URL: http://www.etree.org/shnutils/shorten/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Ricardo Oliveira, crux at roliveira dot eu
# Depends on:

name=shorten
version=3.6.1
release=1
source=(http://etree.org/shnutils/$name/dist/src/$name-$version.tar.gz)

build() {
  cd $name-$version
  ./configure --prefix=/usr \
              --mandir=/usr/man \
              --disable-nls

  make
  make DESTDIR=$PKG install
}

Added contrib/skipfish/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description: web application security scanner
# URL:         http://code.google.com/p/skipfish/
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Depends on:   

name=skipfish
version=2.05b
release=1
source=(http://skipfish.googlecode.com/files/$name-$version.tgz)

build() {
  cd $name-$version
  sed -i -e 's|assets/|/usr/share/skipfish/assets/|g' *.c
  make
  install -m 755 -d $PKG/usr/share/skipfish/assets
  rm assets/COPYING
  install -m 644 assets/* $PKG/usr/share/skipfish/assets
  install -m 755 -d $PKG/usr/share/skipfish/dictionaries
  rm dictionaries/README-FIRST
  install -m 644 dictionaries/* $PKG/usr/share/skipfish/dictionaries
  install -m 755 -D skipfish $PKG/usr/bin/skipfish
}

Added contrib/skype/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description: P2P VoIP software which supports end-to-end encryption.
# URL: http://www.skype.com/products/skype/linux/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: sten, nick dot steeves at shaw dot ca
# Depends on: qt4 alsa-lib libsigc++ xorg-libxscrnsaver

name=skype
version=2.1.0.81
release=1
source=(http://download.skype.com/linux/skype-$version.tar.bz2)

build() {
	cd skype-$version
	install -d $PKG/usr/share/skype
	install -D -m 0755 skype $PKG/usr/bin/skype
	cp -R sounds $PKG/usr/share/skype
	install -D -m 0644 icons/SkypeBlue_16x16.png $PKG/usr/share/icons/hicolor/16x16/apps/skype.png
	install -D -m 0644 icons/SkypeBlue_32x32.png $PKG/usr/share/icons/hicolor/32x32/apps/skype.png
	install -D -m 0644 icons/SkypeBlue_48x48.png $PKG/usr/share/icons/hicolor/48x48/apps/skype.png
	install -D -m 0644 skype.desktop $PKG/usr/share/applications/skype.desktop
}

Added contrib/slim-themes/Pkgfile.

































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# Description: SLiM Themes
# URL: http://slim.berlios.de/themes01.php
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Jose V Beneyto, sepen at crux dot nu
# Depends on: slim

name=slim-themes
version=1.3.1
release=1
source=(http://download.berlios.de/slim/slim-gentoo-simple.tar.bz2 \
        http://download.berlios.de/slim/slim-archlinux-simple.tar.gz \
        http://download.berlios.de/slim/slim-debian-moreblue.tar.bz2 \
        http://download.berlios.de/slim/slim-fingerprint.tar.gz \
        http://download.berlios.de/slim/slim-flat.tar.gz \
        http://download.berlios.de/slim/slim-previous.tar.gz \
        http://download.berlios.de/slim/slim-lake.tar.gz \
        http://download.berlios.de/slim/slim-rainbow.tar.gz \
        http://download.berlios.de/slim/slim-rear-window.tar.gz \
        http://download.berlios.de/slim/slim-scotland-road.tar.gz \
        http://download.berlios.de/slim/slim-subway.tar.gz \
        http://download.berlios.de/slim/slim-wave.tar.gz \
        http://download.berlios.de/slim/slim-lunar-0.4.tar.bz2 \
        http://download.berlios.de/slim/slim-zenwalk.tar.gz \
        http://download.berlios.de/slim/slim-parallel-dimensions.tar.gz \
        http://download.berlios.de/slim/slim-capernoited.tar.gz \
        http://download.berlios.de/slim/slim-mindlock.tar.gz \
        http://download.berlios.de/slim/slim-flower2.tar.gz)

build() {
  install -d $PKG/usr/share/slim/themes
  mv $SRC/* $PKG/usr/share/slim/themes
}

Added contrib/slurm/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: A network load monitor
# URL: http://www.wormulon.net/projects/slurm
# Maintainer: Rene Lengwinat, rugek at dirtyhack dot net
# Depends on: ncurses

name=slurm
version=0.3.3
release=1
source=(http://www.wormulon.net/files/slurm/slurm-$version.tar.gz)

build () {
  cd $name-$version
  ./configure --prefix=/usr
  make
  make DESTDIR=$PKG install
}

Added contrib/smpeg/Pkgfile.



































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# Description: A SDL MPEG player library.
# URL: http://www.lokigames.com/development/smpeg.php3
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Matt Housh, jaeger at crux dot nu
# Depends on: libsdl

name=smpeg
version=0.4.4
release=3
source=(http://gentoo.osuosl.org/distfiles/smpeg-$version.tar.gz
	smpeg-mpegaudiosdl.patch
	smpeg-0.4.4_m4.patch)

build() {
	cd smpeg-$version

	patch -p 1 -i $SRC/smpeg-mpegaudiosdl.patch
	patch -p 1 -i $SRC/smpeg-0.4.4_m4.patch


	./configure \
		--prefix=/usr \
		--disable-static \
		--enable-gtk-player=no

	sed -i -e 's|\(libsmpeg_la_LDFLAGS = .*\)|\1 -lstdc++|' Makefile

	make
	make install DESTDIR=$PKG

	rm $PKG/usr/man/man1/gtv.1
}

Added contrib/smpeg/smpeg-0.4.4_m4.patch.

























>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
diff -pruN smpeg-0.4.4.orig/smpeg.m4 smpeg-0.4.4/smpeg.m4
--- smpeg-0.4.4.orig/smpeg.m4	2008-08-07 22:45:31.086141377 +1000
+++ smpeg-0.4.4/smpeg.m4	2008-08-07 22:49:53.350144919 +1000
@@ -10,7 +10,7 @@ dnl AM_PATH_SMPEG([MINIMUM-VERSION, [ACT
 ACTION-IF-NOT-FOUND]]])
 dnl Test for SMPEG, and define SMPEG_CFLAGS and SMPEG_LIBS
 dnl
-AC_DEFUN(AM_PATH_SMPEG,
+AC_DEFUN([AM_PATH_SMPEG],
 [dnl
 dnl Get the cflags and libraries from the smpeg-config script
 dnl

Added contrib/smpeg/smpeg-mpegaudiosdl.patch.





























>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
--- smpeg-0.4.4/MPEGaudio.h.orig	2006-01-15 16:17:56.356444000 +0100
+++ smpeg-0.4.4/MPEGaudio.h	2006-01-15 16:18:36.686965250 +0100
@@ -148,6 +148,11 @@
   char buffer[2*WINDOWSIZE];
 };
 
+void Play_MPEGaudioSDL(void *udata, Uint8 *stream, int len);
+#ifdef THREADED_AUDIO
+int Decode_MPEGaudio(void *udata);
+#endif
+
 /* The actual MPEG audio class */
 class MPEGaudio : public MPEGerror, public MPEGaudioaction {
 

Added contrib/smplayer/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description:	Mplayer frontend
# URL:		http://smplayer.sourceforge.net/
# Maintainer:	Alan Mizrahi, alan at mizrahi dot com dot ve
# Depends on:	mplayer, qt4

name=smplayer
version=0.6.9
release=1
source=(http://prdownloads.sf.net/$name/$name-$version.tar.bz2 smplayer-0.6.7-install.patch smplayer-nodebug.diff)

build() {
	cd $name-$version
	patch -p1 -i $SRC/smplayer-0.6.7-install.patch
	patch -p1 -i $SRC/smplayer-nodebug.diff
	PATH="/usr/share/qt4/bin:$PATH" make DESTDIR=$PKG PREFIX=/usr install
}

Added contrib/smplayer/smplayer-0.6.7-install.patch.



























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
--- smplayer-0.6.7/Makefile.orig	2009-06-05 16:36:20.686805553 +0900
+++ smplayer-0.6.7/Makefile	2009-06-05 16:37:34.781961061 +0900
@@ -57,13 +57,6 @@
 	install -m 755 src/smplayer $(DESTDIR)$(PREFIX)/bin/
 	-install -d $(DESTDIR)$(DATA_PATH)
 	install -m 644 src/input.conf $(DESTDIR)$(DATA_PATH)
-	-install -d $(DESTDIR)$(TRANSLATION_PATH)
-	install -m 644 src/translations/*.qm $(DESTDIR)$(TRANSLATION_PATH)
-	-install -d $(DESTDIR)$(DOC_PATH)
-	install -m 644 Changelog *.txt $(DESTDIR)$(DOC_PATH)
-
-	-install -d $(DESTDIR)$(DOC_PATH)
-	tar -C docs/ --exclude=.svn -c -f - . | tar -C $(DESTDIR)$(DOC_PATH) -x -f -
 
 	-install -d $(DESTDIR)$(SHORTCUTS_PATH)
 	cp src/shortcuts/* $(DESTDIR)$(SHORTCUTS_PATH)
@@ -79,9 +72,9 @@
 	-install -d $(DESTDIR)$(KDE_APPLNK)
 	install -m 644 smplayer.desktop $(DESTDIR)$(KDE_APPLNK)
 	install -m 644 smplayer_enqueue.desktop $(DESTDIR)$(KDE_APPLNK)
-	-install -d $(DESTDIR)$(PREFIX)/share/man/man1/
-	install -m 644 man/smplayer.1 $(DESTDIR)$(PREFIX)/share/man/man1/
-	gzip -9 -f $(DESTDIR)$(PREFIX)/share/man/man1/smplayer.1
+	-install -d $(DESTDIR)$(PREFIX)/man/man1/
+	install -m 644 man/smplayer.1 $(DESTDIR)$(PREFIX)/man/man1/
+	gzip -9 -f $(DESTDIR)$(PREFIX)/man/man1/smplayer.1
 
 uninstall:
 	-rm -f $(PREFIX)/bin/smplayer

Added contrib/smplayer/smplayer-nodebug.diff.























>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
--- smplayer-0.6.7/src/smplayer.pro.orig	2009-06-05 17:13:34.887837675 +0900
+++ smplayer-0.6.7/src/smplayer.pro	2009-06-05 17:14:08.550799631 +0900
@@ -278,7 +278,7 @@
 	DEFINES += TRANSLATION_PATH=$(TRANSLATION_PATH)
 	DEFINES += THEMES_PATH=$(THEMES_PATH)
 	DEFINES += SHORTCUTS_PATH=$(SHORTCUTS_PATH)
-	#DEFINES += NO_DEBUG_ON_CONSOLE
+	DEFINES += NO_DEBUG_ON_CONSOLE
 
 	#DEFINES += KDE_SUPPORT
 	#INCLUDEPATH += /opt/kde3/include/

Added contrib/snownews/Makefile.patch.



















































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
--- Makefile.old	2008-04-14 00:46:54.000000000 +0200
+++ Makefile	2008-04-14 00:47:16.000000000 +0200
@@ -2,7 +2,7 @@ CC=         gcc
 MAKE=       make
 INSTALL=    install
 LOCALEPATH= $(PREFIX)/share/locale
-MANPATH=    $(PREFIX)/share/man
+MANPATH=    $(PREFIX)/man
 
 ### Compiler/linker flags   ###
 ### Generated via configure ###
@@ -46,14 +46,9 @@ manpages:
 	cat $(MAN)/snownews.1.in | sed s#PREFIX#$(PREFIX)# | \
 	sed s/VERSION/$(VERSION)/ > $(MAN)/snownews.1
 	
-	for L in $(LANGS); do \
-		cat $(MAN)/$$L/snownews.1.$$L.in | sed s#PREFIX#$(PREFIX)# | \
-		sed s/VERSION/$(VERSION)/ > $(MAN)/$$L/snownews.1; \
-	done
-
 ### Install ###
 
-install: install-bin install-locales install-man
+install: install-bin install-man
 	@echo ""
 
 install-bin: snownews
@@ -82,13 +77,6 @@ install-man: manpages
 	$(INSTALL) -m 0644 $(MAN)/snownews.1 $(DESTDIR)$(MANPATH)/man1
 	$(INSTALL) -m 0644 $(MAN)/opml2snow.1 $(DESTDIR)$(MANPATH)/man1
 	
-	for L in $(LANGS); do \
-		if [ ! -d "$(DESTDIR)$(MANPATH)/$$L/man1" ]; then \
-			mkdir -p $(DESTDIR)$(MANPATH)/$$L/man1; \
-		fi; \
-		$(INSTALL) -m 0644 $(MAN)/$$L/snownews.1 $(DESTDIR)$(MANPATH)/$$L/man1; \
-	done
-
 ### Cleanup ###
 
 clean: clean-bin clean-locales clean-man

Added contrib/snownews/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: Text mode RSS newsreader for Linux and Unix.
# URL: http://kiza.kcore.de/software/snownews/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: James Mills, prologic at shortcircuit dot net dot au
# Depends on: libxml2 gettext perl

name=snownews
version=1.5.12
release=1
source=(http://kiza.kcore.de/software/$name/download/$name-$version.tar.gz \
        Makefile.patch)

build() {
  cd $name-$version
  patch -p0 -i $SRC/Makefile.patch
  ./configure --prefix=/usr \
              --disable-nls
  make
  make DESTDIR=$PKG install
}

Added contrib/sntop/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: Curses based tool to monitor connectivity of network hosts.
# URL:         http://sntop.sourceforge.net/
# Packager:    James Mills, prologic at shortcircuit dot net dot au
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Depends on:  fping

name=sntop
version=1.4.3
release=1
source=(http://download.sourceforge.net/$name/$name-$version.tar.gz)

build () {
   cd $name-$version
   ./configure --prefix=/usr
   sed -i "/^CFLAGS/s/-O2 -pipe/$CFLAGS/" Makefile
   make 
   mkdir -p $PKG/usr/{bin,man/man1,etc}
   make prefix=$PKG/usr install
}

Added contrib/sox/Pkgfile.



























































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# Description: Audio conversion tools, (c) copyright Lance Norskog.
# URL: http://sox.sourceforge.net/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Martin Opel, mo at obbl-net dot de
# Depends on: ffmpeg ladspa libmad libsamplerate wavpack

name=sox
version=14.4.0
release=1
source=(http://downloads.sourceforge.net/project/$name/$name/$version/$name-$version.tar.bz2)

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--mandir=$PKG/usr/man \
		--disable-static \
		--disable-dependency-tracking \
		--enable-dl-mad \
		--enable-dl-lame \
		--enable-dl-amrwb \
		--enable-dl-amrnb \
		--enable-dl-sndfile \
		--with-dyn-default \
		--with-distro=CRUX \
		--with-oggvorbis=dyn \
		--with-flac=dyn \
		--with-amrwb=dyn \
		--with-amrnb=dyn \
		--with-wavpack=dyn \
		--with-alsa=dyn \
		--with-sndfile=dyn \
		--with-ffmpeg=dyn \
		--with-mp3=dyn \
		--with-gsm=dyn \
		--with-lpc10=dyn
		
	make
	make prefix=$PKG/usr install

	pushd $PKG/usr/bin
	ln -s sox $PKG/usr/bin/soxmix
	popd
}

Added contrib/spamassassin/Pkgfile.































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# Description: SpamAssassin(tm) is a mail filter to identify spam.
# URL:         http://www.spamassassin.org
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    Victor victord at users dot berlios dot de
# Depends on:  p5-digest-sha1, p5-net-dns, p5-lwp, p5-netaddr-ip, gnupg

name=spamassassin
version=3.3.2
release=1
source=(http://apache.osuosl.org/spamassassin/Mail-SpamAssassin-$version.tar.bz2 \
   $name.rc)

build() {
   cd Mail-SpamAssassin-$version
   perl Makefile.PL PREFIX=/usr CONFDIR=/etc/$name DESTDIR=$PKG \
   LOCALSTATEDIR=/usr/share/$name < /dev/null
   make
   make spamc/libspamc.so
   make install 

   mkdir -p $PKG/{etc/rc.d,usr/include,usr/lib}
   install -m0755 ../$name.rc $PKG/etc/rc.d/$name
   install -m0644 spamc/libspamc.so $PKG/usr/lib
   install -m0644 spamc/libspamc.h $PKG/usr/include/libspamc.h

   chmod 0644 $PKG/usr/share/$name/*
   chmod -R u+w $PKG/*

   rm -fr $PKG/usr/lib/perl5/{5.*,site_perl/5.*/linux}

}

Added contrib/spamassassin/README.





























>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
POST-INSTALL:

Rules are no longer included with SpamAssassin "out of the box".  You will
need to immediately run "sa-update", or download the additional rules .tgz
package and run "sa-update --install" with it, to get a ruleset.

Be careful to run sa-update before calling /etc/rc.d/spamassassin. Otherwise
you may receive this error:

child process [1101] exited or timed out without signaling production of a PID
file: exit 255 at /usr/bin/spamd line 2588.

in this case remove the /tmp/spamd-*-init directories, run sa-update and only
after that start spamassassin. 

Added contrib/spamassassin/spamassassin.rc.





































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#!/bin/sh
######################################################################
# spamassassin: This script starts and stops the spamd daemon
#  description: spamd is a daemon process which uses SpamAssassin
#               to check email messages for SPAM. It is normally
#               called by spamc from a MDA.
######################################################################

daemon="/usr/bin/spamd"
options="-d -c -m5 -H"

######################################################################
# Start/Stop/Reload/Status Functions
######################################################################
start() {
        $daemon $options
        return $?
}
stop() {
        pkill -x ${daemon##*/}
        return $?
}
reload() {
        pkill -HUP -x ${daemon##*/}
        return $?
}
status() {
        base=${daemon##*/}
        dpid=`pidof -o $$ -o $PPID -o %PPID -x ${base}`
        if [ "$dpid" != "" ]; then
           echo "${base} (pid $dpid) is running..."
        elif [ -s /var/run/${base}.pid ]; then
           echo "${base} is dead but pid file exists..."
        else
           echo "${base} is stopped."
        fi
        return
}
######################################################################
# See how we were called
######################################################################
case "$1" in
       start) start      ;;
        stop) stop       ;;
      reload) reload     ;;
     restart) stop;start ;;
      status) status     ;;
           *) echo "Usage: $0 {start|stop|reload|restart|status}" ; exit 1
esac
exit $?

Added contrib/speex/Pkgfile.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Description: A free codec library for speech.
# URL: http://www.speex.org/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Younes Hafri ycrux at club-internet dot fr
# Depends on: libogg

name=speex
version=1.2rc1
release=1
source=(http://downloads.us.xiph.org/releases/$name/$name-$version.tar.gz)

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--mandir=$PKG/usr/man \
		--disable-static \
		--enable-epic-48k

	sed -i -e "/^SUBDIRS = /s/doc //" Makefile
	make
	make prefix=$PKG/usr install
}

Added contrib/squashfs-tools/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: SquashFS tools
# URL: http://squashfs.sourceforge.net/
# Maintainer: Matt Housh, jaeger at morpheus dot net
# Depends on: xz
 
name=squashfs-tools
version=4.2
release=2
source=(http://download.sourceforge.net/squashfs/squashfs${version}.tar.gz)

build() {
	cd squashfs${version}/$name
	sed -i -e 's/^#\(XZ_SUPPORT = 1\)/\1/' Makefile
	make
	install -D -m 0755 mksquashfs ${PKG}/sbin/mksquashfs
	install -D -m 0755 unsquashfs ${PKG}/sbin/unsquashfs
}

Added contrib/squirrelmail/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description: PHP based webmail client
# URL: http://squirrelmail.org
# Maintainer: Lucas Hazel, lucas at die dot net au
# Depends on: php

name=squirrelmail
version=1.4.19
release=1
source=(http://prdownloads.sf.net/$name/$name-$version.tar.gz)

build() {
    cd $name-$version
    mkdir -p $PKG/var/www/htdocs/$name
    find . -maxdepth 0 -type d -exec cp -r {} $PKG/var/www/htdocs/$name \;
    cp index.php $PKG/var/www/htdocs/$name
    find $PKG/var/www/htdocs/$name \
	-name 'README*' \
	-o -name 'ChangeLog' \
	-o -name AUTHORS -o -name COPYING -o -name INSTALL \
	| xargs rm
    rm -rf $PKG/var/www/htdocs/$name/doc
}

Added contrib/sshdfilter/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description:	ssh brute force attack blocker
# URL:		http://www.csc.liv.ac.uk/~greg/sshdfilter/
# Maintainer:	Alan Mizrahi, alan at mizrahi dot com dot ve
# Depends on:	openssh, iptables, perl

name=sshdfilter
version=1.5.5
release=1
source=(http://www.csc.liv.ac.uk/~greg/sshdfilter-$version.tar.gz sshdfilter)

build () {
	cd $name-$version
	mkdir -p $PKG/etc
	cat etc/sshdfilterrc patterns/rhFC30.partconf > $PKG/etc/sshdfilterrc
	install -m 755 -o root -g root -D source/sshdfilter.pl $PKG/usr/sbin/sshdfilter
	install -m 755 -o root -g root -D $SRC/sshdfilter $PKG/etc/rc.d/sshdfilter
	install -m 644 -o root -g root -D man/sshdfilter.1 $PKG/usr/man/man1/sshdfilter.1
	install -m 644 -o root -g root -D man/sshdfilterrc.5 $PKG/usr/man/man5/sshdfilterrc.5
}

Added contrib/sshdfilter/README.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
REQUIREMENTS

PRE-INSTALL

	* This port depends on having netfilter enabled in the kernel

POST-INSTALL

	* Add the SSHD chain to your firewall setup:
	iptables -N SSHD

	* Add a jump to SSHD rule:
	iptables -A INPUT -p tcp -m tcp --dport 22 -j SSHD

	* Store your new iptables rules somewhere persistent

	* To start sshd with filtering, use /etc/rc.d/sshdfilter instead of
	  /etc/rc.d/sshd

PRECAUTION

Added contrib/sshdfilter/sshdfilter.











































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/bin/sh
#
# /etc/rc.d/sshd: start/stop ssh daemon with filtering enabled
#

case $1 in
start)
	if [ ! -f /etc/ssh/ssh_host_key ]; then
		/usr/bin/ssh-keygen -t rsa1 -N "" -f /etc/ssh/ssh_host_key > /dev/null
	fi
	if [ ! -f /etc/ssh/ssh_host_rsa_key ]; then
		/usr/bin/ssh-keygen -t rsa -N "" -f /etc/ssh/ssh_host_rsa_key > /dev/null
	fi
	if [ ! -f /etc/ssh/ssh_host_dsa_key ]; then
		/usr/bin/ssh-keygen -t dsa -N "" -f /etc/ssh/ssh_host_dsa_key > /dev/null
	fi
	/usr/sbin/sshdfilter
	;;
stop)
	if [ -f /var/run/sshd.pid ]; then
		kill `cat /var/run/sshd.pid`
		rm -f /var/run/ssh.pid
	else
		killall -q /usr/sbin/sshd
	fi
	;;
restart)
	$0 stop
	sleep 2
	$0 start
	;;
*)
	echo "usage: $0 [start|stop|restart]"
	;;
esac

# End of file

Added contrib/sslh/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: accept both HTTPS and SSH connections on the same port
# URL:         http://www.rutschle.net/tech/sslh.shtml
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Depends on: 

name=sslh
version=1.10
release=1
source=(http://www.rutschle.net/tech/$name-${version}.tar.gz sslh.rc)

build () {
  install -D -m 0755 $name.rc $PKG/etc/rc.d/$name
  cd $name-${version}
  make
  install -D -m 0644 $name.8.gz $PKG/usr/man/man8/$name.8.gz
  install -D -m 0755 $name-select $PKG/usr/sbin/$name
}

Added contrib/sslh/sslh.rc.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/bin/sh
#
# /etc/rc.d/sslh: start/stop sslh daemon
#

case $1 in
start)
  /usr/sbin/sslh 
  ;;
stop)
  killall -q /usr/sbin/sslh
  ;;
restart)
  $0 stop
  sleep 2
  $0 start
  ;;
*)
  echo "usage: $0 [start|stop|restart]"
  ;;
esac

# End of file

Added contrib/streamripper/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: record streaming mp3 to your hard drive
# URL:         http://streamripper.sourceforge.net/
# Maintainer:  Bartlomiej Palmowski, rotwang at crux dot org dot pl
# Depends on:  glib libmad 
# Nice2have:   faad2 libogg libvorbis

name=streamripper
version=1.64.6
release=1
source=(http://prdownload.sourceforge.net/$name/$name%20\(current\)/$version/$name-$version.tar.gz)

build() {
    cd $name-$version
    ./configure --prefix=/usr --mandir=/usr/man
    make
    make DESTDIR=$PKG install
}

Added contrib/streamtuner2/Pkgfile.

























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# Description: An internet radio browser.
# URL: http://web135.srv3.sysproserver.de/milki.erphesfurt.de./streamtuner2/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com
# Depends on: pyxdg pygtk lxml pyquery pil

name=streamtuner2
version=2.0.8
release=2
source=(http://downloads.sourceforge.net/project/$name/$name-$version.src.tgz)

build() {
	cd $name

	python -mcompileall $SRC

	install -d \
		$PKG/usr/share/$name \
		$PKG/usr/bin \
		$PKG/usr/share/applications \
		$PKG/usr/share/icons/hicolor/375x90/apps

	cp -r * $PKG/usr/share/$name/

	mv $PKG/usr/share/$name/st2.py $PKG/usr/bin/st2
	mv $PKG/usr/share/$name/streamtuner2.desktop $PKG/usr/share/applications/
	rm $PKG/usr/share/streamtuner2/README
}

Added contrib/subversion-perl/Pkgfile.





























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# Description: Perl bindings for subversion
# URL: http://subversion.tigris.org
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Johannes Winkelmann, jw at tks6 dot net
# Depends on: subversion swig

name=subversion-perl
version=1.7.4
release=1
source=(http://subversion.tigris.org/tarballs/subversion-$version.tar.bz2)

build() {
  P5VERSION="$(pkginfo -i | grep '^perl ' | cut -d' ' -f2 | cut -d'-' -f1)"
  
  cd subversion-$version
  
  LDFLAGS="-L$PKG/usr/lib" \
    ./configure --prefix=/usr \
                --disable-nls \
                --with-neon=/usr \
                --disable-mod-activation \
                --with-apr=/usr \
                --with-apr-util=/usr
  
  make DESTDIR=$PKG install-swig-pl-lib install-swig-pl
 
  rm -rf $PKG/usr/lib/perl5/$P5VERSION \
    $PKG/usr/lib/perl5/site_perl/$P5VERSION/linux/auto/SVN/_Core/.packlist \
    $(find $PKG -type f -size 0)
}

Added contrib/subversion-python/Pkgfile.



































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# Description: Python bindings for subversion
# URL: http://subversion.tigris.org
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Johannes Winkelmann, jw at tks6 dot net
# Depends on: subversion swig

name=subversion-python
version=1.7.4
release=1
source=(http://subversion.tigris.org/tarballs/subversion-$version.tar.bz2)

PYTHONVERSION=`python -c "import sys; print \"%s.%s\" % (sys.version_info[0], sys.version_info[1]);"`

build() {
  cd subversion-$version
  
  LDFLAGS="-L$PKG/usr/lib" \
    ./configure --prefix=/usr \
                --disable-nls \
                --with-neon=/usr \
                --disable-mod-activation \
                --with-apr=/usr \
                --with-apr-util=/usr

  make DESTDIR=$PKG install-swig-py-lib install-swig-py
  
  install -d $PKG/usr/lib/python$PYTHONVERSION/site-packages
  
  mv $PKG/usr/lib/svn-python/{svn,libsvn} \
    $PKG/usr/lib/python$PYTHONVERSION/site-packages
    
  rm -r $PKG/usr/lib/svn-python
}

Added contrib/sunbird/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: Cross-platform calendar application built upon Mozilla Toolkit.
# URL: http://www.mozilla.org/projects/calendar/sunbird/
# Maintainer: Jose V Beneyto, sepen at users dot sourceforge dot net
# Depends on: gtk

name=sunbird
version=0.9
release=1
source=(http://ftp.twaren.net/Unix/Mozilla/calendar/sunbird/releases/$version/linux-i686/en-US/$name-$version.en-US.linux-i686.tar.gz)

build() {
  install -d $PKG/usr/{lib,bin}
  rm $SRC/$name/{README.txt,LICENSE}
  mv $SRC/$name $PKG/usr/lib
  ln -s /usr/lib/$name/$name $PKG/usr/bin/$name
}

Added contrib/svn2cl/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: Script and XSL stylesheet to convert svn logs to ChangeLog.
# URL: http://ch.tudelft.nl/~artur/svn2cl/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: James Mills, prologic at shortcircuit dot net dot au
# Depends on: subversion libxslt

name=svn2cl
version=0.12
release=1
source=(http://arthurdejong.org/$name/$name-$version.tar.gz \
        $name)

build() {
  install -d $PKG/usr/{bin,man/man1,share/$name}
  install -m 0644 $name-$version/$name.1 $PKG/usr/man/man1
  install -m 0644 $name-$version/*.{xsl,css} $PKG/usr/share/$name
  install -m 0755 $name-$version/$name.sh $PKG/usr/share/$name
  install -m 0755 $SRC/$name $PKG/usr/bin
}

Added contrib/svn2cl/svn2cl.











>
>
>
>
>
1
2
3
4
5
#!/bin/sh

/usr/share/svn2cl/svn2cl.sh $@

# End of file

Added contrib/swfdec/Pkgfile.





































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# Description: Flash Rendering Library.
# URL: http://swfdec.freedesktop.org/wiki/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Stefan Lohmaier, noneus at noneus dot de
# Depends on: gtk libdca libmad libsoup gst-plugins-base gst-ffmpeg
# Optional: gthread freetype libxml2 libpng gnutls

name=swfdec
version=0.8.4
release=1
source=(http://swfdec.freedesktop.org/download/$name/${version%.*}/$name-$version.tar.gz)

build() {
	cd $name-$version

	# yet another program that --disable-gtk-doc dosn't work
	sed -i Makefile.in -e '/^@WITH_GTK_TRUE@	doc \\/d'
	
	./configure \
		--prefix=/usr \
		--disable-static \
		--disable-gtk-doc \
		--disable-vivified \
		--enable-gtk \
		--enable-mad \
		--enable-ffmpeg \
		--enable-gstreamer \
		--enable-soup \
		--with-audio=alsa

	make
	make DESTDIR=$PKG install
	chmod a-x $PKG/usr/lib/*.so
}

Added contrib/syslog-ng/Pkgfile.





























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# Description: alternate syslogging daemon
# URL:         http://www.balabit.com/network-security/syslog-ng/opensource-logging-system
# Maintainer:  Thomas Penteker, tek at serverop dot de
#
# Depends on:  eventlog

name=syslog-ng
version=3.3.4
release=1
source=(http://balabit.com/downloads/files/syslog-ng/sources/$version/source/${name}_${version}.tar.gz
syslog-ng.rc syslog-ng.conf)

build() {
   cd $name-$version

   ./configure \
      --prefix=/usr \
      --sysconfdir=/etc \
      --libexecdir=/var/libexec \
      --localstatedir=/var \
      --mandir=/usr/man \
      --enable-dynamic-linking


   make && make DESTDIR=$PKG install
   rm -rf $PKG/usr/doc
   rm -rf $PKG/usr/share/include/scl/syslogconf/README
   install -D -m 644 ../syslog-ng.conf $PKG/etc/syslog-ng.conf
   install -D -m 755 ../syslog-ng.rc $PKG/etc/rc.d/syslog-ng
}

Added contrib/syslog-ng/README.











>
>
>
>
>
1
2
3
4
5
PRECAUTION

syslog-ng currently is configured to use /etc/syslog-ng.conf as its default
configuration file. Change as you like in /etc/rc.d/syslog-ng.

Added contrib/syslog-ng/syslog-ng.conf.













































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
@version: 3.0
#
# /etc/syslog-ng: syslog-ng(8) configration file, based on a gentoo template
# use logger to test new rules:
# logger -p daemon.crit testmessage
# use loggen to produce log messages remotely


# on busy systems you may have to adjus flush_lines and suppress() to avoid
# heavy disc i/o
# to change default permissions/owner/group for newly created files add 
# options like this: owner(root); group(sys); perm(0644);

options { chain_hostnames(off); flush_lines(0); stats_freq(0); create_dirs(on); };

#source where to read log
source src { unix-stream("/dev/log"); internal(); };
source kernsrc { file("/proc/kmsg"); };

#define templates
template t_debug { template("$DATE fac $FACILITY lvl $LEVEL prg $PROGRAM: $MSG\n"); };

#define destinations
destination authlog { file("/var/log/auth.log" suppress(5)); };
destination sudo { file("/var/log/sudo.log" suppress(5)); };
destination cron { file("/var/log/cron.log" suppress(5)); };
destination kern { file("/var/log/kern.log" suppress(5)); };
destination mail { file("/var/log/mail.log" suppress(5)); };

destination mailinfo { file("/var/log/mail.info" suppress(5)); };
destination mailwarn { file("/var/log/mail.warn" suppress(5)); };
destination mailerr { file("/var/log/mail.err" suppress(5)); };

#destination newscrit { file("/var/log/news/news.crit" suppress(5)); };
#destination newserr { file("/var/log/news/news.err" suppress(5)); };
#destination newsnotice { file("/var/log/news/news.notice" suppress(5)); };

destination debug { file("/var/log/debug" template(t_debug) suppress(5)); };
destination messages { file("/var/log/messages" suppress(5)); };
destination errors { file("/var/log/error.log" suppress(5)); };
destination console { usertty("root"); };
destination console_all { file("/dev/tty12" suppress(5)); };
destination xconsole { pipe("/dev/xconsole" suppress(5)); };

#create filters
filter f_authpriv { facility(auth, authpriv); };
filter f_cron { facility(cron); };
filter f_kern { facility(kern); };
filter f_mail { facility(mail); };
#filter f_debug { not facility(auth, authpriv, mail) and not program(sudo); }; 
filter f_debug { not facility(mail) and not program(sudo); }; 
filter f_messages { level(info..warn)
        and not facility(auth, authpriv, mail) and not program(sudo); };
filter f_sudo { program(sudo); };
filter f_errors { level(err..emerg); };

filter f_emergency { level(emerg); };

filter f_info { level(info); };
filter f_notice { level(notice); };
filter f_warn { level(warn); };
filter f_crit { level(crit); };
filter f_err { level(err); };

# examples for text-matching (beware of performance issues)
#filter f_failed { match("failed"); };
#filter f_denied { match("denied"); };

#connect filter and destination
log { source(src); filter(f_authpriv); destination(authlog); };
log { source(src); filter(f_sudo); destination(sudo); };
log { source(src); filter(f_cron); destination(cron); };
log { source(kernsrc); filter(f_kern); destination(kern); };
log { source(src); filter(f_mail); destination(mail); };
log { source(src); filter(f_mail); filter(f_info); destination(mailinfo); };
log { source(src); filter(f_mail); filter(f_warn); destination(mailwarn); };
log { source(src); filter(f_mail); filter(f_err); destination(mailerr); };

#log { source(src); filter(f_debug); destination(debug); };
log { source(src); filter(f_messages); destination(messages); };
log { source(src); filter(f_errors); destination(errors); };
log { source(src); filter(f_emergency); destination(console); };

#default log
#log { source(src); destination(console_all); };

Added contrib/syslog-ng/syslog-ng.rc.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/bin/sh
#
# /etc/rc.d/syslog-ng: start/stop syslog-ng logging daemon
#

case $1 in
start)
  /usr/sbin/syslog-ng -f /etc/syslog-ng.conf -p /var/run/syslog-ng.pid
  ;;
stop)
  killall -q /usr/sbin/syslog-ng
  rm -f /var/run/syslog-ng.pid
  ;;
restart)
  $0 stop
  sleep 2
  $0 start
  ;;
*)
  echo "usage: $0 [start|stop|restart]"
  ;;
esac

Added contrib/sysstat/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: A collection of performance monitoring tools
# URL: http://perso.orange.fr/sebastien.godard/
# Maintainer: Rene Lengwinat, rugek at dirtyhack dot net
# Depends on:

name=sysstat
version=8.1.7
release=1
source=(http://perso.orange.fr/sebastien.godard/$name-$version.tar.gz)

build() {
  cd $name-$version
  ./configure --prefix=/usr

  make
  make DESTDIR=$PKG install

  rm -rf $PKG/etc/sysconfig
  rm -rf $PKG/usr/{doc,share}
}

Added contrib/tagtool/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description: Tag Tool is a program to manage the information fields in MP3 and Ogg Vorbis files.
# URL: http://tagtool.sourceforge.net/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Till Biedermann, tillbiedermann at yahoo dot de
# Depends on: libglade id3lib libvorbis p5-xml-parser

name=tagtool
version=0.12.3
release=1
source=(http://downloads.sourceforge.net/project/$name/$name/$version/$name-$version.tar.bz2)

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--disable-nls

	make
	make DESTDIR=$PKG install
	rm -r $PKG/usr/share/locale
}

Added contrib/tcc/Pkgfile.





















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# Description: Tiny C Compiler
# URL:         http://fabrice.bellard.free.fr/tcc/
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    James Mills, prologic at shortcircuit dot net dot au
# Depends on:

name=tcc
version=0.9.25
release=1
source=(http://download.savannah.nongnu.org/releases/tinycc/$name-$version.tar.bz2)

build() {
   cd $name-$version
   ./configure --prefix=/usr
   make CFLAGS="$CFLAGS"
   make prefix=$PKG/usr \
      bindir=$PKG/usr/bin \
      tccdir=$PKG/usr/lib/tcc \
      libdir=$PKG/usr/lib \
      includedir=$PKG/usr/include \
      mandir=$PKG/usr/man \
      docdir=$PKG/usr/share/tcc/doc \
      install
   chmod 644 $PKG/usr/man/man1/tcc.1
   rm -rf $PKG/usr/share
}

Added contrib/tcl/Pkgfile.







































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# Description: A portable scripting environment for Unix, Windows, and Macintosh.
# URL: http://tcl.sourceforge.net/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Sven Dahl, dahl at c64 dot org

name=tcl
version=8.5.11
release=1
source=(http://downloads.sourceforge.net/project/$name/Tcl/$version/$name$version-src.tar.gz)

build() {
	cd $name$version/unix
	CFLAGS+=' -fPIC' LDFLAGS+=' -fPIC'

	./configure --prefix=/usr
	make
	make install install-private-headers INSTALL_ROOT=$PKG

	install -d $PKG/usr/include/tcl/{generic,unix,compat}
	cp ../generic/*.h $PKG/usr/include/tcl/generic
	cp ../unix/*.h $PKG/usr/include/tcl/unix
	cp ../compat/*.h $PKG/usr/include/tcl/compat

	sed -i \
		-e "s|^TCL_BUILD_LIB_SPEC='-L.*/unix|TCL_BUILD_LIB_SPEC='-L/usr/lib|" \
		-e "s|^TCL_SRC_DIR='.*'|TCL_SRC_DIR='/usr/include/tcl'|" \
		-e "s|^TCL_BUILD_STUB_LIB_SPEC='-L.*/unix|TCL_BUILD_STUB_LIB_SPEC='-L/usr/lib|" \
		-e "s|^TCL_BUILD_STUB_LIB_PATH='.*/unix|TCL_BUILD_STUB_LIB_PATH='/usr/lib|" \
		$PKG/usr/lib/tclConfig.sh

	ln -s tclsh${version%.*} $PKG/usr/bin/tclsh
	ln -s libtcl${version%.*}.so $PKG/usr/lib/libtcl.so
	ln -s libtclstub${version%.*}.a $PKG/usr/lib/libtclstub.a
	chmod -R u+w $PKG/usr/man
}

Added contrib/teamspeak2-client/Pkgfile.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Description: TeamSpeak VoIP Client for Linux
# Maintainer: Matt Housh, jaeger at morpheus dot net
# URL: http://www.teamspeak.org/
# Depends on: libjpeg, xorg-libice, xorg-libsm, xorg-libx11, xorg-libxau, xorg-libxcb, xorg-libxdmcp, xorg-libxext

name=teamspeak2-client
version=2.0.32.60
release=1
source=(ftp://ftp.freenet.de/pub/4players/teamspeak.org/releases/ts2_client_rc2_2032.tar.bz2)

build() {
	mkdir -p $PKG/usr/lib/teamspeak2-client/sounds \
		$PKG/usr/bin $PKG/usr/share/pixmaps
	cd ts2_client_rc2_2032/setup.data/image
	sed -i -e 's|%installdir%|/usr/lib/teamspeak2-client|g' TeamSpeak
	install -m 0644 *.so* $PKG/usr/lib/teamspeak2-client/
	install -m 0755 TeamSpeak.bin TeamSpeak \
		$PKG/usr/lib/teamspeak2-client/
	ln -s /usr/lib/teamspeak2-client/TeamSpeak $PKG/usr/bin/TeamSpeak
	install -m 0644 sounds/* \
		$PKG/usr/lib/teamspeak2-client/sounds/
	install -m 0644 icon.xpm $PKG/usr/share/pixmaps/TeamSpeak.xpm
	chown -R root.root $PKG
}

Added contrib/teeworlds/Pkgfile.



































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# Description: retro multiplayer shooter
# URL:         http://www.teeworlds.com/
# Maintainer:  Bartlomiej Palmowski, rotwang at crux dot org dot pl
# Depends on:  alsa-lib python libsdl

name=teeworlds
version=0.5.2
_bamver=0.2.0
release=2
source=(
    http://www.$name.com/files/$name-$version-src.tar.gz
    http://www.$name.com/files/bam-$_bamver.tar.gz
    gui_tee.png $name.desktop $name.bash ${name}_srv.bash)

build() {
    mkdir -p $PKG/usr/share/$name
    # build bam
    cd bam-$_bamver
    ./make_unix.sh $CFLAGS
    # build teeworlds
    cd $SRC/$name-$version-src
    # everytime developer chooses bam for his project, god kills a kitten
    sed -i "/settings\.cc\.flags:Add(\"-Wall\", \"-fno-exceptions\")/s|)|, \"$CFLAGS\" )|" default.bam
    ../bam-$_bamver/src/bam server_release client_release
    install -m 0755 $name ${name}_srv $PKG/usr/share/$name
    cp -r data $PKG/usr/share/$name

    cd $SRC
    install -D -m 0644 $name.desktop $PKG/usr/share/applications/$name.desktop
    install -D -m 0644 gui_tee.png $PKG/usr/share/pixmaps/gui_tee.png
    install -D -m 0755 $name.bash $PKG/usr/bin/$name
    install -m 0755 ${name}_srv.bash $PKG/usr/bin/${name}_srv
}

Added contrib/teeworlds/gui_tee.png.

cannot compute difference between binary files

Added contrib/teeworlds/teeworlds.bash.











>
>
>
>
>
1
2
3
4
5
#!/bin/bash

cd /usr/share/teeworlds
exec ./teeworlds $*

Added contrib/teeworlds/teeworlds.desktop.





















>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
[Desktop Entry]
Name=TeeWorlds
Comment=multiplayer 2D shooter
Exec=teeworlds
Icon=/usr/share/pixmaps/gui_tee.png
Terminal=false
StartupNotify=false
Categories=Game;
Type=Application

Added contrib/teeworlds/teeworlds_srv.bash.











>
>
>
>
>
1
2
3
4
5
#!/bin/bash

cd /usr/share/teeworlds
exec ./teeworlds_srv $*

Added contrib/testdisk/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description: Recover lost partitions and files. 
# URL: http://www.cgsecurity.org/wiki/TestDisk
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Hannes Mayer, kontakt at ecarux dot de
# Depends on: ntfs-3g_ntfsprogs libjpeg

name=testdisk
version=6.13
release=1
source=(http://www.cgsecurity.org/$name-$version.tar.bz2)

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--mandir=/usr/man

	make 
	make DESTDIR=$PKG install
	rm -r $PKG/usr/share
}

Added contrib/tftp-hpa/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: An enhanced version of the BSD tftp client/server
# URL: http://freshmeat.net/projects/tftp-hpa/
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager: Matt Housh, jaeger at morpheus dot net

name=tftp-hpa
version=5.2
release=1
source=(http://www.kernel.org/pub/software/network/tftp/tftp-hpa/$name-$version.tar.xz)

build () {
  cd $name-$version
  ./configure --prefix=/usr \
              --mandir=/usr/man
  make
  make INSTALLROOT=$PKG install
}

Added contrib/thttpd/Pkgfile.

































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# Description: Tiny/Turbo/Throttling HTTP Server.
# URL:         http://www.acme.com/software/thttpd/thttpd.html
# Packager:    James Mills, prologic at shortcircuit dot net dot au
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Depends on:   

name=thttpd
version=2.25b
release=5
source=(http://www.acme.com/software/$name/$name-$version.tar.gz \
   thttpd.rc thttpd.conf config.h.patch)

build() {
   cd $name-$version
   ./configure --prefix=/usr
   patch -i $SRC/config.h.patch
   sed -i '1i#define _POSIX_C_SOURCE 1' extras/htpasswd.c
   make

   install -d $PKG/{var/log,var/www/{cgi-bin,users}}
   
   install -D -m755 thttpd $PKG/usr/sbin/thttpd
   install -D -m644 thttpd.8 $PKG/usr/man/man8/thttpd.8
   install -D -m755 ../thttpd.rc $PKG/etc/rc.d/thttpd
   install -D -m644 ../thttpd.conf $PKG/etc/thttpd.conf

   # Install 'extras'
   install -D -m755 extras/htpasswd $PKG/usr/bin/htpasswd
   install -D -m755 extras/htpasswd.1 $PKG/usr/man/man1/htpasswd.1

   install -D -m755 extras/syslogtocern $PKG/usr/sbin/syslogtocern
   install -D -m755 extras/syslogtocern.8 $PKG/usr/man/man8/syslogtocern.8

   # Install CGI
   install -D -m755 cgi-src/phf $PKG/var/www/cgi-bin/phf
   install -D -m755 cgi-bin/printenv $PKG/var/www/cgi-bin/printenv

   install -D -m755 cgi-src/redirect $PKG/var/www/cgi-bin/redirect
   install -D -m755 cgi-src/redirect.8 $PKG/usr/man/man8/redirect.8

   install -D -m755 cgi-src/ssi $PKG/var/www/cgi-bin/ssi
   install -D -m755 cgi-src/ssi.8 $PKG/usr/man/man8/ssi.8

   chmod 755 $PKG/var/www
   chmod 1777 $PKG/var/www/users
   touch $PKG/var/log/thttpd.log
}

Added contrib/thttpd/config.h.patch.

























>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
--- config.h.orig	2005-03-21 00:40:42.000000000 +1000
+++ config.h	2005-03-21 00:56:07.000000000 +1000
@@ -123,8 +123,8 @@
 ** You can also leave both options undefined, and thttpd will not do
 ** anything special about tildes.  Enabling both options is an error.
 */
-#ifdef notdef
 #define TILDE_MAP_1 "users"
+#ifdef notdef
 #define TILDE_MAP_2 "public_html"
 #endif
 

Added contrib/thttpd/thttpd.conf.



























>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
#
# /etc/thttpd.conf
#
#
port=80
user=nobody
dir=/var/www
nochroot
cgipat=/cgi-bin/**
logfile=/var/log/thttpd.log
pidfile=/var/run/thttpd.pid
#
# End of file

Added contrib/thttpd/thttpd.rc.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/bin/sh
#
# /etc/rc.d/thttpd: start/stop thttpd daemon
#

case $1 in
start)
  /usr/sbin/thttpd -C /etc/thttpd.conf
  ;;
stop)
  killall -q /usr/sbin/thttpd
  ;;
restart)
  $0 stop
  sleep 2
  $0 start
  ;;
*)
  echo "usage: $0 [start|stop|restart]"
  ;;
esac

# End of file

Added contrib/thunderbird/Pkgfile.



























































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# Description: email client from the Mozilla project
# Maintainer:  Bartlomiej Palmowski, rotwang at crux dot org dot pl
# Packager:    Simone Rota, sip at crux dot nu
# URL:         http://www.mozillamessaging.com/en-US/thunderbird/
# Depends on:  python gtk alsa-lib xorg-libxt libnotify libidl nss dbus-glib

name=thunderbird
version=10.0.2
comm_ver=release
release=1
source=(
    http://ftp.icm.edu.pl/packages/mozilla/$name/releases/$version/source/$name-$version.source.tar.bz2
    $name.desktop
    ${name}_default48.png
)
 
build() {
    cd $SRC/comm-$comm_ver
    cat <<- EOF > .mozconfig
        mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir-tb-release
        mk_add_options MOZ_MAKE_FLAGS="$MAKEFLAGS -s"
        ac_add_options --prefix=/usr
        ac_add_options --enable-application=mail
        ac_add_options --with-system-nspr 
        ac_add_options --with-system-nss  
        ac_add_options --with-system-jpeg 
        ac_add_options --with-system-zlib
        ac_add_options --with-system-bz2  
        ac_add_options --with-pthreads
        ac_add_options --enable-official-branding
        ac_add_options --with-distribution-id=CRUX  
        ac_add_options --disable-gnomevfs
        ac_add_options --disable-installer       
        ac_add_options --disable-updater  
        #ac_add_options --enable-optimize="$(grep -o '[-]O.' <<< "${CFLAGS}")"
        ac_add_options --enable-optimize="$CFLAGS"
        ac_add_options --disable-xterm-updates
        ac_add_options --enable-system-cairo
        #ac_add_options --enable-system-sqlite
        ac_add_options --with-default-mozilla-five-home
        ac_add_options --disable-crashreporter
        ac_add_options --enable-calendar
        #ac_add_options --enable-native-uconv
        #ac_add_options --enable-startup-notification
        #ac_add_options --enable-static
        ac_add_options --disable-necko-wifi
        ac_add_options --disable-tests
        ac_add_options --disable-debug
        ac_add_options --disable-auto-deps
        ac_add_options --disable-debug-symbols
        # crux libpng doesn't support apng
        #ac_add_options --with-system-png
EOF
    make -f client.mk
    make -f client.mk DESTDIR=$PKG install
    install -D -m 0644 $SRC/${name}_default48.png \
        $PKG/usr/share/pixmaps/${name}_default48.png
    install -D -m 0644 $SRC/$name.desktop \
        $PKG/usr/share/applications/$name.desktop
    find $PKG -iname '*README*' -delete
}

Added contrib/thunderbird/thunderbird.desktop.



















>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
[Desktop Entry]
Name=Thunderbird
Comment=Mail & News Reader
Exec=thunderbird
Icon=thunderbird_default48.png
Terminal=false
Type=Application
Categories=Application;Network;
StartupNotify=false

Added contrib/thunderbird/thunderbird_default48.png.

cannot compute difference between binary files

Added contrib/tidy/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: HTML/XML/XHTML cleanup tool.
# URL: http://tidy.sourceforge.net/ 
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Han Boetes, han mijncomputer dot nl

name=tidy
version=20110307
release=1
source=(http://www.hvlinux.net/crux/distfiles/$name/$name-snapshot-$version.tar.bz2)

build() {
	cd $name

	./configure \
		--prefix=/usr \
		--disable-static

	make
	make DESTDIR=$PKG install
}

Added contrib/tig/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: text-mode interface for git
# URL:         http://jonas.nitro.dk/tig/
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    James Mills, prologic at shortcircuit dot net dot au
# Depends on:  git

name=tig
version=0.18
release=1
source=(http://jonas.nitro.dk/$name/releases/$name-$version.tar.gz) 

build() {
  cd $name-$version

  ./configure --prefix=/usr --mandir=/usr/man --sysconfdir=/etc

  make LDLIBS=-lncursesw
  make prefix=/usr DESTDIR=$PKG install install-doc-man
}

Added contrib/tilda/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: A quake-style popup terminal
# URL: http://tilda.sourceforge.net/wiki/index.php/Main_Page
# Maintainer: Jose V Beneyto, sepen at users dot sourceforge dot net
# Packager: Matt Housh, jaeger at morpheus dot net
# Depends on: libconfuse vte libglade

name=tilda
version=0.9.6
release=2
source=(http://download.sourceforge.net/$name/$name-$version.tar.gz)

build() {
  cd $name-$version
  ./configure --prefix=/usr
  make
  make DESTDIR=$PKG install
  rm -rf $PKG/usr/share/locale
}

Added contrib/tilda/post-install.







>
>
>
1
2
3
#!/bin/sh

/usr/bin/update-desktop-database

Added contrib/timidity-patches/Pkgfile.

























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# Description: GUS-compatible MIDI patch files for Timidity.
# URL: http://packages.debian.org/stable/sound/timidity-patches
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Vincenzo Colosimo, vico at bicisport dot de
# Depends on: timidity

name=timidity-patches
version=0.1
release=1
source=(http://archive.debian.org/pool/main/t/timidity-patches/timidity-patches_$version-5.tar.gz)

build() {
    cd timidity-patches-$version
    install -d $PKG/usr/share/timidity/patches
    cp -p cfg/*.cfg $PKG/usr/share/timidity/patches
    cp -p pat/*.pat $PKG/usr/share/timidity/patches
    chown -R root.root $PKG
    find $PKG \! -type d -print0 | xargs -0 chmod 644
    find $PKG -type d -print0 | xargs -0 chmod 755

    echo dir /usr/share/timidity/patches > $PKG/usr/share/timidity/timidity.cfg
    echo source patches/timidity.cfg >> $PKG/usr/share/timidity/timidity.cfg
	 mkdir -p $PKG/etc
    ln -sf /usr/share/timidity/timidity.cfg $PKG/etc/timidity.cfg

    chown -R root:root $PKG
}

Added contrib/timidity/Pkgfile.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Description: MIDI-to-WAVE converter and player.
# URL: http://timidity.sourceforge.net/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Vincenzo Colosimo vico at bicisport dot de
# Depends on: alsa-lib libao libvorbis

name=timidity
version=2.13.2
release=1
source=(http://downloads.sourceforge.net/project/timidity/TiMidity++/TiMidity++-$version/TiMidity++-$version.tar.bz2)

build() {
	cd TiMidity++-$version

	./configure \
		--prefix=/usr \
		--enable-server \
		--enable-alsaseq \
		--enable-audio=alsa,oss,ao,vorbis

	make -j 1
	make DESTDIR=$PKG install
}

Added contrib/tint2-extras/Pkgfile.



























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# Description: Lightweight panel/taskbar
# URL: http://tint2.googlecode.com
# Packager: Jose V Beneyto, sepen at crux dot nu
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Depends on: tint2 pygtk

name=tint2-extras
version=0.11
release=1
source=(http://tint2.googlecode.com/files/tint2-$version.tar.bz2)

build() {
  cd tint2-$version

  cmake \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DENABLE_BATTERY=OFF \
    -DENABLE_EXAMPLES=ON \
    -DENABLE_TINT2CONF=ON \
    -DMANDIR=/usr/man \
    -DSYSCONFDIR=/usr/etc

  make
  make DESTDIR=$PKG install

  install -d $PKG/usr/share/tint2
  mv $PKG/usr/share/doc/tint2/examples $PKG/usr/share/tint2
  rm -rf $PKG/usr/{bin/tint2,etc,man,share/doc}
}

Added contrib/tint2/Pkgfile.





















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# Description: Lightweight panel/taskbar
# URL: http://tint2.googlecode.com
# Packager: Vitaly Sinilin, vs at kp4 dot ru
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Depends on: cmake imlib2 pango

name=tint2
version=0.11
release=1
source=(http://$name.googlecode.com/files/$name-$version.tar.bz2)

build() {
  cd $name-$version

  cmake \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DENABLE_BATTERY=ON \
    -DENABLE_EXAMPLES=OFF \
    -DENABLE_TINT2CONF=OFF \
    -DMANDIR=/usr/man \
    -DSYSCONFDIR=/usr/etc

  make
  make DESTDIR=$PKG install
  rm -rf $PKG/usr/share
}

Added contrib/tinyxml/Pkgfile.























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# Description: simple, small, C++ XML parser
# URL:         http://www.grinninglizard.com/tinyxml/
# Maintainer:  Bartlomiej Palmowski, rotwang at crux dot org dot pl
# Depends on:  

name=tinyxml
version=2.6.2
release=1
source=(
    http://download.sourceforge.net/project/$name/$name/$version/${name}_${version//./_}.zip 
    entity.patch
)

shopt -s extglob
build() {
    soname=lib$name.$version.so
    cd $name
    patch -p0 -i ../entity.patch
    mkdir -p $PKG/usr/include
    install -m 0644 *.h $_
    g++ $CXXFLAGS -fPIC -shared -o $soname !(xmltest).cpp
    install -D -m 0644 $soname $PKG/usr/lib/$soname
    cd $PKG/usr/lib
    ln -s $soname ${soname%%.*}.so
    ln -s $soname ${soname%.*.*.so}.so
    ln -s $soname ${soname%.*.so}.so
}

Added contrib/tinyxml/entity.patch.

































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
? entity.patch
Index: tinyxml.cpp
===================================================================
RCS file: /cvsroot/tinyxml/tinyxml/tinyxml.cpp,v
retrieving revision 1.105
diff -u -r1.105 tinyxml.cpp
--- tinyxml.cpp	5 Jun 2010 19:06:57 -0000	1.105
+++ tinyxml.cpp	19 Jul 2010 21:24:16 -0000
@@ -57,30 +57,7 @@
 	{
 		unsigned char c = (unsigned char) str[i];
 
-		if (    c == '&' 
-		     && i < ( (int)str.length() - 2 )
-			 && str[i+1] == '#'
-			 && str[i+2] == 'x' )
-		{
-			// Hexadecimal character reference.
-			// Pass through unchanged.
-			// &#xA9;	-- copyright symbol, for example.
-			//
-			// The -1 is a bug fix from Rob Laveaux. It keeps
-			// an overflow from happening if there is no ';'.
-			// There are actually 2 ways to exit this loop -
-			// while fails (error case) and break (semicolon found).
-			// However, there is no mechanism (currently) for
-			// this function to return an error.
-			while ( i<(int)str.length()-1 )
-			{
-				outString->append( str.c_str() + i, 1 );
-				++i;
-				if ( str[i] == ';' )
-					break;
-			}
-		}
-		else if ( c == '&' )
+		if ( c == '&' )
 		{
 			outString->append( entity[0].str, entity[0].strLength );
 			++i;
Index: xmltest.cpp
===================================================================
RCS file: /cvsroot/tinyxml/tinyxml/xmltest.cpp,v
retrieving revision 1.89
diff -u -r1.89 xmltest.cpp
--- xmltest.cpp	5 Jun 2010 17:41:52 -0000	1.89
+++ xmltest.cpp	19 Jul 2010 21:24:16 -0000
@@ -1340,6 +1340,16 @@
 		}*/
 	}
 
+	#ifdef TIXML_USE_STL
+	{
+		TiXmlDocument xml;
+		xml.Parse("<foo>foo&amp;#xa+bar</foo>");
+		std::string str;
+		str << xml;
+		XmlTest( "Entity escaping", "<foo>foo&amp;#xa+bar</foo>", str.c_str() );
+	}
+	#endif
+
 	/*  1417717 experiment
 	{
 		TiXmlDocument xml;

Added contrib/tk/Pkgfile.





















































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# Description: A GUI toolkit for TCL.
# URL: http://tcl.sourceforge.net/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Sven Dahl, dahl at c64 dot org
# Depends on: xorg-libxft tcl

name=tk
version=8.5.11
release=1
source=(http://downloads.sourceforge.net/project/tcl/Tcl/$version/$name$version-src.tar.gz)

build() {
	cd $name$version/unix
	CFLAGS+=' -fPIC' LDFLAGS+=' -fPIC'

	./configure \
		--prefix=/usr \
		--enable-gcc \
		--enable-shared \
		--enable-xft

	make
	make install MKLINKS_FLAGS="-s" INSTALL_ROOT=$PKG

	cp ../generic/*.h $PKG/usr/include/
	cp tkUnixPort.h $PKG/usr/include/tkPort.h
	cp tkUnixDefault.h $PKG/usr/include/tkDefault.h
	cp tkUnixInt.h $PKG/usr/include/tkInt.h

	sed -i \
		-e "s|TK_BUILD_STUB_LIB_PATH='.*'|TK_BUILD_STUB_LIB_PATH='/usr/lib/libtkstub8.5.a'|" \
		-e "s|TK_SRC_DIR='.*'|TK_SRC_DIR='/usr/lib'|" \
		-e "s|-L$SRC/tk$version/unix|-L/usr/lib|" \
		$PKG/usr/lib/tkConfig.sh

	rm -r $PKG/usr/lib/tk${version%.*}/demos
	rm $PKG/usr/lib/tk${version%.*}/images/README

	ln -s wish${version%.*} $PKG/usr/bin/wish
	ln -s libtk${version%.*}.so $PKG/usr/lib/libtk.so
	chmod -c -R u+w $PKG/usr/man
}

Added contrib/tkimg/Makefile.diff.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Instead of depending on tcllib/doctools for building these manpages, this has
been worked around by not installing the manpages. They weren't installed
before 1.4 either. If you really need the documentation, try looking on the
web.

--- Makefile.in.orig	2010-05-03 17:32:03.000000000 +0200
+++ Makefile.in	2011-06-18 22:35:10.000000000 +0200
@@ -146,7 +146,7 @@
 			$$p > $$p.1 && mv -f $$p.1 $$p ; \
 	done
 
-install: collate install-man
+install: collate
 	mkdir -p    $(INSTALL_ROOT)$(LIB_RUNTIME_DIR)
 	for p in Img/exec_prefix/lib/Img/* ; do \
 		$(INSTALL_PROGRAM) $$p $(INSTALL_ROOT)$(LIB_RUNTIME_DIR)/`basename $$p` ; \

Added contrib/tkimg/Pkgfile.



















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# Description:  Library supporting additional image formats for Tcl/Tk
# URL:          http://tkimg.sourceforge.net/
# Maintainer:   Moritz Wilhelmy, moritz plus crux at wzff dot de
# Depends On:   tk
# Nice to have: libpng libtiff libjpeg

name=tkimg
version=1.4
release=2
source=(http://downloads.sourceforge.net/tkimg/$name$version.tar.gz
    Makefile.diff)

build() {
    cd $name$version
    patch < $SRC/Makefile.diff

    # --exec-prefix determines the location of the *config.sh
    # don't worry: they'll end up in /usr/lib. TkImg's use of autoconf is
    # just plain weird, that's all
    ./configure --prefix=/usr --exec-prefix=/usr

    make
    make install INSTALL_ROOT=$PKG
}

Added contrib/tor/Pkgfile.

























































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# Description: Tor is a anonymous network and proxy.
# URL: http://www.torproject.org/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com
# Depends on: libevent openssl zlib

name=tor
version=0.2.2.35
release=1
source=(https://www.torproject.org/dist/tor-$version.tar.gz
	tor.rc tor-config.patch)

build() {
	cd $name-$version
	patch -p 1 -i $SRC/tor-config.patch

	# fix for find: The relative path `~/bin' is included in the PATH
	# environment variable, which is insecure in combination with the
	# -execdir action of find. Please remove that entry from $PATH
	export PATH='/sbin:/usr/sbin:/bin:/usr/bin'

	./configure \
		--prefix=/usr \
		--mandir=/usr/man \
		--sysconfdir=/etc

	make
	make DESTDIR=$PKG install
	
	# data
	install -d $PKG/usr/var/lib/tor
	chown tor:tor $PKG/usr/var/lib/tor
	touch \
		$PKG/usr/var/lib/tor/cached-certs \
		$PKG/usr/var/lib/tor/cached-consensus \
		$PKG/usr/var/lib/tor/cached-descriptors \
		$PKG/usr/var/lib/tor/cached-descriptors.new \
		$PKG/usr/var/lib/tor/cached-routers.new \
		$PKG/usr/var/lib/tor/state
	find $PKG/usr/var/lib/tor/ -type f -execdir chown tor:tor {} \; -execdir chmod 0600 {} \;

	# configuration
	mv $PKG/etc/tor/torrc.sample $PKG/etc/tor/torrc
	find $PKG/etc/tor/ -type f -exec chown root:tor {} \; -execdir chmod 0640 {} \;

	# programs
	find $PKG/usr/bin -type f -execdir chown root:tor {} \; -execdir chmod 0750 {} \;

	# logs
	install -d $PKG/var/log/tor
	chown tor:tor $PKG/var/log/tor
	touch $PKG/var/log/tor/notices.log
	find $PKG/var/log/tor/ -type f -exec chown tor:tor {} \; -execdir chmod 0640 {} \;

	# service
	install -m 0750 -D $SRC/tor.rc $PKG/etc/rc.d/tor

	# docs
	rm -r $PKG/usr/share/doc
}

Added contrib/tor/README.





























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
REQUIREMENTS:

PRECAUTION:

	Make sure you edit /etc/pkgadd.conf and add the following line.

	UPGRADE         ^usr/var/lib/tor/.*$    NO

	Failure to do so will result in the loss of your tor data upon update!

	If you edit the torrc file for extra logging, make sure you:
	chmod 0640 /var/log/tor/* files, for security reasons.

PRE-INSTALL:

	Tor expects to have a user and group dedicated to it, a 
	pre-install script has been added to the port which takes 
	care of this.

POST-INSTALL:

PRE-REMOVE:

POST-REMOVE:

NOTES:

	Please edit /etc/tor/torrc and add "tor" to the SERVICES 
	array in /etc/rc.conf

Added contrib/tor/pre-install.





















































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#!/bin/sh

# Created by Danny Rawlins, <romster at shortcircuit dot net dot au>

GROUP=tor
USER=tor
USER_COMMENT="Tor Daemon"
USER_HOME=/var/empty
USER_SHELL=/bin/sh

if [ ! $(id -u) = 0 ]; then
	echo "ERROR: you need to be root to run this!"
	exit 1
fi

if [ $GROUP ];	then
	if ! getent group $GROUP > /dev/null; then
		/usr/sbin/groupadd $GROUP
		if [ $? -eq 0 ]; then
			echo "Group: $GROUP added."
		fi
	else
		echo "Group: $GROUP already exists! Skipping."
	fi
fi
	
if ! getent passwd $USER > /dev/null; then
	/usr/sbin/useradd -g $GROUP -c "$USER_COMMENT" -d $USER_HOME -s $USER_SHELL $USER
	if [ $? -eq 0 ]; then
		echo "User: $USER added."
		/usr/bin/passwd -l $USER > /dev/null
		if [ $? -eq 0 ]; then
			echo "Locked: $USER account."
		fi
		else
			echo "ERROR: unable to lock $USER account."
			/usr/sbin/userdel $USER
	fi
	else
		echo "User: $USER already exists! Skipping."
fi

Added contrib/tor/tor-config.patch.





















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
diff -pruN tor-0.2.0.30.orig/src/config/torrc.sample.in tor-0.2.0.30/src/config/torrc.sample.in
--- tor-0.2.0.30.orig/src/config/torrc.sample.in	2008-07-17 13:50:58.055386603 +0000
+++ tor-0.2.0.30/src/config/torrc.sample.in	2008-07-17 13:55:17.578388974 +0000
@@ -33,7 +33,7 @@ SocksListenAddress 127.0.0.1 # accept co
 ## may provide sensitive information to an attacker who obtains the logs.
 ##
 ## Send all messages of level 'notice' or higher to @LOCALSTATEDIR@/log/tor/notices.log
-#Log notice file @LOCALSTATEDIR@/log/tor/notices.log
+Log notice file /var/log/tor/notices.log
 ## Send every possible message to @LOCALSTATEDIR@/log/tor/debug.log
 #Log debug file @LOCALSTATEDIR@/log/tor/debug.log
 ## Use the system log instead of Tor's logfiles
@@ -44,11 +44,11 @@ SocksListenAddress 127.0.0.1 # accept co
 ## Uncomment this to start the process in the background... or use
 ## --runasdaemon 1 on the command line. This is ignored on Windows;
 ## see the FAQ entry if you want Tor to run as an NT service.
-#RunAsDaemon 1
+RunAsDaemon 1
 
 ## The directory for keeping all the keys/etc. By default, we store
 ## things in $HOME/.tor on Unix, and in Application Data\tor on Windows.
-#DataDirectory @LOCALSTATEDIR@/lib/tor
+DataDirectory @LOCALSTATEDIR@/lib/tor
 
 ## The port on which Tor will listen for local connections from Tor
 ## controller applications, as documented in control-spec.txt.

Added contrib/tor/tor.rc.

































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#!/bin/sh
#
# /etc/rc.d/tor: start/stop tor daemon
#

# User settings here
DAEMON=tor
RUN_AS_USER=tor

# Check for configuration files
[ -f /etc/tor/tor-tsocks.conf ] || exit 1
[ -f /etc/tor/torrc ] || exit 1

# If you have to edit this section for this or any other 
# port useage let me know, with a patch or added lines, 
# or simplely e-mail me the altered file and I'll include the changes.

RETVAL=0

case $1 in
start)
	echo -n "Starting $DAEMON..."
	su $RUN_AS_USER -c /usr/bin/$DAEMON > /dev/null & RETVAL=$?
	if [ $RETVAL = 0 ]; then
		echo " done."
	fi
	;;
stop)
	echo -n "Shutting down $DAEMON..."
	killall -q /usr/bin/$DAEMON
	RETVAL=$?
	echo " done."
	;;
restart)
	$0 stop
	sleep 5
	$0 start
	RETVAL=$?
	;;
*)
	echo "usage: $0 [start|stop|restart]"
	exit 1
	;;
esac

exit $RETVAL

# End of file

Added contrib/tornado/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: clone of a C64 game, goal of the game is to destroy the opponent's house with certain weather phenomenons
# URL:         http://kiza.kcore.de/software/tornado/
# Maintainer:  Bartlomiej Palmowski, rotwang at crux dot org dot pl

name=tornado
version=1.4
release=1
source=(http://kiza.kcore.de/software/$name/download/$name-$version.tar.gz)

build() {
  cd $name-$version
  sed -i '92,97d' doc/man/tornado.6.in
  make PREFIX=/usr tornado tornado.6
  install -D -m 0644 doc/man/tornado.6 $PKG/usr/man/man6/tornado.6
  install -D -m 0755 tornado $PKG/usr/bin/tornado
}

Added contrib/tornadoweb/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description:  scalable, non-blocking webserver
# URL:          http://tornadoweb.org
# Maintainer:   Thomas Penteker, tek at serverop dot de
# Depends on:   python
# Nice to have: python-pycurl, python-simplejson

name=tornadoweb
version=2.2
release=1
source=(http://github.com/downloads/facebook/tornado/tornado-$version.tar.gz)

build () {
   cd tornado-$version
   python setup.py install --root=$PKG
   rm $PKG/usr/lib/python2.7/site-packages/tornado/test/README
}

Added contrib/trac/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: Enhanced wiki and issue tracking system for software projects.
# URL:         http://trac.edgewall.com/
# Packager:    James Mills, prologic at shortcircuit dot net dot au
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Depends on:  subversion-python, clearsilver, setuptools

name=trac
version=0.12.3
release=1
source=(http://ftp.edgewall.com/pub/trac/Trac-$version.tar.gz)

build () {
   cd Trac-$version
   python setup.py install --root=$PKG
   find $PKG -name README -delete
}

Added contrib/trac/README.























































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# $Id:

REQUIREMENTS:

PRECAUTION:

If you are upgrading a previous installation see
http://ftp.edgewall.org/wiki/TracUpgrade

PRE-INSTALL:

POST-INSTALL

Read the instructions on
  http://projects.edgewall.com/trac/wiki/TracInstall

to set up a repository

PRE-REMOVE:

POST-REMOVE:

NOTES:

For now the only documentation available is located on 
http://trac.edgewall.org/

My apache config looks like this:

    Alias /trac/ "/usr/share/trac/htdocs/"
    <Location "/cgi-bin/trac.cgi">
        SetEnv TRAC_DB "/var/lib/trac/trac.db"
    </Location>

    # You need something like this to authenticate users
    <Location "/cgi-bin/trac.cgi/login">
        AuthType Basic
        AuthName "svnjw"
        AuthUserFile /somewhere/trac.htpasswd
        Require valid-user
    </Location>

Adjust AuthUserFile to your needs

Added contrib/transcode/Pkgfile.











































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# Description: Command line utilities for transcoding various media formats.
# URL: http://www.transcoding.org/cgi-bin/transcode
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Martin Opel, mo at obbl-net dot de
# Depends on: imagemagick liba52 libdvdread libmpeg2 lzo mjpegtools

name=transcode
version=1.1.5
release=1
source=(http://www.hvlinux.net/crux/distfiles/$name/$name-$version.tar.bz2
	http://downloads.sourceforge.net/project/subtitleripper/subtitleripper/subtitleripper-0.3-4/subtitleripper-0.3-4.tgz)

build() {
	cd $name-$version
	CFLAGS+=' -pthread'

	./configure \
		--prefix=/usr \
		--mandir=/usr/man \
		--disable-dependency-tracking \
		--enable-alsa \
		--enable-a52 \
		--enable-freetype2 \
		--enable-imagemagick \
		--enable-libdv \
		--enable-libmpeg2 \
		--enable-libpostproc \
		--enable-libquicktime \
		--enable-libxml2 \
		--enable-lzo \
		--enable-mjpegtools \
		--enable-ogg \
		--enable-sdl \
		--enable-theora \
		--enable-v4l \
		--enable-vorbis \
		--enable-xvid \
		--enable-x264 \
		--enable-faac \
		--enable-libxml2

	make
	make DESTDIR=$PKG install
	rm -r $PKG/usr/share

	# Subtitle support (Han Boetes)
	mkdir -p contrib/subrip
	cd contrib/subrip
	cp ../../../subtitleripper/* .
	sed -i -e 's|.*ppm.*||i' Makefile
	make clean all CFLAGS="$CFLAGS -DHAVE_GETLINE"
	install -m 0755 -D srttool subtitle2pgm subtitle2vobsub $PKG/usr/bin
}

Added contrib/tree/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# $Id: $
# Description: Display directory tree
# URL: http://mama.indstate.edu/users/ice/tree/
# Maintainer: Jose V Beneyto, sepen at users dot sourceforge dot net
# Packager: Giorgio Lando, patroclo7 at gmail dot com
# Depends on: 

name=tree
version=1.6.0
release=1
source=(ftp://mama.indstate.edu/linux/$name/$name-$version.tgz)

build () {
  cd $name-$version
  make
  install -D -m 0755 $name $PKG/usr/bin/$name
  install -D -m 0644 doc/$name.1 $PKG/usr/man/man1/$name.1
}

Added contrib/true-combat-elite/Pkgfile.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Description: TrueCombat:Elite is a team-based realism modification based on Enemy Territory.
# URL: http://www.truecombatelite.net/
# Maintainer: Jose V Beneyto, sepen at users dot sourceforge dot net
# Packager: Jose V Beneyto, sepen at users dot sourceforge dot net
# Depends on: enemy-territory

name=true-combat-elite
version=0.49b
release=3
source=(http://darkstar.ist.utl.pt/pub/games/true.combat.elite_${version}-english-4.run \
        tce ${name}.desktop)

build() {
  chmod +x true.combat.elite_${version}-english-4.run
  ./true.combat.elite_${version}-english-4.run --noexec --target tmp
  install -d ${PKG}/usr/share/enemy-territory
  tar -C ${PKG}/usr/share/enemy-territory -xf tmp/tce_0.49b.tar
  rm -f ${PKG}/usr/share/enemy-territory/*.{rtf.txt}
  install -D -m 0755 ${SRC}/tce ${PKG}/usr/bin/tce
  ln -sf /usr/bin/tce ${PKG}/usr/bin/${name}
  install -D -m 0644 tmp/tce.xpm ${PKG}/usr/share/pixmaps/tce.xpm
  install -D -m 0644 ${SRC}/${name}.desktop ${PKG}/usr/share/applications/${name}.desktop
}

Added contrib/true-combat-elite/tce.











>
>
>
>
>
1
2
3
4
5
#!/bin/sh

enemy-territory "$@" +set fs_game tcetest

# End of File

Added contrib/true-combat-elite/true-combat-elite.desktop.



















>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
[Desktop Entry]
Encoding=UTF-8
Name=True Combat Elite
Comment=Wolfstein Enemy Territory - True Combat Elite Mod
Exec=/usr/bin/true-combat
Icon=tce.xpm
Terminal=false
Type=Application
Categories=Application;Games;

Added contrib/truecrypt/Pkgfile.

































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# Description: Multiplatform disk encryption software
# URL: http://www.truecrypt.org
# Packager:	Alan Mizrahi, alan at mizrahi dot com dot ve
# Maintainer:	Alan Mizrahi, alan at mizrahi dot com dot ve
# Depends on: libdevmapper

name=truecrypt
version=4.3a
release=4
source=(http://www.mizrahi.com.ve/crux/dist/$name-$version.tar.bz2 truecrypt-4.3a-2.6.23.patch truecrypt-4.3a-2.6.24.patch truecrypt-kernel-2.6.29.patch truecrypt-kernel-2.6.34.patch truecrypt-nochecks.patch)

# Note: Currently doesn't build as non-root

build () {
	cd $name-$version
	patch -p1 -i $SRC/truecrypt-kernel-2.6.34.patch

	cd Linux
	patch -p2 -i $SRC/truecrypt-4.3a-2.6.23.patch
	patch -p2 -i $SRC/truecrypt-4.3a-2.6.24.patch
	patch -p2 -i $SRC/truecrypt-kernel-2.6.29.patch
	patch -p2 -i $SRC/truecrypt-nochecks.patch

	# new kernels have an hex2bin function, rename truecrypt's
	sed -i -e 's|hex2bin|myhex2bin|g' Kernel/Dm-target.c

	./build.sh
	install -m 755 -D Cli/truecrypt $PKG/usr/bin/truecrypt
	install -m 644 -D Cli/Man/truecrypt.1 $PKG/usr/man/man1/truecrypt.1
	install -m 644 -D Kernel/truecrypt.ko $PKG/lib/modules/$(uname -r)/extra/truecrypt.ko

}

Added contrib/truecrypt/README.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
REQUIREMENTS

You need Device mapper support in your kernel (CONFIG_BLK_DEV_DM):

	Device Drivers --> Multi-device support (RAID and LVM) 
	 [*] Multiple devices driver support (RAID and LVM) 
	 <*>   Device mapper support


PRE-INSTALL

POST-INSTALL

	* Run depmod -a

PRECAUTION

Added contrib/truecrypt/truecrypt-4.3a-2.6.23.patch.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
diff -urNp truecrypt-4.3a-source-code.org/Linux/Kernel/Dm-target.c truecrypt-4.3a-source-code/Linux/Kernel/Dm-target.c
--- truecrypt-4.3a-source-code.org/Linux/Kernel/Dm-target.c	2007-04-24 19:32:06.000000000 +0300
+++ truecrypt-4.3a-source-code/Linux/Kernel/Dm-target.c	2007-10-10 23:18:24.000000000 +0200
@@ -656,7 +656,11 @@ int __init dm_truecrypt_init(void)
 		goto err;
 	}
 
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,23)
 	bio_ctx_cache = kmem_cache_create ("truecrypt-bioctx", sizeof (struct bio_ctx), 0, 0, NULL, NULL);
+#else
+	bio_ctx_cache = kmem_cache_create ("truecrypt-bioctx", sizeof (struct bio_ctx), 0, 0, NULL);
+#endif
 	if (!bio_ctx_cache)
 	{
 		error ("kmem_cache_create failed");

Added contrib/truecrypt/truecrypt-4.3a-2.6.24.patch.







































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
diff -Nrup a/Linux/Kernel/Dm-target.c b/Linux/Kernel/Dm-target.c
--- a/Linux/Kernel/Dm-target.c	2007-04-24 18:32:06.000000000 +0200
+++ b/Linux/Kernel/Dm-target.c	2007-12-22 15:07:56.000000000 +0100
@@ -375,7 +375,11 @@ static void dereference_bio_ctx (struct 
 	if (!atomic_dec_and_test (&bc->ref_count))
 		return;
 
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24)
 	bio_endio (bc->orig_bio, bc->orig_bio->bi_size, bc->error);
+#else
+	bio_endio (bc->orig_bio, bc->error);
+#endif
 	mempool_free (bc, tc->bio_ctx_pool);
 }
 
@@ -417,24 +421,35 @@ static void work_process (void *qdata)
 }
 
 
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24)
 static int truecrypt_endio (struct bio *bio, unsigned int bytes_done, int error)
+#else
+static int truecrypt_endio (struct bio *bio, int error)
+#endif
 {
 	struct bio_ctx *bc = (struct bio_ctx *) bio->bi_private;
 	struct target_ctx *tc = (struct target_ctx *) bc->target->private;
 	struct bio_vec *bv;
 	int seg_no;
 	
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24)
 	trace (1, "end: sc=%llu fl=%ld rw=%ld sz=%d ix=%hd vc=%hd dn=%d er=%d\n",
 		(unsigned long long) bio->bi_sector, bio->bi_flags, bio->bi_rw, bio->bi_size, bio->bi_idx, bio->bi_vcnt, bytes_done, error);
+#else
+	trace (1, "end: sc=%llu fl=%ld sz=%ld rw=%ld ix=%hd vc=%hd er=%d\n",
+		(unsigned long long) bio->bi_sector, bio->bi_flags, bio->bi_size, bio->bi_rw, bio->bi_idx, bio->bi_vcnt, error);
+#endif
 
 	if (error != 0)
 		bc->error = error;
 
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24)
 	if (bio->bi_size)
 	{
 		trace (2, "Outstanding IO: %d\n", bio->bi_size);
 		return 1;
 	}
+#endif
 
 	if (bio_data_dir (bio) == READ)
 	{

Added contrib/truecrypt/truecrypt-kernel-2.6.29.patch.





























>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
--- truecrypt-4.3a/Linux/Kernel/Dm-target.c.orig	2009-03-30 01:21:25.386081862 +0900
+++ truecrypt-4.3a/Linux/Kernel/Dm-target.c	2009-03-30 01:21:46.450270403 +0900
@@ -705,10 +705,7 @@
 {
 	int r;
 
-	r = dm_unregister_target (&truecrypt_target);
-
-	if (r < 0)
-		error ("unregister failed %d", r);
+	dm_unregister_target (&truecrypt_target);
 
 	destroy_workqueue (work_queue);
 	kmem_cache_destroy (bio_ctx_cache);

Added contrib/truecrypt/truecrypt-kernel-2.6.34.patch.





































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
--- truecrypt-4.3a/Linux/Kernel/Dm-target.c.orig	2010-05-17 23:21:41.550280774 +0900
+++ truecrypt-4.3a/Linux/Kernel/Dm-target.c	2010-05-17 23:22:15.086944158 +0900
@@ -210,7 +210,7 @@
 	}
 	tc->start = sector;
 
-	if (dm_get_device (ti, argv[TC_ARG_DEV], tc->start, ti->len, dm_table_get_mode (ti->table), &tc->dev))
+	if (dm_get_device (ti, argv[TC_ARG_DEV], dm_table_get_mode (ti->table), &tc->dev))
 	{
 		ti->error = "truecrypt: Device lookup failed";
 		goto err;
--- truecrypt-4.3a/Common/GfMul.c.orig	2010-05-18 00:15:32.303291101 +0900
+++ truecrypt-4.3a/Common/GfMul.c	2010-05-18 00:17:18.773280384 +0900
@@ -53,6 +53,7 @@
 #ifdef LINUX_DRIVER
 #include <linux/module.h>
 #include <linux/string.h>
+#include <linux/slab.h>
 #else
 #include <memory.h>
 #endif
--- truecrypt-4.3a/Common/Crypto.c.orig	2010-05-18 00:12:47.460807274 +0900
+++ truecrypt-4.3a/Common/Crypto.c	2010-05-18 00:17:33.216612793 +0900
@@ -16,6 +16,7 @@
 #ifdef LINUX_DRIVER
 #include <linux/module.h>
 #include <linux/string.h>
+#include <linux/slab.h>
 #else
 #include <string.h>
 #endif
--- truecrypt-4.3a/Linux/Kernel/Dm-target.c.orig	2010-05-18 00:16:32.969951706 +0900
+++ truecrypt-4.3a/Linux/Kernel/Dm-target.c	2010-05-18 00:17:02.470782111 +0900
@@ -6,6 +6,8 @@
  distribution packages.
 */
 
+#include <linux/slab.h>
+
 #include <linux/bio.h>
 #include <linux/blkdev.h>
 #include <linux/ctype.h>
@@ -16,7 +18,6 @@
 #include <linux/moduleparam.h>
 #include <linux/version.h>
 #include <linux/workqueue.h>
-#include <dm.h>
 
 #include "Tcdefs.h"
 #include "Crypto.h"

Added contrib/truecrypt/truecrypt-nochecks.patch.































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
--- truecrypt-4.3a/Linux/build.sh.orig	2010-05-17 23:18:38.256965720 +0900
+++ truecrypt-4.3a/Linux/build.sh	2010-05-17 23:19:47.604458859 +0900
@@ -11,154 +11,9 @@
 KERNEL_BUILD=/lib/modules/$KERNEL_VER/build
 KERNEL_SRC=/lib/modules/$KERNEL_VER/source
 
-TMP=.build.sh.tmp
-umask 022
-
-error ()
-{
-	echo "Error: $*" >&2
-}
-
-check_kernel_version ()
-{
-	M="$1/Makefile"
-	[ ! -f "$M" ] && return 1
-	
-	VER=$(grep '^VERSION *=' "$M" | head -n 1 | tr -d ' ' | cut -d'=' -f2)
-	VER=$VER.$(grep '^PATCHLEVEL *=' "$M" | head -n 1 | tr -d ' ' | cut -d'=' -f2)
-	VER=$VER.$(grep '^SUBLEVEL *=' "$M" | head -n 1 | tr -d ' ' | cut -d'=' -f2)
-
-	[ $VER = $(echo $KERNEL_VER | cut -d- -f1 | cut -d. -f1-3) ] && return 0
-	return 1
-}
-
-# Prerequisites
-
-echo "Checking build requirements..."
-
-[ $(id -u) -ne 0 ] && error "Administrator (root) privileges required for kernel source configuration." && exit 1
-
-V=""
-case "$KERNEL_VER" in
-	[01].*) V=1 ;;
-	2.[0-5].*) V=1 ;;
-	2.6.[0-4]) V=1 ;;
-	2.6.[0-4][.-]*) V=1 ;;
-esac
-[ "$V" ] && error "TrueCrypt requires Linux kernel 2.6.5 or later" && exit 1
-
-check_kernel_version "$KERNEL_SRC" || KERNEL_SRC=/usr/src/linux-$KERNEL_VER
-check_kernel_version "$KERNEL_SRC" || KERNEL_SRC=/usr/src/linux-source-$KERNEL_VER
-check_kernel_version "$KERNEL_SRC" || KERNEL_SRC=/usr/src/kernels/$KERNEL_VER-$(uname -p)
-check_kernel_version "$KERNEL_SRC" || KERNEL_SRC=/usr/src/linux-$(echo $KERNEL_VER | cut -d'-' -f1)
-check_kernel_version "$KERNEL_SRC" || KERNEL_SRC=/usr/src/linux-source-$(echo $KERNEL_VER | cut -d'-' -f1)
-check_kernel_version "$KERNEL_SRC" || KERNEL_SRC=/usr/src/linux
-
-if ! check_kernel_version "$KERNEL_SRC"
-then
-	echo -n "Linux kernel ($KERNEL_VER) source directory [$KERNEL_SRC]: "
-	read A
-	[ "$A" ] && KERNEL_SRC="$A"
-	[ ! -d "$KERNEL_SRC" ] && error "$KERNEL_SRC does not exit" && exit 1
-fi 
-
-if ! check_kernel_version "$KERNEL_SRC"
-then
-	error "Kernel source version in $KERNEL_SRC is not $KERNEL_VER"
-	exit 1
-fi
-
-if [ ! -f "$KERNEL_SRC/drivers/md/dm.h" ]
-then
-	error "Kernel source code is incomplete - $KERNEL_SRC/drivers/md/dm.h not found."
-	exit 1
-fi
-
-if [ ! -d "$KERNEL_BUILD/include/asm/" -o ! -f "$KERNEL_BUILD/Module.symvers" -o ! -f "$KERNEL_BUILD/.config" ]
-then
-	if [ ! -f "$KERNEL_SRC/.config" ]
-	then
-		if [ -f /proc/config.gz -o -f /boot/config-$KERNEL_VER -o -f /boot/config-$(uname -r) ]
-		then
-			echo -n "Configure kernel source according to the system configuration? [Y/n]: "
-			read A
-			if [ -z "$A" -o "$A" = "y" -o "$A" = "Y" ]
-			then
-				echo -n "Configuring kernel source in $KERNEL_SRC... "
-				
-				if [ -f /proc/config.gz ]
-				then
-					zcat /proc/config.gz >$KERNEL_SRC/.config || exit 1
-				else
-					if [ -f /boot/config-$(uname -r) ]
-					then
-						cp /boot/config-$(uname -r) $KERNEL_SRC/.config || exit 1
-					else
-						cp /boot/config-$KERNEL_VER $KERNEL_SRC/.config || exit 1
-					fi
-				fi
-				
-				make -C $KERNEL_SRC oldconfig </dev/null >/dev/null || exit 1
-				echo Done.
-			fi
-		fi
-
-		if [ ! -f "$KERNEL_SRC/.config" ]
-		then
-			error "Kernel not configured. You should run make -C $KERNEL_SRC config"
-			exit 1
-		fi
-	fi
-
-	if [ ! -d "$KERNEL_SRC/include/asm" ] && grep -q modules_prepare $KERNEL_SRC/Makefile
-	then
-		echo -n "Preparing kernel build system in $KERNEL_SRC... "
-		if ! make -C $KERNEL_SRC modules_prepare >/dev/null 2>$TMP
-		then
-			cat $TMP; rm $TMP
-			exit 1
-		fi
-		rm $TMP
-		echo Done.
-	fi
-
-
-	if [ ! -d "$KERNEL_SRC/include/asm" -o ! -f "$KERNEL_SRC/Module.symvers" ] 
-	then
-		echo -n "Building internal kernel modules (may take a long time)... "
-		if ! make -C $KERNEL_SRC modules >/dev/null 2>$TMP
-		then
-			cat $TMP; rm $TMP
-			exit 1
-		fi
-		rm $TMP
-		echo Done.
-	fi
-
-	if [ ! -d "$KERNEL_SRC/include/asm" ]
-	then
-		error "Kernel source code is not prepared for building of modules - $KERNEL_SRC/include/asm not found."
-		exit 1
-	fi
-	
-	KERNEL_BUILD=$KERNEL_SRC
-fi
-
-if [ -f $KERNEL_BUILD/.config ]
-then
-	grep -qi 'CONFIG_BLK_DEV_DM=[YM]' $KERNEL_BUILD/.config || echo "Warning: kernel device mapper support (CONFIG_BLK_DEV_DM) is disabled in $KERNEL_SRC"
-fi
-
 # Build
 
 echo -n "Building kernel module... "
-cd Kernel && make "KERNEL_SRC=$KERNEL_SRC" "KERNEL_BUILD=$KERNEL_BUILD" NO_WARNINGS=1 >/dev/null
-[ $? -ne 0 ] && error "Failed to build kernel module" && exit 1
-echo Done.
-
-echo -n "Building truecrypt... "
-cd ../Cli && make NO_WARNINGS=1 >/dev/null
-[ $? -ne 0 ] && error "Failed to build truecrypt" && exit 1
-echo Done.
+cd Kernel && make "KERNEL_SRC=$KERNEL_SRC" "KERNEL_BUILD=$KERNEL_BUILD" NO_WARNINGS=1 && \
+cd ../Cli && make NO_WARNINGS=1
 
-exit 0

Added contrib/twinkle/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description:	SIP softphone for Linux
# URL:		http://www.twinklephone.com/
# Maintainer:	Alan Mizrahi, alan at mizrahi dot com dot ve
# Depends on:	qt3, libsndfile, speex, commoncpp2, ccrtp, libzrtpcpp, ilbc, boost
# Nice to have:	kdepim

name=twinkle
version=1.4.2
release=1
source=(http://www.xs4all.nl/%7Emfnboer/twinkle/download/$name-$version.tar.gz twinkle.desktop)

build () {
	cd $name-$version
	export QTDIR=/usr/share/qt3
	export PATH=/usr/share/qt3/bin:$PATH
	./configure --prefix=/usr
	make
	make DESTDIR=$PKG install
	install -m 644 -D ../twinkle.desktop $PKG/usr/share/applications/kde/twinkle.desktop
}

Added contrib/twinkle/twinkle.desktop.























>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
[Desktop Entry]
Encoding=UTF-8
Comment=Voice Over IP Communications
Exec=twinkle
Icon=/usr/share/twinkle/twinkle48.png
X-KDE-StartupNotify=true
Type=Application
Name=Twinkle
GenericName=Internet Soft Phone
GenericName[es]=Teléfono en Internet
Categories=Qt;KDE;Internet

Added contrib/twisted/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description: Python event-driven networking framework.
# URL: http://www.twistedmatrix.com/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Younes Hafri, ycrux at club-internet dot fr
# Depends on: zope.interface pycrypto

name=twisted
version=12.0.0
release=1
source=(http://pypi.python.org/packages/source/T/Twisted/Twisted-$version.tar.bz2)

build() {
	cd Twisted-$version
	python setup.py install --root=$PKG

	find $PKG \
		-name '*.egg-info' -o \
		-name topfiles \
		| xargs rm -rf

	rm $PKG/usr/lib/python2.7/site-packages/twisted/python/zsh/README.txt
}

Added contrib/ucl/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description: A portable lossless data compression library written in ANSI C.
# URL: http://www.oberhumer.com/opensource/ucl/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Younes Hafri ycrux at club-internet dot fr
# Depends on:

name=ucl
version=1.03
release=1
source=(http://www.oberhumer.com/opensource/ucl/download/ucl-$version.tar.gz)

build() {
	cd ucl-$version

	./configure \
		--prefix=/usr \
		--enable-shared

	make
	make prefix=$PKG/usr install
}

Added contrib/unace/Pkgfile.



























>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
# Description: Command-line ace unarchiver for linux
# Maintainer: Matt Housh, jaeger at morpheus dot net
# URL: http://www.winace.com/

name=unace
version=2.5
release=1
source=(http://www.winace.com/files/linunace25.tgz)

build() {
	mkdir -p $PKG/usr/bin
	install -o root -g root -m 755 unace $PKG/usr/bin
}

Added contrib/uptimed/Pkgfile.

























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# Description: Uptime record tracking daemon.
# URL: http://podgorny.cz/uptimed/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Mark Rosenstand, mark at borkware dot net
# Depends on: 

name=uptimed
version=0.3.16
release=1
source=(http://podgorny.cz/uptimed/releases/$name-$version.tar.bz2
	uptimed-0.3.16.patch rc.uptimed)

build() {
	cd $name-$version
	patch -p 1 -i $SRC/uptimed-0.3.16.patch

	./configure \
		--prefix=/usr \
		--sysconfdir=/etc \
		--mandir=/usr/man \
		--disable-static

	make
	make DESTDIR=$PKG install

	mv $PKG/etc/uptimed.conf-dist $PKG/etc/uptimed.conf
	install -m 0755 -D $SRC/rc.uptimed $PKG/etc/rc.d/uptimed
}

Added contrib/uptimed/rc.uptimed.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/bin/sh
#
# /etc/rc.d/uptimed: start/stop uptime record tracking daemon
#

case $1 in
start)
	/usr/sbin/uptimed -b
	/usr/sbin/uptimed
	;;
stop)
	test -s /var/run/uptimed.pid && kill `cat /var/run/uptimed.pid`
	;;
restart)
	$0 stop
	sleep 1
	/usr/sbin/uptimed
	;;
*)
	echo "usage: $0 [start|stop|restart]" >&2
	;;
esac

Added contrib/uptimed/uptimed-0.3.16.patch.









































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957
3958
3959
3960
3961
3962
3963
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
3991
3992
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
4048
4049
4050
4051
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
4071
4072
4073
4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
4092
4093
4094
4095
4096
4097
4098
4099
4100
4101
4102
4103
4104
4105
4106
4107
4108
4109
4110
4111
4112
4113
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
4137
4138
4139
4140
4141
4142
4143
4144
4145
4146
4147
4148
4149
4150
4151
4152
4153
4154
4155
4156
4157
4158
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
4169
4170
4171
4172
4173
4174
4175
4176
4177
4178
4179
4180
4181
4182
4183
4184
4185
4186
4187
4188
4189
4190
4191
4192
4193
4194
4195
4196
4197
4198
4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
4216
4217
4218
4219
4220
4221
4222
4223
4224
4225
4226
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239
4240
4241
4242
4243
4244
4245
4246
4247
4248
4249
4250
4251
4252
4253
4254
4255
4256
4257
4258
4259
4260
4261
4262
4263
4264
4265
4266
4267
4268
4269
4270
4271
4272
4273
4274
4275
4276
4277
4278
4279
4280
4281
4282
4283
4284
4285
4286
4287
4288
4289
4290
4291
4292
4293
4294
4295
4296
4297
4298
4299
4300
4301
4302
4303
4304
4305
4306
4307
4308
4309
4310
4311
4312
4313
4314
4315
4316
4317
4318
4319
4320
4321
4322
4323
4324
4325
4326
4327
4328
4329
4330
4331
4332
4333
4334
4335
4336
4337
4338
4339
4340
4341
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355
4356
4357
4358
4359
4360
4361
4362
4363
4364
4365
4366
4367
4368
4369
4370
4371
4372
4373
4374
4375
4376
4377
4378
4379
4380
4381
4382
4383
4384
4385
4386
4387
4388
4389
4390
4391
4392
4393
4394
4395
4396
4397
4398
4399
4400
4401
4402
4403
4404
4405
4406
4407
4408
4409
4410
4411
4412
4413
4414
4415
4416
4417
4418
4419
4420
4421
4422
4423
4424
4425
4426
4427
4428
4429
4430
4431
4432
4433
4434
4435
4436
4437
4438
4439
4440
4441
4442
4443
4444
4445
4446
4447
4448
4449
4450
4451
4452
4453
4454
4455
4456
4457
4458
4459
4460
4461
4462
4463
4464
4465
4466
4467
4468
4469
4470
4471
4472
4473
4474
4475
4476
4477
4478
4479
4480
4481
4482
4483
4484
4485
4486
4487
4488
4489
4490
4491
4492
4493
4494
4495
4496
4497
4498
4499
4500
4501
4502
4503
4504
4505
4506
4507
4508
4509
4510
4511
4512
4513
4514
4515
4516
4517
4518
4519
4520
4521
4522
4523
4524
4525
4526
4527
4528
4529
4530
4531
4532
4533
4534
4535
4536
4537
4538
4539
4540
4541
4542
4543
4544
4545
4546
4547
4548
4549
4550
4551
4552
4553
4554
4555
4556
4557
4558
4559
4560
4561
4562
4563
4564
4565
4566
4567
4568
4569
4570
4571
4572
4573
4574
4575
4576
4577
4578
4579
4580
4581
4582
4583
4584
4585
4586
4587
4588
4589
4590
4591
4592
4593
4594
4595
4596
4597
4598
4599
4600
4601
4602
4603
4604
4605
4606
4607
4608
4609
4610
4611
4612
4613
4614
4615
4616
4617
4618
4619
4620
4621
4622
4623
4624
4625
4626
4627
4628
4629
4630
4631
4632
4633
4634
4635
4636
4637
4638
4639
4640
4641
4642
4643
4644
4645
4646
4647
4648
4649
4650
4651
4652
4653
4654
4655
4656
4657
4658
4659
4660
4661
4662
4663
4664
4665
4666
4667
4668
4669
4670
4671
4672
4673
4674
4675
4676
4677
4678
4679
4680
4681
4682
4683
4684
4685
4686
4687
4688
4689
4690
4691
4692
4693
4694
4695
4696
4697
4698
4699
4700
4701
4702
4703
4704
4705
4706
4707
4708
4709
4710
4711
4712
4713
4714
4715
4716
4717
4718
4719
4720
4721
4722
4723
4724
4725
4726
4727
4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
4744
4745
4746
4747
4748
4749
4750
4751
4752
4753
4754
4755
4756
4757
4758
4759
4760
4761
4762
4763
4764
4765
4766
4767
4768
4769
4770
4771
4772
4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
4789
4790
4791
4792
4793
4794
4795
4796
4797
4798
4799
4800
4801
4802
4803
4804
4805
4806
4807
4808
4809
4810
4811
4812
4813
4814
4815
4816
4817
4818
4819
4820
4821
4822
4823
4824
4825
4826
4827
4828
4829
4830
4831
4832
4833
4834
4835
4836
4837
4838
4839
4840
4841
4842
4843
4844
4845
4846
4847
4848
4849
4850
4851
4852
4853
4854
4855
4856
4857
4858
4859
4860
4861
4862
4863
4864
4865
4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
4879
4880
4881
4882
4883
4884
4885
4886
4887
4888
4889
4890
4891
4892
4893
4894
4895
4896
4897
4898
4899
4900
4901
4902
4903
4904
4905
4906
4907
4908
4909
4910
4911
4912
4913
4914
4915
4916
4917
4918
4919
4920
4921
4922
4923
4924
4925
4926
4927
4928
4929
4930
4931
4932
4933
4934
4935
4936
4937
4938
4939
4940
4941
4942
4943
4944
4945
4946
4947
4948
4949
4950
4951
4952
4953
4954
4955
4956
4957
4958
4959
4960
4961
4962
4963
4964
4965
4966
4967
4968
4969
4970
4971
4972
4973
4974
4975
4976
4977
4978
4979
4980
4981
4982
4983
4984
4985
4986
4987
4988
4989
4990
4991
4992
4993
4994
4995
4996
4997
4998
4999
5000
5001
5002
5003
5004
5005
5006
5007
5008
5009
5010
5011
5012
5013
5014
5015
5016
5017
5018
5019
5020
5021
5022
5023
5024
5025
5026
5027
5028
5029
5030
5031
5032
5033
5034
5035
5036
5037
5038
5039
5040
5041
5042
5043
5044
5045
5046
5047
5048
5049
5050
5051
5052
5053
5054
5055
5056
5057
5058
5059
5060
5061
5062
5063
5064
5065
5066
5067
5068
5069
5070
5071
5072
5073
5074
5075
5076
5077
5078
5079
5080
5081
5082
5083
5084
5085
5086
5087
5088
5089
5090
5091
5092
5093
5094
5095
5096
5097
5098
5099
5100
5101
5102
5103
5104
5105
5106
5107
5108
5109
5110
5111
5112
5113
5114
5115
5116
5117
5118
5119
5120
5121
5122
5123
5124
5125
5126
5127
5128
5129
5130
5131
5132
5133
5134
5135
5136
5137
5138
5139
5140
5141
5142
5143
5144
5145
5146
5147
5148
5149
5150
5151
5152
5153
5154
5155
5156
5157
5158
5159
5160
5161
5162
5163
5164
5165
5166
5167
5168
5169
5170
5171
5172
5173
5174
5175
5176
5177
5178
5179
5180
5181
5182
5183
5184
5185
5186
5187
5188
5189
5190
5191
5192
5193
5194
5195
5196
5197
5198
5199
5200
5201
5202
5203
5204
5205
5206
5207
5208
5209
5210
5211
5212
5213
5214
5215
5216
5217
5218
5219
5220
5221
5222
5223
5224
5225
5226
5227
5228
5229
5230
5231
5232
5233
5234
5235
5236
5237
5238
5239
5240
5241
5242
5243
5244
5245
5246
5247
5248
5249
5250
5251
5252
5253
5254
5255
5256
5257
5258
5259
5260
5261
5262
5263
5264
5265
5266
5267
5268
5269
5270
5271
5272
5273
5274
5275
5276
5277
5278
5279
5280
5281
5282
5283
5284
5285
5286
5287
5288
5289
5290
5291
5292
5293
5294
5295
5296
5297
5298
5299
5300
5301
5302
5303
5304
5305
5306
5307
5308
5309
5310
5311
5312
5313
5314
5315
5316
5317
5318
5319
5320
5321
5322
5323
5324
5325
5326
5327
5328
5329
5330
5331
5332
5333
5334
5335
5336
5337
5338
5339
5340
5341
5342
5343
5344
5345
5346
5347
5348
5349
5350
5351
5352
5353
5354
5355
5356
5357
5358
5359
5360
5361
5362
5363
5364
5365
5366
5367
5368
5369
5370
5371
5372
5373
5374
5375
5376
5377
5378
5379
5380
5381
5382
5383
5384
5385
5386
5387
5388
5389
5390
5391
5392
5393
5394
5395
5396
5397
5398
5399
5400
5401
5402
5403
5404
5405
5406
5407
5408
5409
5410
5411
5412
5413
5414
5415
5416
5417
5418
5419
5420
5421
5422
5423
5424
5425
5426
5427
5428
5429
5430
5431
5432
5433
5434
5435
5436
5437
5438
5439
5440
5441
5442
5443
5444
5445
5446
5447
5448
5449
5450
5451
5452
5453
5454
5455
5456
5457
5458
5459
5460
5461
5462
5463
5464
5465
5466
5467
5468
5469
5470
5471
5472
5473
5474
5475
5476
5477
5478
5479
5480
5481
5482
5483
5484
5485
5486
5487
5488
5489
5490
5491
5492
5493
5494
5495
5496
5497
5498
5499
5500
5501
5502
5503
5504
5505
5506
5507
5508
5509
5510
5511
5512
5513
5514
5515
5516
5517
5518
5519
5520
5521
5522
5523
5524
5525
5526
5527
5528
5529
5530
5531
5532
5533
5534
5535
5536
5537
5538
5539
5540
5541
5542
5543
5544
5545
5546
5547
5548
5549
5550
5551
5552
5553
5554
5555
5556
5557
5558
5559
5560
5561
5562
5563
5564
5565
5566
5567
5568
5569
5570
5571
5572
5573
5574
5575
5576
5577
5578
5579
5580
5581
5582
5583
5584
5585
5586
5587
5588
5589
5590
5591
5592
5593
5594
5595
5596
5597
5598
5599
5600
5601
5602
5603
5604
5605
5606
5607
5608
5609
5610
5611
5612
5613
5614
5615
5616
5617
5618
5619
5620
5621
5622
5623
5624
5625
5626
5627
5628
5629
5630
5631
5632
5633
5634
5635
5636
5637
5638
5639
5640
5641
5642
5643
5644
5645
5646
5647
5648
5649
5650
5651
5652
5653
5654
5655
5656
5657
5658
5659
5660
5661
5662
5663
5664
5665
5666
5667
5668
5669
5670
5671
5672
5673
5674
5675
5676
5677
5678
5679
5680
5681
5682
5683
5684
5685
5686
5687
5688
5689
5690
5691
5692
5693
5694
5695
5696
5697
5698
5699
5700
5701
5702
5703
5704
5705
5706
5707
5708
5709
5710
5711
5712
5713
5714
5715
5716
5717
5718
5719
5720
5721
5722
5723
5724
5725
5726
5727
5728
5729
5730
5731
5732
5733
5734
5735
5736
5737
5738
5739
5740
5741
5742
5743
5744
5745
5746
5747
5748
5749
5750
5751
5752
5753
5754
5755
5756
5757
5758
5759
5760
5761
5762
5763
5764
5765
5766
5767
5768
5769
5770
5771
5772
5773
5774
5775
5776
5777
5778
5779
5780
5781
5782
5783
5784
5785
5786
5787
5788
5789
5790
5791
5792
5793
5794
5795
5796
5797
5798
5799
5800
5801
5802
5803
5804
5805
5806
5807
5808
5809
5810
5811
5812
5813
5814
5815
5816
5817
5818
5819
5820
5821
5822
5823
5824
5825
5826
5827
5828
5829
5830
5831
5832
5833
5834
5835
5836
5837
5838
5839
5840
5841
5842
5843
5844
5845
5846
5847
5848
5849
5850
5851
5852
5853
5854
5855
5856
5857
5858
5859
5860
5861
5862
5863
5864
5865
5866
5867
5868
5869
5870
5871
5872
5873
5874
5875
5876
5877
5878
5879
5880
5881
5882
5883
5884
5885
5886
5887
5888
5889
5890
5891
5892
5893
5894
5895
5896
5897
5898
5899
5900
5901
5902
5903
5904
5905
5906
5907
5908
5909
5910
5911
5912
5913
5914
5915
5916
5917
5918
5919
5920
5921
5922
5923
5924
5925
5926
5927
5928
5929
5930
5931
5932
5933
5934
5935
5936
5937
5938
5939
5940
5941
5942
5943
5944
5945
5946
5947
5948
5949
5950
5951
5952
5953
5954
5955
5956
5957
5958
5959
5960
5961
5962
5963
5964
5965
5966
5967
5968
5969
5970
5971
5972
5973
5974
5975
5976
5977
5978
5979
5980
5981
5982
5983
5984
5985
5986
5987
5988
5989
5990
5991
5992
5993
5994
5995
5996
5997
5998
5999
6000
6001
6002
6003
6004
6005
6006
6007
6008
6009
6010
6011
6012
6013
6014
6015
6016
6017
6018
6019
6020
6021
6022
6023
6024
6025
6026
6027
6028
6029
6030
6031
6032
6033
6034
6035
6036
6037
6038
6039
6040
6041
6042
6043
6044
6045
6046
6047
6048
6049
6050
6051
6052
6053
6054
6055
6056
6057
6058
6059
6060
6061
6062
6063
6064
6065
6066
6067
6068
6069
6070
6071
6072
6073
6074
6075
6076
6077
6078
6079
6080
6081
6082
6083
6084
6085
6086
6087
6088
6089
6090
6091
6092
6093
6094
6095
6096
6097
6098
6099
6100
6101
6102
6103
6104
6105
6106
6107
6108
6109
6110
6111
6112
6113
6114
6115
6116
6117
6118
6119
6120
6121
6122
6123
6124
6125
6126
6127
6128
6129
6130
6131
6132
6133
6134
6135
6136
6137
6138
6139
6140
6141
6142
6143
6144
6145
6146
6147
6148
6149
6150
6151
6152
6153
6154
6155
6156
6157
6158
6159
6160
6161
6162
6163
6164
6165
6166
6167
6168
6169
6170
6171
6172
6173
6174
6175
6176
6177
6178
6179
6180
6181
6182
6183
6184
6185
6186
6187
6188
6189
6190
6191
6192
6193
6194
6195
6196
6197
6198
6199
6200
6201
6202
6203
6204
6205
6206
6207
6208
6209
6210
6211
6212
6213
6214
6215
6216
6217
6218
6219
6220
6221
6222
6223
6224
6225
6226
6227
6228
6229
6230
6231
6232
6233
6234
6235
6236
6237
6238
6239
6240
6241
6242
6243
6244
6245
6246
6247
6248
6249
6250
6251
6252
6253
6254
6255
6256
6257
6258
6259
6260
6261
6262
6263
6264
6265
6266
6267
6268
6269
6270
6271
6272
6273
6274
6275
6276
6277
6278
6279
6280
6281
6282
6283
6284
6285
6286
6287
6288
6289
6290
6291
6292
6293
6294
6295
6296
6297
6298
6299
6300
6301
6302
6303
6304
6305
6306
6307
6308
6309
6310
6311
6312
6313
6314
6315
6316
6317
6318
6319
6320
6321
6322
6323
6324
6325
6326
6327
6328
6329
6330
6331
6332
6333
6334
6335
6336
6337
6338
6339
6340
6341
6342
6343
6344
6345
6346
6347
6348
6349
6350
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
6363
6364
6365
6366
6367
6368
6369
6370
6371
6372
6373
6374
6375
6376
6377
6378
6379
6380
6381
6382
6383
6384
6385
6386
6387
6388
6389
6390
6391
6392
6393
6394
6395
6396
6397
6398
6399
6400
6401
6402
6403
6404
6405
6406
6407
6408
6409
6410
6411
6412
6413
6414
6415
6416
6417
6418
6419
6420
6421
6422
6423
6424
6425
6426
6427
6428
6429
6430
6431
6432
6433
6434
6435
6436
6437
6438
6439
6440
6441
6442
6443
6444
6445
6446
6447
6448
6449
6450
6451
6452
6453
6454
6455
6456
6457
6458
6459
6460
6461
6462
6463
6464
6465
6466
6467
6468
6469
6470
6471
6472
6473
6474
6475
6476
6477
6478
6479
6480
6481
6482
6483
6484
6485
6486
6487
6488
6489
6490
6491
6492
6493
6494
6495
6496
6497
6498
6499
6500
6501
6502
6503
6504
6505
6506
6507
6508
6509
6510
6511
6512
6513
6514
6515
6516
6517
6518
6519
6520
6521
6522
6523
6524
6525
6526
6527
6528
6529
6530
6531
6532
6533
6534
6535
6536
6537
6538
6539
6540
6541
6542
6543
6544
6545
6546
6547
6548
6549
6550
6551
6552
6553
6554
6555
6556
6557
6558
6559
6560
6561
6562
6563
6564
6565
6566
6567
6568
6569
6570
6571
6572
6573
6574
6575
6576
6577
6578
6579
6580
6581
6582
6583
6584
6585
6586
6587
6588
6589
6590
6591
6592
6593
6594
6595
6596
6597
6598
6599
6600
6601
6602
6603
6604
6605
6606
6607
6608
6609
6610
6611
6612
6613
6614
6615
6616
6617
6618
6619
6620
6621
6622
6623
6624
6625
6626
6627
6628
6629
6630
6631
6632
6633
6634
6635
6636
6637
6638
6639
6640
6641
6642
6643
6644
6645
6646
6647
6648
6649
6650
6651
6652
6653
6654
6655
6656
6657
6658
6659
6660
6661
6662
6663
6664
6665
6666
6667
6668
6669
6670
6671
6672
6673
6674
6675
6676
6677
6678
6679
6680
6681
6682
6683
6684
6685
6686
6687
6688
6689
6690
6691
6692
6693
6694
6695
6696
6697
6698
6699
6700
6701
6702
6703
6704
6705
6706
6707
6708
6709
6710
6711
6712
6713
6714
6715
6716
6717
6718
6719
6720
6721
6722
6723
6724
6725
6726
6727
6728
6729
6730
6731
6732
6733
6734
6735
6736
6737
6738
6739
6740
6741
6742
6743
6744
6745
6746
6747
6748
6749
6750
6751
6752
6753
6754
6755
6756
6757
6758
6759
6760
6761
6762
6763
6764
6765
6766
6767
6768
6769
6770
6771
6772
6773
6774
6775
6776
6777
6778
6779
6780
6781
6782
6783
6784
6785
6786
6787
6788
6789
6790
6791
6792
6793
6794
6795
6796
6797
6798
6799
6800
6801
6802
6803
6804
6805
6806
6807
6808
6809
6810
6811
6812
6813
6814
6815
6816
6817
6818
6819
6820
6821
6822
6823
6824
6825
6826
6827
6828
6829
6830
6831
6832
6833
6834
6835
6836
6837
6838
6839
6840
6841
6842
6843
6844
6845
6846
6847
6848
6849
6850
6851
6852
6853
6854
6855
6856
6857
6858
6859
6860
6861
6862
6863
6864
6865
6866
6867
6868
6869
6870
6871
6872
6873
6874
6875
6876
6877
6878
6879
6880
6881
6882
6883
6884
6885
6886
6887
6888
6889
6890
6891
6892
6893
6894
6895
6896
6897
6898
6899
6900
6901
6902
6903
6904
6905
6906
6907
6908
6909
6910
6911
6912
6913
6914
6915
6916
6917
6918
6919
6920
6921
6922
6923
6924
6925
6926
6927
6928
6929
6930
6931
6932
6933
6934
6935
6936
6937
6938
6939
6940
6941
6942
6943
6944
6945
6946
6947
6948
6949
6950
6951
6952
6953
6954
6955
6956
6957
6958
6959
6960
6961
6962
6963
6964
6965
6966
6967
6968
6969
6970
6971
6972
6973
6974
6975
6976
6977
6978
6979
6980
6981
6982
6983
6984
6985
6986
6987
6988
6989
6990
6991
6992
6993
6994
6995
6996
6997
6998
6999
7000
7001
7002
7003
7004
7005
7006
7007
7008
7009
7010
7011
7012
7013
7014
7015
7016
7017
7018
7019
7020
7021
7022
7023
7024
7025
7026
7027
7028
7029
7030
7031
7032
7033
7034
7035
7036
7037
7038
7039
7040
7041
7042
7043
7044
7045
7046
7047
7048
7049
7050
7051
7052
7053
7054
7055
7056
7057
7058
7059
7060
7061
7062
7063
7064
7065
7066
7067
7068
7069
7070
7071
7072
7073
7074
7075
7076
7077
7078
7079
7080
7081
7082
7083
7084
7085
7086
7087
7088
7089
7090
7091
7092
7093
7094
7095
7096
7097
7098
7099
7100
7101
7102
7103
7104
7105
7106
7107
7108
7109
7110
7111
7112
7113
7114
7115
7116
7117
7118
7119
7120
7121
7122
7123
7124
7125
7126
7127
7128
7129
7130
7131
7132
7133
7134
7135
7136
7137
7138
7139
7140
7141
7142
7143
7144
7145
7146
7147
7148
7149
7150
7151
7152
7153
7154
7155
7156
7157
7158
7159
7160
7161
7162
7163
7164
7165
7166
7167
7168
7169
7170
7171
7172
7173
7174
7175
7176
7177
7178
7179
7180
7181
7182
7183
7184
7185
7186
7187
7188
7189
7190
7191
7192
7193
7194
7195
7196
7197
7198
7199
7200
7201
7202
7203
7204
7205
7206
7207
7208
7209
7210
7211
7212
7213
7214
7215
7216
7217
7218
7219
7220
7221
7222
7223
7224
7225
7226
7227
7228
7229
7230
7231
7232
7233
7234
7235
7236
7237
7238
7239
7240
7241
7242
7243
7244
7245
7246
7247
7248
7249
7250
7251
7252
7253
7254
7255
7256
7257
7258
7259
7260
7261
7262
7263
7264
7265
7266
7267
7268
7269
7270
7271
7272
7273
7274
7275
7276
7277
7278
7279
7280
7281
7282
7283
7284
7285
7286
7287
7288
7289
7290
7291
7292
7293
7294
7295
7296
7297
7298
7299
7300
7301
7302
7303
7304
7305
7306
7307
7308
7309
7310
7311
7312
7313
7314
7315
7316
7317
7318
7319
7320
7321
7322
7323
7324
7325
7326
7327
7328
7329
7330
7331
7332
7333
7334
7335
7336
7337
7338
7339
7340
7341
7342
7343
7344
7345
7346
7347
7348
7349
7350
7351
7352
7353
7354
7355
7356
7357
7358
7359
7360
7361
7362
7363
7364
7365
7366
7367
7368
7369
7370
7371
7372
7373
7374
7375
7376
7377
7378
7379
7380
7381
7382
7383
7384
7385
7386
7387
7388
7389
7390
7391
7392
7393
7394
7395
7396
7397
7398
7399
7400
7401
7402
7403
7404
7405
7406
7407
7408
7409
7410
7411
7412
7413
7414
7415
7416
7417
7418
7419
7420
7421
7422
7423
7424
7425
7426
7427
7428
7429
7430
7431
7432
7433
7434
7435
7436
7437
7438
7439
7440
7441
7442
7443
7444
7445
7446
7447
7448
7449
7450
7451
7452
7453
7454
7455
7456
7457
7458
7459
7460
7461
7462
7463
7464
7465
7466
7467
7468
7469
7470
7471
7472
7473
7474
7475
7476
7477
7478
7479
7480
7481
7482
7483
7484
7485
7486
7487
7488
7489
7490
7491
7492
7493
7494
7495
7496
7497
7498
7499
7500
7501
7502
7503
7504
7505
7506
7507
7508
7509
7510
7511
7512
7513
7514
7515
7516
7517
7518
7519
7520
7521
7522
7523
7524
7525
7526
7527
7528
7529
7530
7531
7532
7533
7534
7535
7536
7537
7538
7539
7540
7541
7542
7543
7544
7545
7546
7547
7548
7549
7550
7551
7552
7553
7554
7555
7556
7557
7558
7559
7560
7561
7562
7563
7564
7565
7566
7567
7568
7569
7570
7571
7572
7573
7574
7575
7576
7577
7578
7579
7580
7581
7582
7583
7584
7585
7586
7587
7588
7589
7590
7591
7592
7593
7594
7595
7596
7597
7598
7599
7600
7601
7602
7603
7604
7605
7606
7607
7608
7609
7610
7611
7612
7613
7614
7615
7616
7617
7618
7619
7620
7621
7622
7623
7624
7625
7626
7627
7628
7629
7630
7631
7632
7633
7634
7635
7636
7637
7638
7639
7640
7641
7642
7643
7644
7645
7646
7647
7648
7649
7650
7651
7652
7653
7654
7655
7656
7657
7658
7659
7660
7661
7662
7663
7664
7665
7666
7667
7668
7669
7670
7671
7672
7673
7674
7675
7676
7677
7678
7679
7680
7681
7682
7683
7684
7685
7686
7687
7688
7689
7690
7691
7692
7693
7694
7695
7696
7697
7698
7699
7700
7701
7702
7703
7704
7705
7706
7707
7708
7709
7710
7711
7712
7713
7714
7715
7716
7717
7718
7719
7720
7721
7722
7723
7724
7725
7726
7727
7728
7729
7730
7731
7732
7733
7734
7735
7736
7737
7738
7739
7740
7741
7742
7743
7744
7745
7746
7747
7748
7749
7750
7751
7752
7753
7754
7755
7756
7757
7758
7759
7760
7761
7762
7763
7764
7765
7766
7767
7768
7769
7770
7771
7772
7773
7774
7775
7776
7777
7778
7779
7780
7781
7782
7783
7784
7785
7786
7787
7788
7789
7790
7791
7792
7793
7794
7795
7796
7797
7798
7799
7800
7801
7802
7803
7804
7805
7806
7807
7808
7809
7810
7811
7812
7813
7814
7815
7816
7817
7818
7819
7820
7821
7822
7823
7824
7825
7826
7827
7828
7829
7830
7831
7832
7833
7834
7835
7836
7837
7838
7839
7840
7841
7842
7843
7844
7845
7846
7847
7848
7849
7850
7851
7852
7853
7854
7855
7856
7857
7858
7859
7860
7861
7862
7863
7864
7865
7866
7867
7868
7869
7870
7871
7872
7873
7874
7875
7876
7877
7878
7879
7880
7881
7882
7883
7884
7885
7886
7887
7888
7889
7890
7891
7892
7893
7894
7895
7896
7897
7898
7899
7900
7901
7902
7903
7904
7905
7906
7907
7908
7909
7910
7911
7912
7913
7914
7915
7916
7917
7918
7919
7920
7921
7922
7923
7924
7925
7926
7927
7928
7929
7930
7931
7932
7933
7934
7935
7936
7937
7938
7939
7940
7941
7942
7943
7944
7945
7946
7947
7948
7949
7950
7951
7952
7953
7954
7955
7956
7957
7958
7959
7960
7961
7962
7963
7964
7965
7966
7967
7968
7969
7970
7971
7972
7973
7974
7975
7976
7977
7978
7979
7980
7981
7982
7983
7984
7985
7986
7987
7988
7989
7990
7991
7992
7993
7994
7995
7996
7997
7998
7999
8000
8001
8002
8003
8004
8005
8006
8007
8008
8009
8010
8011
8012
8013
8014
8015
8016
8017
8018
8019
8020
8021
8022
8023
8024
8025
8026
8027
8028
8029
8030
8031
8032
8033
8034
8035
8036
8037
8038
8039
8040
8041
8042
8043
8044
8045
8046
8047
8048
8049
8050
8051
8052
8053
8054
8055
8056
8057
8058
8059
8060
8061
8062
8063
8064
8065
8066
8067
8068
8069
8070
8071
8072
8073
8074
8075
8076
8077
8078
8079
8080
8081
8082
8083
8084
8085
8086
8087
8088
8089
8090
8091
8092
8093
8094
8095
8096
8097
8098
8099
8100
8101
8102
8103
8104
8105
8106
8107
8108
8109
8110
8111
8112
8113
8114
8115
8116
8117
8118
8119
8120
8121
8122
8123
8124
8125
8126
8127
8128
8129
8130
8131
8132
8133
8134
8135
8136
8137
8138
8139
8140
8141
8142
8143
8144
8145
8146
8147
8148
8149
8150
8151
8152
8153
8154
8155
8156
8157
8158
8159
8160
8161
8162
8163
8164
8165
8166
8167
8168
8169
8170
8171
8172
8173
8174
8175
8176
8177
8178
8179
8180
8181
8182
8183
8184
8185
8186
8187
8188
8189
8190
8191
8192
8193
8194
8195
8196
8197
8198
8199
8200
8201
8202
8203
8204
8205
8206
8207
8208
8209
8210
8211
8212
8213
8214
8215
8216
8217
8218
8219
8220
8221
8222
8223
8224
8225
8226
8227
8228
8229
8230
8231
8232
8233
8234
8235
8236
8237
8238
8239
8240
8241
8242
8243
8244
8245
8246
8247
8248
8249
8250
8251
8252
8253
8254
8255
8256
8257
8258
8259
8260
8261
8262
8263
8264
8265
8266
8267
8268
8269
8270
8271
8272
8273
8274
8275
8276
8277
8278
8279
8280
8281
8282
8283
8284
8285
8286
8287
8288
8289
8290
8291
8292
8293
8294
8295
8296
8297
8298
8299
8300
8301
8302
8303
8304
8305
8306
8307
8308
8309
8310
8311
8312
8313
8314
8315
8316
8317
8318
8319
8320
8321
8322
8323
8324
8325
8326
8327
8328
8329
8330
8331
8332
8333
8334
8335
8336
8337
8338
8339
8340
8341
8342
8343
8344
8345
8346
8347
8348
8349
8350
8351
8352
8353
8354
8355
8356
8357
8358
8359
8360
8361
8362
8363
8364
8365
8366
8367
8368
8369
8370
8371
8372
8373
8374
8375
8376
8377
8378
8379
8380
8381
8382
8383
8384
8385
8386
8387
8388
8389
8390
8391
8392
8393
8394
8395
8396
8397
8398
8399
8400
8401
8402
8403
8404
8405
8406
8407
8408
8409
8410
8411
8412
8413
8414
8415
8416
8417
8418
8419
8420
8421
8422
8423
8424
8425
8426
8427
8428
8429
8430
8431
8432
8433
8434
8435
8436
8437
8438
8439
8440
8441
8442
8443
8444
8445
8446
8447
8448
8449
8450
8451
8452
8453
8454
8455
8456
8457
8458
8459
8460
8461
8462
8463
8464
8465
8466
8467
8468
8469
8470
8471
8472
8473
8474
8475
8476
8477
8478
8479
8480
8481
8482
8483
8484
8485
8486
8487
8488
8489
8490
8491
8492
8493
8494
8495
8496
8497
8498
8499
8500
8501
8502
8503
8504
8505
8506
8507
8508
8509
8510
8511
8512
8513
8514
8515
8516
8517
8518
8519
8520
8521
8522
8523
8524
8525
8526
8527
8528
8529
8530
8531
8532
8533
8534
8535
8536
8537
8538
8539
8540
8541
8542
8543
8544
8545
8546
8547
8548
8549
8550
8551
8552
8553
8554
8555
8556
8557
8558
8559
8560
8561
8562
8563
8564
8565
8566
8567
8568
8569
8570
8571
8572
8573
8574
8575
8576
8577
8578
8579
8580
8581
8582
8583
8584
8585
8586
8587
8588
8589
8590
8591
8592
8593
8594
8595
8596
8597
8598
8599
8600
8601
8602
8603
8604
8605
8606
8607
8608
8609
8610
8611
8612
8613
8614
8615
8616
8617
8618
8619
8620
8621
8622
8623
8624
8625
8626
8627
8628
8629
8630
8631
8632
8633
8634
8635
8636
8637
8638
8639
8640
8641
8642
8643
8644
8645
8646
8647
8648
8649
8650
8651
8652
8653
8654
8655
8656
8657
8658
8659
8660
8661
8662
8663
8664
8665
8666
8667
8668
8669
8670
8671
8672
8673
8674
8675
8676
8677
8678
8679
8680
8681
8682
8683
8684
8685
8686
8687
8688
8689
8690
8691
8692
8693
8694
8695
8696
8697
8698
8699
8700
8701
8702
8703
8704
8705
8706
8707
8708
8709
8710
8711
8712
8713
8714
8715
8716
8717
8718
8719
8720
8721
8722
8723
8724
8725
8726
8727
8728
8729
8730
8731
8732
8733
8734
8735
8736
8737
8738
8739
8740
8741
8742
8743
8744
8745
8746
8747
8748
8749
8750
8751
8752
8753
8754
8755
8756
8757
8758
8759
8760
8761
8762
8763
8764
8765
8766
8767
8768
8769
8770
8771
8772
8773
8774
8775
8776
8777
8778
8779
8780
8781
8782
8783
8784
8785
8786
8787
8788
8789
8790
8791
8792
8793
8794
8795
8796
8797
8798
8799
8800
8801
8802
8803
8804
8805
8806
8807
8808
8809
8810
8811
8812
8813
8814
8815
8816
8817
8818
8819
8820
8821
8822
8823
8824
8825
8826
8827
8828
8829
8830
8831
8832
8833
8834
8835
8836
8837
8838
8839
8840
8841
8842
8843
8844
8845
8846
8847
8848
8849
8850
8851
8852
8853
8854
8855
8856
8857
8858
8859
8860
8861
8862
8863
8864
8865
8866
8867
8868
8869
8870
8871
8872
8873
8874
8875
8876
8877
8878
8879
8880
8881
8882
8883
8884
8885
8886
8887
8888
8889
8890
8891
8892
8893
8894
8895
8896
8897
8898
8899
8900
8901
8902
8903
8904
8905
8906
8907
8908
8909
8910
8911
8912
8913
8914
8915
8916
8917
8918
8919
8920
8921
8922
8923
8924
8925
8926
8927
8928
8929
8930
8931
8932
8933
8934
8935
8936
8937
8938
8939
8940
8941
8942
8943
8944
8945
8946
8947
8948
8949
8950
8951
8952
8953
8954
8955
8956
8957
8958
8959
8960
8961
8962
8963
8964
8965
8966
8967
8968
8969
8970
8971
8972
8973
8974
8975
8976
8977
8978
8979
8980
8981
8982
8983
8984
8985
8986
8987
8988
8989
8990
8991
8992
8993
8994
8995
8996
8997
8998
8999
9000
9001
9002
9003
9004
9005
9006
9007
9008
9009
9010
9011
9012
9013
9014
9015
9016
9017
9018
9019
9020
9021
9022
9023
9024
9025
9026
9027
9028
9029
9030
9031
9032
9033
9034
9035
9036
9037
9038
9039
9040
9041
9042
9043
9044
9045
9046
9047
9048
9049
9050
9051
9052
9053
9054
9055
9056
9057
9058
9059
9060
9061
9062
9063
9064
9065
9066
9067
9068
9069
9070
9071
9072
9073
9074
9075
9076
9077
9078
9079
9080
9081
9082
9083
9084
9085
9086
9087
9088
9089
9090
9091
9092
9093
9094
9095
9096
9097
9098
9099
9100
9101
9102
9103
9104
9105
9106
9107
9108
9109
9110
9111
9112
9113
9114
9115
9116
9117
9118
9119
9120
9121
9122
9123
9124
9125
9126
9127
9128
9129
9130
9131
9132
9133
9134
9135
9136
9137
9138
9139
9140
9141
9142
9143
9144
9145
9146
9147
9148
9149
9150
9151
9152
9153
9154
9155
9156
9157
9158
9159
9160
9161
9162
9163
9164
9165
9166
9167
9168
9169
9170
9171
9172
9173
9174
9175
9176
9177
9178
9179
9180
9181
9182
9183
9184
9185
9186
9187
9188
9189
9190
9191
9192
9193
9194
9195
9196
9197
9198
9199
9200
9201
9202
9203
9204
9205
9206
9207
9208
9209
9210
9211
9212
9213
9214
9215
9216
9217
9218
9219
9220
9221
9222
9223
9224
9225
9226
9227
9228
9229
9230
9231
9232
9233
9234
9235
9236
9237
9238
9239
9240
9241
9242
9243
9244
9245
9246
9247
9248
9249
9250
9251
9252
9253
9254
9255
9256
9257
9258
9259
9260
9261
9262
9263
9264
9265
9266
9267
9268
9269
9270
9271
9272
9273
9274
9275
9276
9277
9278
9279
9280
9281
9282
9283
9284
9285
9286
9287
9288
9289
9290
9291
9292
9293
9294
9295
9296
9297
9298
9299
9300
9301
9302
9303
9304
9305
9306
9307
9308
9309
9310
9311
9312
9313
9314
9315
9316
9317
9318
9319
9320
9321
9322
9323
9324
9325
9326
9327
9328
9329
9330
9331
9332
9333
9334
9335
9336
9337
9338
9339
9340
9341
9342
9343
9344
9345
9346
9347
9348
9349
9350
9351
9352
9353
9354
9355
9356
9357
9358
9359
9360
9361
9362
9363
9364
9365
9366
9367
9368
9369
9370
9371
9372
9373
9374
9375
9376
9377
9378
9379
9380
9381
9382
9383
9384
9385
9386
9387
9388
9389
9390
9391
9392
9393
9394
9395
9396
9397
9398
9399
9400
9401
9402
9403
9404
9405
9406
9407
9408
9409
9410
9411
9412
9413
9414
9415
9416
9417
9418
9419
9420
9421
9422
9423
9424
9425
9426
9427
9428
9429
9430
9431
9432
9433
9434
9435
9436
9437
9438
9439
9440
9441
9442
9443
9444
9445
9446
9447
9448
9449
9450
9451
9452
9453
9454
9455
9456
9457
9458
9459
9460
9461
9462
9463
9464
9465
9466
9467
9468
9469
9470
9471
9472
9473
9474
9475
9476
9477
9478
9479
9480
9481
9482
9483
9484
9485
9486
9487
9488
9489
9490
9491
9492
9493
9494
9495
9496
9497
9498
9499
9500
9501
9502
9503
9504
9505
9506
9507
9508
9509
9510
9511
9512
9513
9514
9515
9516
9517
9518
9519
9520
9521
9522
9523
9524
9525
9526
9527
9528
9529
9530
9531
9532
9533
9534
9535
9536
9537
9538
9539
9540
9541
9542
9543
9544
9545
9546
9547
9548
9549
9550
9551
9552
9553
9554
9555
9556
diff -pruN uptimed-0.3.16.orig/Makefile.am uptimed-0.3.16/Makefile.am
--- uptimed-0.3.16.orig/Makefile.am	2009-01-03 17:27:13.930145075 +0000
+++ uptimed-0.3.16/Makefile.am	2009-01-03 17:32:42.419894893 +0000
@@ -6,6 +6,7 @@ EXTRA_DIST = CREDITS INSTALL.cgi INSTALL
 	sample-cgi/uprecords.conf sample-cgi/uprecords.header \
 	sample-cgi/uprecords.footer uptimed.spec depcomp
 
+ACLOCAL_AMFLAGS = -I m4
 AM_CFLAGS = @CFLAGS@ -DFILE_CONFIG=\"$(sysconfdir)/uptimed.conf\"
 
 install-data-local:
diff -pruN uptimed-0.3.16.orig/Makefile.in uptimed-0.3.16/Makefile.in
--- uptimed-0.3.16.orig/Makefile.in	2009-01-03 17:27:13.929145019 +0000
+++ uptimed-0.3.16/Makefile.in	2009-01-03 17:32:52.993144459 +0000
@@ -40,7 +40,10 @@ DIST_COMMON = README $(am__configure_dep
 	COPYING ChangeLog INSTALL NEWS TODO config.guess config.sub \
 	depcomp install-sh ltmain.sh missing mkinstalldirs
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
@@ -188,6 +191,7 @@ EXTRA_DIST = CREDITS INSTALL.cgi INSTALL
 	sample-cgi/uprecords.conf sample-cgi/uprecords.header \
 	sample-cgi/uprecords.footer uptimed.spec depcomp
 
+ACLOCAL_AMFLAGS = -I m4
 AM_CFLAGS = @CFLAGS@ -DFILE_CONFIG=\"$(sysconfdir)/uptimed.conf\"
 all: config.h
 	$(MAKE) $(AM_MAKEFLAGS) all-recursive
diff -pruN uptimed-0.3.16.orig/aclocal.m4 uptimed-0.3.16/aclocal.m4
--- uptimed-0.3.16.orig/aclocal.m4	1970-01-01 00:00:00.000000000 +0000
+++ uptimed-0.3.16/aclocal.m4	2009-01-03 17:32:47.485147079 +0000
@@ -0,0 +1,894 @@
+# generated automatically by aclocal 1.10.2 -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+m4_ifndef([AC_AUTOCONF_VERSION],
+  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.63],,
+[m4_warning([this file was generated for autoconf 2.63.
+You have another version of autoconf.  It may work, but is not guaranteed to.
+If you have problems, you may need to regenerate the build system entirely.
+To do so, use the procedure documented by the package, typically `autoreconf'.])])
+
+# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_AUTOMAKE_VERSION(VERSION)
+# ----------------------------
+# Automake X.Y traces this macro to ensure aclocal.m4 has been
+# generated from the m4 files accompanying Automake X.Y.
+# (This private macro should not be called outside this file.)
+AC_DEFUN([AM_AUTOMAKE_VERSION],
+[am__api_version='1.10'
+dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
+dnl require some minimum version.  Point them to the right macro.
+m4_if([$1], [1.10.2], [],
+      [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
+])
+
+# _AM_AUTOCONF_VERSION(VERSION)
+# -----------------------------
+# aclocal traces this macro to find the Autoconf version.
+# This is a private macro too.  Using m4_define simplifies
+# the logic in aclocal, which can simply ignore this definition.
+m4_define([_AM_AUTOCONF_VERSION], [])
+
+# AM_SET_CURRENT_AUTOMAKE_VERSION
+# -------------------------------
+# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
+# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
+AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+[AM_AUTOMAKE_VERSION([1.10.2])dnl
+m4_ifndef([AC_AUTOCONF_VERSION],
+  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
+
+# AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
+
+# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
+# $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
+# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+#
+# Of course, Automake must honor this variable whenever it calls a
+# tool from the auxiliary directory.  The problem is that $srcdir (and
+# therefore $ac_aux_dir as well) can be either absolute or relative,
+# depending on how configure is run.  This is pretty annoying, since
+# it makes $ac_aux_dir quite unusable in subdirectories: in the top
+# source directory, any form will work fine, but in subdirectories a
+# relative path needs to be adjusted first.
+#
+# $ac_aux_dir/missing
+#    fails when called from a subdirectory if $ac_aux_dir is relative
+# $top_srcdir/$ac_aux_dir/missing
+#    fails if $ac_aux_dir is absolute,
+#    fails when called from a subdirectory in a VPATH build with
+#          a relative $ac_aux_dir
+#
+# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
+# are both prefixed by $srcdir.  In an in-source build this is usually
+# harmless because $srcdir is `.', but things will broke when you
+# start a VPATH build or use an absolute $srcdir.
+#
+# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
+# iff we strip the leading $srcdir from $ac_aux_dir.  That would be:
+#   am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
+# and then we would define $MISSING as
+#   MISSING="\${SHELL} $am_aux_dir/missing"
+# This will work as long as MISSING is not called from configure, because
+# unfortunately $(top_srcdir) has no meaning in configure.
+# However there are other variables, like CC, which are often used in
+# configure, and could therefore not use this "fixed" $ac_aux_dir.
+#
+# Another solution, used here, is to always expand $ac_aux_dir to an
+# absolute PATH.  The drawback is that using absolute paths prevent a
+# configured tree to be moved without reconfiguration.
+
+AC_DEFUN([AM_AUX_DIR_EXPAND],
+[dnl Rely on autoconf to set up CDPATH properly.
+AC_PREREQ([2.50])dnl
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+])
+
+# AM_CONDITIONAL                                            -*- Autoconf -*-
+
+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 8
+
+# AM_CONDITIONAL(NAME, SHELL-CONDITION)
+# -------------------------------------
+# Define a conditional.
+AC_DEFUN([AM_CONDITIONAL],
+[AC_PREREQ(2.52)dnl
+ ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
+	[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+AC_SUBST([$1_TRUE])dnl
+AC_SUBST([$1_FALSE])dnl
+_AM_SUBST_NOTMAKE([$1_TRUE])dnl
+_AM_SUBST_NOTMAKE([$1_FALSE])dnl
+if $2; then
+  $1_TRUE=
+  $1_FALSE='#'
+else
+  $1_TRUE='#'
+  $1_FALSE=
+fi
+AC_CONFIG_COMMANDS_PRE(
+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
+  AC_MSG_ERROR([[conditional "$1" was never defined.
+Usually this means the macro was only invoked conditionally.]])
+fi])])
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 9
+
+# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
+# written in clear, in which case automake, when reading aclocal.m4,
+# will think it sees a *use*, and therefore will trigger all it's
+# C support machinery.  Also note that it means that autoscan, seeing
+# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
+
+
+# _AM_DEPENDENCIES(NAME)
+# ----------------------
+# See how the compiler implements dependency checking.
+# NAME is "CC", "CXX", "GCJ", or "OBJC".
+# We try a few techniques and use that to set a single cache variable.
+#
+# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
+# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
+# dependency, and given that the user is not expected to run this macro,
+# just rely on AC_PROG_CC.
+AC_DEFUN([_AM_DEPENDENCIES],
+[AC_REQUIRE([AM_SET_DEPDIR])dnl
+AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
+AC_REQUIRE([AM_MAKE_INCLUDE])dnl
+AC_REQUIRE([AM_DEP_TRACK])dnl
+
+ifelse([$1], CC,   [depcc="$CC"   am_compiler_list=],
+       [$1], CXX,  [depcc="$CXX"  am_compiler_list=],
+       [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+       [$1], UPC,  [depcc="$UPC"  am_compiler_list=],
+       [$1], GCJ,  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
+                   [depcc="$$1"   am_compiler_list=])
+
+AC_CACHE_CHECK([dependency style of $depcc],
+               [am_cv_$1_dependencies_compiler_type],
+[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+  # We make a subdir and do the tests there.  Otherwise we can end up
+  # making bogus files that we don't know about and never remove.  For
+  # instance it was reported that on HP-UX the gcc test will end up
+  # making a dummy file named `D' -- because `-MD' means `put the output
+  # in D'.
+  mkdir conftest.dir
+  # Copy depcomp to subdir because otherwise we won't find it if we're
+  # using a relative directory.
+  cp "$am_depcomp" conftest.dir
+  cd conftest.dir
+  # We will build objects and dependencies in a subdirectory because
+  # it helps to detect inapplicable dependency modes.  For instance
+  # both Tru64's cc and ICC support -MD to output dependencies as a
+  # side effect of compilation, but ICC will put the dependencies in
+  # the current directory while Tru64 will put them in the object
+  # directory.
+  mkdir sub
+
+  am_cv_$1_dependencies_compiler_type=none
+  if test "$am_compiler_list" = ""; then
+     am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
+  fi
+  for depmode in $am_compiler_list; do
+    # Setup a source with many dependencies, because some compilers
+    # like to wrap large dependency lists on column 80 (with \), and
+    # we should not choose a depcomp mode which is confused by this.
+    #
+    # We need to recreate these files for each test, as the compiler may
+    # overwrite some of them when testing with obscure command lines.
+    # This happens at least with the AIX C compiler.
+    : > sub/conftest.c
+    for i in 1 2 3 4 5 6; do
+      echo '#include "conftst'$i'.h"' >> sub/conftest.c
+      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+      # Solaris 8's {/usr,}/bin/sh.
+      touch sub/conftst$i.h
+    done
+    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+    case $depmode in
+    nosideeffect)
+      # after this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested
+      if test "x$enable_dependency_tracking" = xyes; then
+	continue
+      else
+	break
+      fi
+      ;;
+    none) break ;;
+    esac
+    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle `-M -o', and we need to detect this.
+    if depmode=$depmode \
+       source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+       $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+         >/dev/null 2>conftest.err &&
+       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+      # icc doesn't choke on unknown options, it will just issue warnings
+      # or remarks (even with -Werror).  So we grep stderr for any message
+      # that says an option was ignored or not supported.
+      # When given -MP, icc 7.0 and 7.1 complain thusly:
+      #   icc: Command line warning: ignoring option '-M'; no argument required
+      # The diagnosis changed in icc 8.0:
+      #   icc: Command line remark: option '-MP' not supported
+      if (grep 'ignoring option' conftest.err ||
+          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+        am_cv_$1_dependencies_compiler_type=$depmode
+        break
+      fi
+    fi
+  done
+
+  cd ..
+  rm -rf conftest.dir
+else
+  am_cv_$1_dependencies_compiler_type=none
+fi
+])
+AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
+AM_CONDITIONAL([am__fastdep$1], [
+  test "x$enable_dependency_tracking" != xno \
+  && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
+])
+
+
+# AM_SET_DEPDIR
+# -------------
+# Choose a directory name for dependency files.
+# This macro is AC_REQUIREd in _AM_DEPENDENCIES
+AC_DEFUN([AM_SET_DEPDIR],
+[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
+])
+
+
+# AM_DEP_TRACK
+# ------------
+AC_DEFUN([AM_DEP_TRACK],
+[AC_ARG_ENABLE(dependency-tracking,
+[  --disable-dependency-tracking  speeds up one-time build
+  --enable-dependency-tracking   do not reject slow dependency extractors])
+if test "x$enable_dependency_tracking" != xno; then
+  am_depcomp="$ac_aux_dir/depcomp"
+  AMDEPBACKSLASH='\'
+fi
+AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
+AC_SUBST([AMDEPBACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
+])
+
+# Generate code to set up dependency tracking.              -*- Autoconf -*-
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+#serial 4
+
+# _AM_OUTPUT_DEPENDENCY_COMMANDS
+# ------------------------------
+AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
+[# Autoconf 2.62 quotes --file arguments for eval, but not when files
+# are listed without --file.  Let's play safe and only enable the eval
+# if we detect the quoting.
+case $CONFIG_FILES in
+*\'*) eval set x "$CONFIG_FILES" ;;
+*)   set x $CONFIG_FILES ;;
+esac
+shift
+for mf
+do
+  # Strip MF so we end up with the name of the file.
+  mf=`echo "$mf" | sed -e 's/:.*$//'`
+  # Check whether this is an Automake generated Makefile or not.
+  # We used to match only the files named `Makefile.in', but
+  # some people rename them; so instead we look at the file content.
+  # Grep'ing the first line is not enough: some people post-process
+  # each Makefile.in and add a new line on top of each file to say so.
+  # Grep'ing the whole file is not good either: AIX grep has a line
+  # limit of 2048, but all sed's we know have understand at least 4000.
+  if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+    dirpart=`AS_DIRNAME("$mf")`
+  else
+    continue
+  fi
+  # Extract the definition of DEPDIR, am__include, and am__quote
+  # from the Makefile without running `make'.
+  DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+  test -z "$DEPDIR" && continue
+  am__include=`sed -n 's/^am__include = //p' < "$mf"`
+  test -z "am__include" && continue
+  am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+  # When using ansi2knr, U may be empty or an underscore; expand it
+  U=`sed -n 's/^U = //p' < "$mf"`
+  # Find all dependency output files, they are included files with
+  # $(DEPDIR) in their names.  We invoke sed twice because it is the
+  # simplest approach to changing $(DEPDIR) to its actual value in the
+  # expansion.
+  for file in `sed -n "
+    s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+       sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+    # Make sure the directory exists.
+    test -f "$dirpart/$file" && continue
+    fdir=`AS_DIRNAME(["$file"])`
+    AS_MKDIR_P([$dirpart/$fdir])
+    # echo "creating $dirpart/$file"
+    echo '# dummy' > "$dirpart/$file"
+  done
+done
+])# _AM_OUTPUT_DEPENDENCY_COMMANDS
+
+
+# AM_OUTPUT_DEPENDENCY_COMMANDS
+# -----------------------------
+# This macro should only be invoked once -- use via AC_REQUIRE.
+#
+# This code is only required when automatic dependency tracking
+# is enabled.  FIXME.  This creates each `.P' file that we will
+# need in order to bootstrap the dependency handling code.
+AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
+[AC_CONFIG_COMMANDS([depfiles],
+     [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
+     [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
+])
+
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 8
+
+# AM_CONFIG_HEADER is obsolete.  It has been replaced by AC_CONFIG_HEADERS.
+AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
+
+# Do all the work for Automake.                             -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005, 2006, 2008 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 13
+
+# This macro actually does too much.  Some checks are only needed if
+# your package does certain things.  But this isn't really a big deal.
+
+# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
+# AM_INIT_AUTOMAKE([OPTIONS])
+# -----------------------------------------------
+# The call with PACKAGE and VERSION arguments is the old style
+# call (pre autoconf-2.50), which is being phased out.  PACKAGE
+# and VERSION should now be passed to AC_INIT and removed from
+# the call to AM_INIT_AUTOMAKE.
+# We support both call styles for the transition.  After
+# the next Automake release, Autoconf can make the AC_INIT
+# arguments mandatory, and then we can depend on a new Autoconf
+# release and drop the old call support.
+AC_DEFUN([AM_INIT_AUTOMAKE],
+[AC_PREREQ([2.60])dnl
+dnl Autoconf wants to disallow AM_ names.  We explicitly allow
+dnl the ones we care about.
+m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
+AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
+AC_REQUIRE([AC_PROG_INSTALL])dnl
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+  # is not polluted with repeated "-I."
+  AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
+  # test to see if srcdir already configured
+  if test -f $srcdir/config.status; then
+    AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+  fi
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+  if (cygpath --version) >/dev/null 2>/dev/null; then
+    CYGPATH_W='cygpath -w'
+  else
+    CYGPATH_W=echo
+  fi
+fi
+AC_SUBST([CYGPATH_W])
+
+# Define the identity of the package.
+dnl Distinguish between old-style and new-style calls.
+m4_ifval([$2],
+[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+ AC_SUBST([PACKAGE], [$1])dnl
+ AC_SUBST([VERSION], [$2])],
+[_AM_SET_OPTIONS([$1])dnl
+dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
+m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
+  [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
+ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
+
+_AM_IF_OPTION([no-define],,
+[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
+
+# Some tools Automake needs.
+AC_REQUIRE([AM_SANITY_CHECK])dnl
+AC_REQUIRE([AC_ARG_PROGRAM])dnl
+AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
+AM_MISSING_PROG(AUTOCONF, autoconf)
+AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
+AM_MISSING_PROG(AUTOHEADER, autoheader)
+AM_MISSING_PROG(MAKEINFO, makeinfo)
+AM_PROG_INSTALL_SH
+AM_PROG_INSTALL_STRIP
+AC_REQUIRE([AM_PROG_MKDIR_P])dnl
+# We need awk for the "check" target.  The system "awk" is bad on
+# some platforms.
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
+              [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+	      		     [_AM_PROG_TAR([v7])])])
+_AM_IF_OPTION([no-dependencies],,
+[AC_PROVIDE_IFELSE([AC_PROG_CC],
+                  [_AM_DEPENDENCIES(CC)],
+                  [define([AC_PROG_CC],
+                          defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_CXX],
+                  [_AM_DEPENDENCIES(CXX)],
+                  [define([AC_PROG_CXX],
+                          defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJC],
+                  [_AM_DEPENDENCIES(OBJC)],
+                  [define([AC_PROG_OBJC],
+                          defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
+])
+])
+
+
+# When config.status generates a header, we must update the stamp-h file.
+# This file resides in the same directory as the config header
+# that is generated.  The stamp files are numbered to have different names.
+
+# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
+# loop where config.status creates the headers, so we can generate
+# our stamp files there.
+AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
+[# Compute $1's index in $config_headers.
+_am_arg=$1
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+  case $_am_header in
+    $_am_arg | $_am_arg:* )
+      break ;;
+    * )
+      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+  esac
+done
+echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
+
+# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_SH
+# ------------------
+# Define $install_sh.
+AC_DEFUN([AM_PROG_INSTALL_SH],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
+AC_SUBST(install_sh)])
+
+# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# Check whether the underlying file-system supports filenames
+# with a leading dot.  For instance MS-DOS doesn't.
+AC_DEFUN([AM_SET_LEADING_DOT],
+[rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+  am__leading_dot=.
+else
+  am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+AC_SUBST([am__leading_dot])])
+
+# Check to see how 'make' treats includes.	            -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 3
+
+# AM_MAKE_INCLUDE()
+# -----------------
+# Check to see how make treats includes.
+AC_DEFUN([AM_MAKE_INCLUDE],
+[am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+	@echo done
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+AC_MSG_CHECKING([for style of include used by $am_make])
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# We grep out `Entering directory' and `Leaving directory'
+# messages which can occur if `w' ends up in MAKEFLAGS.
+# In particular we don't look at `^make:' because GNU make might
+# be invoked under some other name (usually "gmake"), in which
+# case it prints its new name instead of `make'.
+if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
+   am__include=include
+   am__quote=
+   _am_result=GNU
+fi
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+   echo '.include "confinc"' > confmf
+   if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
+      am__include=.include
+      am__quote="\""
+      _am_result=BSD
+   fi
+fi
+AC_SUBST([am__include])
+AC_SUBST([am__quote])
+AC_MSG_RESULT([$_am_result])
+rm -f confinc confmf
+])
+
+# Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
+
+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 5
+
+# AM_MISSING_PROG(NAME, PROGRAM)
+# ------------------------------
+AC_DEFUN([AM_MISSING_PROG],
+[AC_REQUIRE([AM_MISSING_HAS_RUN])
+$1=${$1-"${am_missing_run}$2"}
+AC_SUBST($1)])
+
+
+# AM_MISSING_HAS_RUN
+# ------------------
+# Define MISSING if not defined so far and test if it supports --run.
+# If it does, set am_missing_run to use it, otherwise, to nothing.
+AC_DEFUN([AM_MISSING_HAS_RUN],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([missing])dnl
+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+  am_missing_run="$MISSING --run "
+else
+  am_missing_run=
+  AC_MSG_WARN([`missing' script is too old or missing])
+fi
+])
+
+# Copyright (C) 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_MKDIR_P
+# ---------------
+# Check for `mkdir -p'.
+AC_DEFUN([AM_PROG_MKDIR_P],
+[AC_PREREQ([2.60])dnl
+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+dnl Automake 1.8 to 1.9.6 used to define mkdir_p.  We now use MKDIR_P,
+dnl while keeping a definition of mkdir_p for backward compatibility.
+dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
+dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
+dnl Makefile.ins that do not define MKDIR_P, so we do our own
+dnl adjustment using top_builddir (which is defined more often than
+dnl MKDIR_P).
+AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
+case $mkdir_p in
+  [[\\/$]]* | ?:[[\\/]]*) ;;
+  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
+])
+
+# Helper functions for option handling.                     -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005, 2008  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+# _AM_MANGLE_OPTION(NAME)
+# -----------------------
+AC_DEFUN([_AM_MANGLE_OPTION],
+[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
+
+# _AM_SET_OPTION(NAME)
+# ------------------------------
+# Set option NAME.  Presently that only means defining a flag for this option.
+AC_DEFUN([_AM_SET_OPTION],
+[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
+
+# _AM_SET_OPTIONS(OPTIONS)
+# ----------------------------------
+# OPTIONS is a space-separated list of Automake options.
+AC_DEFUN([_AM_SET_OPTIONS],
+[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+
+# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
+# -------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+AC_DEFUN([_AM_IF_OPTION],
+[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+
+# Check to make sure that the build environment is sane.    -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+# AM_SANITY_CHECK
+# ---------------
+AC_DEFUN([AM_SANITY_CHECK],
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments.  Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+   set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+   if test "$[*]" = "X"; then
+      # -L didn't work.
+      set X `ls -t $srcdir/configure conftest.file`
+   fi
+   rm -f conftest.file
+   if test "$[*]" != "X $srcdir/configure conftest.file" \
+      && test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+      # If neither matched, then we have a broken ls.  This can happen
+      # if, for instance, CONFIG_SHELL is bash and it inherits a
+      # broken ls alias from the environment.  This has actually
+      # happened.  Such a system could not be considered "sane".
+      AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
+alias in your environment])
+   fi
+
+   test "$[2]" = conftest.file
+   )
+then
+   # Ok.
+   :
+else
+   AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+AC_MSG_RESULT(yes)])
+
+# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_STRIP
+# ---------------------
+# One issue with vendor `install' (even GNU) is that you can't
+# specify the program used to strip binaries.  This is especially
+# annoying in cross-compiling environments, where the build's strip
+# is unlikely to handle the host's binaries.
+# Fortunately install-sh will honor a STRIPPROG variable, so we
+# always use install-sh in `make install-strip', and initialize
+# STRIPPROG with the value of the STRIP variable (set by the user).
+AC_DEFUN([AM_PROG_INSTALL_STRIP],
+[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'.  However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+if test "$cross_compiling" != no; then
+  AC_CHECK_TOOL([STRIP], [strip], :)
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+AC_SUBST([INSTALL_STRIP_PROGRAM])])
+
+# Copyright (C) 2006  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# _AM_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
+# This macro is traced by Automake.
+AC_DEFUN([_AM_SUBST_NOTMAKE])
+
+# Check how to create a tarball.                            -*- Autoconf -*-
+
+# Copyright (C) 2004, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# _AM_PROG_TAR(FORMAT)
+# --------------------
+# Check how to create a tarball in format FORMAT.
+# FORMAT should be one of `v7', `ustar', or `pax'.
+#
+# Substitute a variable $(am__tar) that is a command
+# writing to stdout a FORMAT-tarball containing the directory
+# $tardir.
+#     tardir=directory && $(am__tar) > result.tar
+#
+# Substitute a variable $(am__untar) that extract such
+# a tarball read from stdin.
+#     $(am__untar) < result.tar
+AC_DEFUN([_AM_PROG_TAR],
+[# Always define AMTAR for backward compatibility.
+AM_MISSING_PROG([AMTAR], [tar])
+m4_if([$1], [v7],
+     [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
+     [m4_case([$1], [ustar],, [pax],,
+              [m4_fatal([Unknown tar format])])
+AC_MSG_CHECKING([how to create a $1 tar archive])
+# Loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
+_am_tools=${am_cv_prog_tar_$1-$_am_tools}
+# Do not fold the above two line into one, because Tru64 sh and
+# Solaris sh will not grok spaces in the rhs of `-'.
+for _am_tool in $_am_tools
+do
+  case $_am_tool in
+  gnutar)
+    for _am_tar in tar gnutar gtar;
+    do
+      AM_RUN_LOG([$_am_tar --version]) && break
+    done
+    am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+    am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+    am__untar="$_am_tar -xf -"
+    ;;
+  plaintar)
+    # Must skip GNU tar: if it does not support --format= it doesn't create
+    # ustar tarball either.
+    (tar --version) >/dev/null 2>&1 && continue
+    am__tar='tar chf - "$$tardir"'
+    am__tar_='tar chf - "$tardir"'
+    am__untar='tar xf -'
+    ;;
+  pax)
+    am__tar='pax -L -x $1 -w "$$tardir"'
+    am__tar_='pax -L -x $1 -w "$tardir"'
+    am__untar='pax -r'
+    ;;
+  cpio)
+    am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+    am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+    am__untar='cpio -i -H $1 -d'
+    ;;
+  none)
+    am__tar=false
+    am__tar_=false
+    am__untar=false
+    ;;
+  esac
+
+  # If the value was cached, stop now.  We just wanted to have am__tar
+  # and am__untar set.
+  test -n "${am_cv_prog_tar_$1}" && break
+
+  # tar/untar a dummy directory, and stop if the command works
+  rm -rf conftest.dir
+  mkdir conftest.dir
+  echo GrepMe > conftest.dir/file
+  AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+  rm -rf conftest.dir
+  if test -s conftest.tar; then
+    AM_RUN_LOG([$am__untar <conftest.tar])
+    grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+  fi
+done
+rm -rf conftest.dir
+
+AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+AC_SUBST([am__tar])
+AC_SUBST([am__untar])
+]) # _AM_PROG_TAR
+
+m4_include([m4/libtool.m4])
+m4_include([m4/ltoptions.m4])
+m4_include([m4/ltsugar.m4])
+m4_include([m4/ltversion.m4])
+m4_include([m4/lt~obsolete.m4])
diff -pruN uptimed-0.3.16.orig/configure uptimed-0.3.16/configure
--- uptimed-0.3.16.orig/configure	2009-01-03 17:27:13.929145019 +0000
+++ uptimed-0.3.16/configure	2009-01-03 17:32:51.622898736 +0000
@@ -2013,6 +2013,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 ac_config_headers="$ac_config_headers config.h"
 
+
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -3679,13 +3680,13 @@ if test "${lt_cv_nm_interface+set}" = se
 else
   lt_cv_nm_interface="BSD nm"
   echo "int some_variable = 0;" > conftest.$ac_ext
-  (eval echo "\"\$as_me:3682: $ac_compile\"" >&5)
+  (eval echo "\"\$as_me:3683: $ac_compile\"" >&5)
   (eval "$ac_compile" 2>conftest.err)
   cat conftest.err >&5
-  (eval echo "\"\$as_me:3685: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
+  (eval echo "\"\$as_me:3686: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
   (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
   cat conftest.err >&5
-  (eval echo "\"\$as_me:3688: output\"" >&5)
+  (eval echo "\"\$as_me:3689: output\"" >&5)
   cat conftest.out >&5
   if $GREP 'External.*some_variable' conftest.out > /dev/null; then
     lt_cv_nm_interface="MS dumpbin"
@@ -4891,7 +4892,7 @@ ia64-*-hpux*)
   ;;
 *-*-irix6*)
   # Find out which ABI we are using.
-  echo '#line 4894 "configure"' > conftest.$ac_ext
+  echo '#line 4895 "configure"' > conftest.$ac_ext
   if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
@@ -6719,6 +6720,10 @@ _lt_linker_boilerplate=`cat conftest.err
 $RM -r conftest*
 
 
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
 if test -n "$compiler"; then
 
 lt_prog_compiler_no_builtin_flag=
@@ -6744,11 +6749,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:6747: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:6752: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:6751: \$? = $ac_status" >&5
+   echo "$as_me:6756: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -7083,11 +7088,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:7086: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:7091: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:7090: \$? = $ac_status" >&5
+   echo "$as_me:7095: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -7188,11 +7193,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:7191: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:7196: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:7195: \$? = $ac_status" >&5
+   echo "$as_me:7200: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -7243,11 +7248,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:7246: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:7251: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:7250: \$? = $ac_status" >&5
+   echo "$as_me:7255: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -8879,14 +8884,7 @@ freebsd* | dragonfly*)
     *) objformat=elf ;;
     esac
   fi
-  # Handle Gentoo/FreeBSD as it was Linux
-  case $host_vendor in
-    gentoo)
-      version_type=linux ;;
-    *)
-      version_type=freebsd-$objformat ;;
-  esac
-
+  version_type=freebsd-$objformat
   case $version_type in
     freebsd-elf*)
       library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
@@ -8897,12 +8895,6 @@ freebsd* | dragonfly*)
       library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
       need_version=yes
       ;;
-    linux)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-      soname_spec='${libname}${release}${shared_ext}$major'
-      need_lib_prefix=no
-      need_version=no
-      ;;
   esac
   shlibpath_var=LD_LIBRARY_PATH
   case $host_os in
@@ -10056,7 +10048,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10059 "configure"
+#line 10051 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -10152,7 +10144,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10155 "configure"
+#line 10147 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
diff -pruN uptimed-0.3.16.orig/configure.ac uptimed-0.3.16/configure.ac
--- uptimed-0.3.16.orig/configure.ac	2009-01-03 17:27:13.927145037 +0000
+++ uptimed-0.3.16/configure.ac	2009-01-03 17:31:39.381020076 +0000
@@ -2,6 +2,7 @@ dnl configure.in for uptimed
 
 AC_INIT([uptimed], 0.3.16)
 AM_CONFIG_HEADER(config.h)
+AC_CONFIG_MACRO_DIR([m4])
 AC_PROG_CC
 AM_PROG_LIBTOOL
 AM_INIT_AUTOMAKE
diff -pruN uptimed-0.3.16.orig/etc/Makefile.in uptimed-0.3.16/etc/Makefile.in
--- uptimed-0.3.16.orig/etc/Makefile.in	2009-01-03 17:27:13.927145037 +0000
+++ uptimed-0.3.16/etc/Makefile.in	2009-01-03 17:32:52.705894008 +0000
@@ -35,7 +35,10 @@ host_triplet = @host@
 subdir = etc
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
diff -pruN uptimed-0.3.16.orig/libuptimed/Makefile.in uptimed-0.3.16/libuptimed/Makefile.in
--- uptimed-0.3.16.orig/libuptimed/Makefile.in	2009-01-03 17:27:13.927145037 +0000
+++ uptimed-0.3.16/libuptimed/Makefile.in	2009-01-03 17:32:52.788144684 +0000
@@ -37,7 +37,10 @@ subdir = libuptimed
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
diff -pruN uptimed-0.3.16.orig/m4/libtool.m4 uptimed-0.3.16/m4/libtool.m4
--- uptimed-0.3.16.orig/m4/libtool.m4	1970-01-01 00:00:00.000000000 +0000
+++ uptimed-0.3.16/m4/libtool.m4	2009-01-03 17:31:52.343895677 +0000
@@ -0,0 +1,7357 @@
+# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
+#
+#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+#                 2006, 2007, 2008 Free Software Foundation, Inc.
+#   Written by Gordon Matzigkeit, 1996
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+m4_define([_LT_COPYING], [dnl
+#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+#                 2006, 2007, 2008 Free Software Foundation, Inc.
+#   Written by Gordon Matzigkeit, 1996
+#
+#   This file is part of GNU Libtool.
+#
+# GNU Libtool 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 of
+# the License, or (at your option) any later version.
+#
+# As a special exception to the GNU General Public License,
+# if you distribute this file as part of a program or library that
+# is built using GNU Libtool, you may include this file under the
+# same distribution terms that you use for the rest of that program.
+#
+# GNU Libtool 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 GNU Libtool; see the file COPYING.  If not, a copy
+# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
+# obtained by writing to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+])
+
+# serial 56 LT_INIT
+
+
+# LT_PREREQ(VERSION)
+# ------------------
+# Complain and exit if this libtool version is less that VERSION.
+m4_defun([LT_PREREQ],
+[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
+       [m4_default([$3],
+		   [m4_fatal([Libtool version $1 or higher is required],
+		             63)])],
+       [$2])])
+
+
+# _LT_CHECK_BUILDDIR
+# ------------------
+# Complain if the absolute build directory name contains unusual characters
+m4_defun([_LT_CHECK_BUILDDIR],
+[case `pwd` in
+  *\ * | *\	*)
+    AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
+esac
+])
+
+
+# LT_INIT([OPTIONS])
+# ------------------
+AC_DEFUN([LT_INIT],
+[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
+AC_BEFORE([$0], [LT_LANG])dnl
+AC_BEFORE([$0], [LT_OUTPUT])dnl
+AC_BEFORE([$0], [LTDL_INIT])dnl
+m4_require([_LT_CHECK_BUILDDIR])dnl
+
+dnl Autoconf doesn't catch unexpanded LT_ macros by default:
+m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
+m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
+dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
+dnl unless we require an AC_DEFUNed macro:
+AC_REQUIRE([LTOPTIONS_VERSION])dnl
+AC_REQUIRE([LTSUGAR_VERSION])dnl
+AC_REQUIRE([LTVERSION_VERSION])dnl
+AC_REQUIRE([LTOBSOLETE_VERSION])dnl
+m4_require([_LT_PROG_LTMAIN])dnl
+
+dnl Parse OPTIONS
+_LT_SET_OPTIONS([$0], [$1])
+
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS="$ltmain"
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+AC_SUBST(LIBTOOL)dnl
+
+_LT_SETUP
+
+# Only expand once:
+m4_define([LT_INIT])
+])# LT_INIT
+
+# Old names:
+AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
+AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
+dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
+
+
+# _LT_CC_BASENAME(CC)
+# -------------------
+# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
+m4_defun([_LT_CC_BASENAME],
+[for cc_temp in $1""; do
+  case $cc_temp in
+    compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
+    distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+])
+
+
+# _LT_FILEUTILS_DEFAULTS
+# ----------------------
+# It is okay to use these file commands and assume they have been set
+# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'.
+m4_defun([_LT_FILEUTILS_DEFAULTS],
+[: ${CP="cp -f"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+])# _LT_FILEUTILS_DEFAULTS
+
+
+# _LT_SETUP
+# ---------
+m4_defun([_LT_SETUP],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+_LT_DECL([], [host_alias], [0], [The host system])dnl
+_LT_DECL([], [host], [0])dnl
+_LT_DECL([], [host_os], [0])dnl
+dnl
+_LT_DECL([], [build_alias], [0], [The build system])dnl
+_LT_DECL([], [build], [0])dnl
+_LT_DECL([], [build_os], [0])dnl
+dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([LT_PATH_LD])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+dnl
+AC_REQUIRE([AC_PROG_LN_S])dnl
+test -z "$LN_S" && LN_S="ln -s"
+_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
+dnl
+AC_REQUIRE([LT_CMD_MAX_LEN])dnl
+_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
+_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
+dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_CHECK_SHELL_FEATURES])dnl
+m4_require([_LT_CMD_RELOAD])dnl
+m4_require([_LT_CHECK_MAGIC_METHOD])dnl
+m4_require([_LT_CMD_OLD_ARCHIVE])dnl
+m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
+
+_LT_CONFIG_LIBTOOL_INIT([
+# See if we are running on zsh, and set the options which allow our
+# commands through without removal of \ escapes INIT.
+if test -n "\${ZSH_VERSION+set}" ; then
+   setopt NO_GLOB_SUBST
+fi
+])
+if test -n "${ZSH_VERSION+set}" ; then
+   setopt NO_GLOB_SUBST
+fi
+
+_LT_CHECK_OBJDIR
+
+m4_require([_LT_TAG_COMPILER])dnl
+_LT_PROG_ECHO_BACKSLASH
+
+case $host_os in
+aix3*)
+  # AIX sometimes has problems with the GCC collect2 program.  For some
+  # reason, if we set the COLLECT_NAMES environment variable, the problems
+  # vanish in a puff of smoke.
+  if test "X${COLLECT_NAMES+set}" != Xset; then
+    COLLECT_NAMES=
+    export COLLECT_NAMES
+  fi
+  ;;
+esac
+
+# Sed substitution that helps us do robust quoting.  It backslashifies
+# metacharacters that are still active within double-quoted strings.
+sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\([["`\\]]\)/\\\1/g'
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# Sed substitution to delay expansion of an escaped single quote.
+delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
+
+# Sed substitution to avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+
+# Global variables:
+ofile=libtool
+can_build_shared=yes
+
+# All known linkers require a `.a' archive for static linking (except MSVC,
+# which needs '.lib').
+libext=a
+
+with_gnu_ld="$lt_cv_prog_gnu_ld"
+
+old_CC="$CC"
+old_CFLAGS="$CFLAGS"
+
+# Set sane defaults for various variables
+test -z "$CC" && CC=cc
+test -z "$LTCC" && LTCC=$CC
+test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
+test -z "$LD" && LD=ld
+test -z "$ac_objext" && ac_objext=o
+
+_LT_CC_BASENAME([$compiler])
+
+# Only perform the check for file, if the check method requires it
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
+case $deplibs_check_method in
+file_magic*)
+  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+    _LT_PATH_MAGIC
+  fi
+  ;;
+esac
+
+# Use C for the default configuration in the libtool script
+LT_SUPPORTED_TAG([CC])
+_LT_LANG_C_CONFIG
+_LT_LANG_DEFAULT_CONFIG
+_LT_CONFIG_COMMANDS
+])# _LT_SETUP
+
+
+# _LT_PROG_LTMAIN
+# ---------------
+# Note that this code is called both from `configure', and `config.status'
+# now that we use AC_CONFIG_COMMANDS to generate libtool.  Notably,
+# `config.status' has no value for ac_aux_dir unless we are using Automake,
+# so we pass a copy along to make sure it has a sensible value anyway.
+m4_defun([_LT_PROG_LTMAIN],
+[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
+_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
+ltmain="$ac_aux_dir/ltmain.sh"
+])# _LT_PROG_LTMAIN
+
+
+## ------------------------------------- ##
+## Accumulate code for creating libtool. ##
+## ------------------------------------- ##
+
+# So that we can recreate a full libtool script including additional
+# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
+# in macros and then make a single call at the end using the `libtool'
+# label.
+
+
+# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
+# ----------------------------------------
+# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
+m4_define([_LT_CONFIG_LIBTOOL_INIT],
+[m4_ifval([$1],
+          [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
+                     [$1
+])])])
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_INIT])
+
+
+# _LT_CONFIG_LIBTOOL([COMMANDS])
+# ------------------------------
+# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
+m4_define([_LT_CONFIG_LIBTOOL],
+[m4_ifval([$1],
+          [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
+                     [$1
+])])])
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
+
+
+# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
+# -----------------------------------------------------
+m4_defun([_LT_CONFIG_SAVE_COMMANDS],
+[_LT_CONFIG_LIBTOOL([$1])
+_LT_CONFIG_LIBTOOL_INIT([$2])
+])
+
+
+# _LT_FORMAT_COMMENT([COMMENT])
+# -----------------------------
+# Add leading comment marks to the start of each line, and a trailing
+# full-stop to the whole comment if one is not present already.
+m4_define([_LT_FORMAT_COMMENT],
+[m4_ifval([$1], [
+m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
+              [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
+)])
+
+
+
+## ------------------------ ##
+## FIXME: Eliminate VARNAME ##
+## ------------------------ ##
+
+
+# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
+# -------------------------------------------------------------------
+# CONFIGNAME is the name given to the value in the libtool script.
+# VARNAME is the (base) name used in the configure script.
+# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
+# VARNAME.  Any other value will be used directly.
+m4_define([_LT_DECL],
+[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
+    [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
+	[m4_ifval([$1], [$1], [$2])])
+    lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
+    m4_ifval([$4],
+	[lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
+    lt_dict_add_subkey([lt_decl_dict], [$2],
+	[tagged?], [m4_ifval([$5], [yes], [no])])])
+])
+
+
+# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
+# --------------------------------------------------------
+m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
+
+
+# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
+# ------------------------------------------------
+m4_define([lt_decl_tag_varnames],
+[_lt_decl_filter([tagged?], [yes], $@)])
+
+
+# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
+# ---------------------------------------------------------
+m4_define([_lt_decl_filter],
+[m4_case([$#],
+  [0], [m4_fatal([$0: too few arguments: $#])],
+  [1], [m4_fatal([$0: too few arguments: $#: $1])],
+  [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
+  [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
+  [lt_dict_filter([lt_decl_dict], $@)])[]dnl
+])
+
+
+# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
+# --------------------------------------------------
+m4_define([lt_decl_quote_varnames],
+[_lt_decl_filter([value], [1], $@)])
+
+
+# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
+# ---------------------------------------------------
+m4_define([lt_decl_dquote_varnames],
+[_lt_decl_filter([value], [2], $@)])
+
+
+# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
+# ---------------------------------------------------
+m4_define([lt_decl_varnames_tagged],
+[m4_assert([$# <= 2])dnl
+_$0(m4_quote(m4_default([$1], [[, ]])),
+    m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
+    m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
+m4_define([_lt_decl_varnames_tagged],
+[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
+
+
+# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
+# ------------------------------------------------
+m4_define([lt_decl_all_varnames],
+[_$0(m4_quote(m4_default([$1], [[, ]])),
+     m4_if([$2], [],
+	   m4_quote(lt_decl_varnames),
+	m4_quote(m4_shift($@))))[]dnl
+])
+m4_define([_lt_decl_all_varnames],
+[lt_join($@, lt_decl_varnames_tagged([$1],
+			lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
+])
+
+
+# _LT_CONFIG_STATUS_DECLARE([VARNAME])
+# ------------------------------------
+# Quote a variable value, and forward it to `config.status' so that its
+# declaration there will have the same value as in `configure'.  VARNAME
+# must have a single quote delimited value for this to work.
+m4_define([_LT_CONFIG_STATUS_DECLARE],
+[$1='`$ECHO "X$][$1" | $Xsed -e "$delay_single_quote_subst"`'])
+
+
+# _LT_CONFIG_STATUS_DECLARATIONS
+# ------------------------------
+# We delimit libtool config variables with single quotes, so when
+# we write them to config.status, we have to be sure to quote all
+# embedded single quotes properly.  In configure, this macro expands
+# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
+#
+#    <var>='`$ECHO "X$<var>" | $Xsed -e "$delay_single_quote_subst"`'
+m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
+[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
+    [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
+
+
+# _LT_LIBTOOL_TAGS
+# ----------------
+# Output comment and list of tags supported by the script
+m4_defun([_LT_LIBTOOL_TAGS],
+[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
+available_tags="_LT_TAGS"dnl
+])
+
+
+# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
+# -----------------------------------
+# Extract the dictionary values for VARNAME (optionally with TAG) and
+# expand to a commented shell variable setting:
+#
+#    # Some comment about what VAR is for.
+#    visible_name=$lt_internal_name
+m4_define([_LT_LIBTOOL_DECLARE],
+[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
+					   [description])))[]dnl
+m4_pushdef([_libtool_name],
+    m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
+m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
+    [0], [_libtool_name=[$]$1],
+    [1], [_libtool_name=$lt_[]$1],
+    [2], [_libtool_name=$lt_[]$1],
+    [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
+m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
+])
+
+
+# _LT_LIBTOOL_CONFIG_VARS
+# -----------------------
+# Produce commented declarations of non-tagged libtool config variables
+# suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
+# script.  Tagged libtool config variables (even for the LIBTOOL CONFIG
+# section) are produced by _LT_LIBTOOL_TAG_VARS.
+m4_defun([_LT_LIBTOOL_CONFIG_VARS],
+[m4_foreach([_lt_var],
+    m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
+    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
+
+
+# _LT_LIBTOOL_TAG_VARS(TAG)
+# -------------------------
+m4_define([_LT_LIBTOOL_TAG_VARS],
+[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
+    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
+
+
+# _LT_TAGVAR(VARNAME, [TAGNAME])
+# ------------------------------
+m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
+
+
+# _LT_CONFIG_COMMANDS
+# -------------------
+# Send accumulated output to $CONFIG_STATUS.  Thanks to the lists of
+# variables for single and double quote escaping we saved from calls
+# to _LT_DECL, we can put quote escaped variables declarations
+# into `config.status', and then the shell code to quote escape them in
+# for loops in `config.status'.  Finally, any additional code accumulated
+# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
+m4_defun([_LT_CONFIG_COMMANDS],
+[AC_PROVIDE_IFELSE([LT_OUTPUT],
+	dnl If the libtool generation code has been placed in $CONFIG_LT,
+	dnl instead of duplicating it all over again into config.status,
+	dnl then we will have config.status run $CONFIG_LT later, so it
+	dnl needs to know what name is stored there:
+        [AC_CONFIG_COMMANDS([libtool],
+            [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
+    dnl If the libtool generation code is destined for config.status,
+    dnl expand the accumulated commands and init code now:
+    [AC_CONFIG_COMMANDS([libtool],
+        [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
+])#_LT_CONFIG_COMMANDS
+
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
+[
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+sed_quote_subst='$sed_quote_subst'
+double_quote_subst='$double_quote_subst'
+delay_variable_subst='$delay_variable_subst'
+_LT_CONFIG_STATUS_DECLARATIONS
+LTCC='$LTCC'
+LTCFLAGS='$LTCFLAGS'
+compiler='$compiler_DEFAULT'
+
+# Quote evaled strings.
+for var in lt_decl_all_varnames([[ \
+]], lt_decl_quote_varnames); do
+    case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+    *[[\\\\\\\`\\"\\\$]]*)
+      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
+      ;;
+    *)
+      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+      ;;
+    esac
+done
+
+# Double-quote double-evaled strings.
+for var in lt_decl_all_varnames([[ \
+]], lt_decl_dquote_varnames); do
+    case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+    *[[\\\\\\\`\\"\\\$]]*)
+      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
+      ;;
+    *)
+      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+      ;;
+    esac
+done
+
+# Fix-up fallback echo if it was mangled by the above quoting rules.
+case \$lt_ECHO in
+*'\\\[$]0 --fallback-echo"')dnl "
+  lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\[$]0 --fallback-echo"\[$]/\[$]0 --fallback-echo"/'\`
+  ;;
+esac
+
+_LT_OUTPUT_LIBTOOL_INIT
+])
+
+
+# LT_OUTPUT
+# ---------
+# This macro allows early generation of the libtool script (before
+# AC_OUTPUT is called), incase it is used in configure for compilation
+# tests.
+AC_DEFUN([LT_OUTPUT],
+[: ${CONFIG_LT=./config.lt}
+AC_MSG_NOTICE([creating $CONFIG_LT])
+cat >"$CONFIG_LT" <<_LTEOF
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate a libtool stub with the current configuration.
+
+lt_cl_silent=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+_LTEOF
+
+cat >>"$CONFIG_LT" <<\_LTEOF
+AS_SHELL_SANITIZE
+_AS_PREPARE
+
+exec AS_MESSAGE_FD>&1
+exec AS_MESSAGE_LOG_FD>>config.log
+{
+  echo
+  AS_BOX([Running $as_me.])
+} >&AS_MESSAGE_LOG_FD
+
+lt_cl_help="\
+\`$as_me' creates a local libtool stub from the current configuration,
+for use in further configure time tests before the real libtool is
+generated.
+
+Usage: $[0] [[OPTIONS]]
+
+  -h, --help      print this help, then exit
+  -V, --version   print version number, then exit
+  -q, --quiet     do not print progress messages
+  -d, --debug     don't remove temporary files
+
+Report bugs to <bug-libtool@gnu.org>."
+
+lt_cl_version="\
+m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
+m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
+configured by $[0], generated by m4_PACKAGE_STRING.
+
+Copyright (C) 2008 Free Software Foundation, Inc.
+This config.lt script is free software; the Free Software Foundation
+gives unlimited permision to copy, distribute and modify it."
+
+while test $[#] != 0
+do
+  case $[1] in
+    --version | --v* | -V )
+      echo "$lt_cl_version"; exit 0 ;;
+    --help | --h* | -h )
+      echo "$lt_cl_help"; exit 0 ;;
+    --debug | --d* | -d )
+      debug=: ;;
+    --quiet | --q* | --silent | --s* | -q )
+      lt_cl_silent=: ;;
+
+    -*) AC_MSG_ERROR([unrecognized option: $[1]
+Try \`$[0] --help' for more information.]) ;;
+
+    *) AC_MSG_ERROR([unrecognized argument: $[1]
+Try \`$[0] --help' for more information.]) ;;
+  esac
+  shift
+done
+
+if $lt_cl_silent; then
+  exec AS_MESSAGE_FD>/dev/null
+fi
+_LTEOF
+
+cat >>"$CONFIG_LT" <<_LTEOF
+_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
+_LTEOF
+
+cat >>"$CONFIG_LT" <<\_LTEOF
+AC_MSG_NOTICE([creating $ofile])
+_LT_OUTPUT_LIBTOOL_COMMANDS
+AS_EXIT(0)
+_LTEOF
+chmod +x "$CONFIG_LT"
+
+# configure is writing to config.log, but config.lt does its own redirection,
+# appending to config.log, which fails on DOS, as config.log is still kept
+# open by configure.  Here we exec the FD to /dev/null, effectively closing
+# config.log, so it can be properly (re)opened and appended to by config.lt.
+if test "$no_create" != yes; then
+  lt_cl_success=:
+  test "$silent" = yes &&
+    lt_config_lt_args="$lt_config_lt_args --quiet"
+  exec AS_MESSAGE_LOG_FD>/dev/null
+  $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
+  exec AS_MESSAGE_LOG_FD>>config.log
+  $lt_cl_success || AS_EXIT(1)
+fi
+])# LT_OUTPUT
+
+
+# _LT_CONFIG(TAG)
+# ---------------
+# If TAG is the built-in tag, create an initial libtool script with a
+# default configuration from the untagged config vars.  Otherwise add code
+# to config.status for appending the configuration named by TAG from the
+# matching tagged config vars.
+m4_defun([_LT_CONFIG],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+_LT_CONFIG_SAVE_COMMANDS([
+  m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
+  m4_if(_LT_TAG, [C], [
+    # See if we are running on zsh, and set the options which allow our
+    # commands through without removal of \ escapes.
+    if test -n "${ZSH_VERSION+set}" ; then
+      setopt NO_GLOB_SUBST
+    fi
+
+    cfgfile="${ofile}T"
+    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
+    $RM "$cfgfile"
+
+    cat <<_LT_EOF >> "$cfgfile"
+#! $SHELL
+
+# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
+# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+#
+_LT_COPYING
+_LT_LIBTOOL_TAGS
+
+# ### BEGIN LIBTOOL CONFIG
+_LT_LIBTOOL_CONFIG_VARS
+_LT_LIBTOOL_TAG_VARS
+# ### END LIBTOOL CONFIG
+
+_LT_EOF
+
+  case $host_os in
+  aix3*)
+    cat <<\_LT_EOF >> "$cfgfile"
+# AIX sometimes has problems with the GCC collect2 program.  For some
+# reason, if we set the COLLECT_NAMES environment variable, the problems
+# vanish in a puff of smoke.
+if test "X${COLLECT_NAMES+set}" != Xset; then
+  COLLECT_NAMES=
+  export COLLECT_NAMES
+fi
+_LT_EOF
+    ;;
+  esac
+
+  _LT_PROG_LTMAIN
+
+  # We use sed instead of cat because bash on DJGPP gets confused if
+  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
+  # text mode, it properly converts lines to CR/LF.  This bash problem
+  # is reportedly fixed, but why not run on old versions too?
+  sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
+    || (rm -f "$cfgfile"; exit 1)
+
+  _LT_PROG_XSI_SHELLFNS
+
+  sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
+    || (rm -f "$cfgfile"; exit 1)
+
+  mv -f "$cfgfile" "$ofile" ||
+    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+  chmod +x "$ofile"
+],
+[cat <<_LT_EOF >> "$ofile"
+
+dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
+dnl in a comment (ie after a #).
+# ### BEGIN LIBTOOL TAG CONFIG: $1
+_LT_LIBTOOL_TAG_VARS(_LT_TAG)
+# ### END LIBTOOL TAG CONFIG: $1
+_LT_EOF
+])dnl /m4_if
+],
+[m4_if([$1], [], [
+    PACKAGE='$PACKAGE'
+    VERSION='$VERSION'
+    TIMESTAMP='$TIMESTAMP'
+    RM='$RM'
+    ofile='$ofile'], [])
+])dnl /_LT_CONFIG_SAVE_COMMANDS
+])# _LT_CONFIG
+
+
+# LT_SUPPORTED_TAG(TAG)
+# ---------------------
+# Trace this macro to discover what tags are supported by the libtool
+# --tag option, using:
+#    autoconf --trace 'LT_SUPPORTED_TAG:$1'
+AC_DEFUN([LT_SUPPORTED_TAG], [])
+
+
+# C support is built-in for now
+m4_define([_LT_LANG_C_enabled], [])
+m4_define([_LT_TAGS], [])
+
+
+# LT_LANG(LANG)
+# -------------
+# Enable libtool support for the given language if not already enabled.
+AC_DEFUN([LT_LANG],
+[AC_BEFORE([$0], [LT_OUTPUT])dnl
+m4_case([$1],
+  [C],			[_LT_LANG(C)],
+  [C++],		[_LT_LANG(CXX)],
+  [Java],		[_LT_LANG(GCJ)],
+  [Fortran 77],		[_LT_LANG(F77)],
+  [Fortran],		[_LT_LANG(FC)],
+  [Windows Resource],	[_LT_LANG(RC)],
+  [m4_ifdef([_LT_LANG_]$1[_CONFIG],
+    [_LT_LANG($1)],
+    [m4_fatal([$0: unsupported language: "$1"])])])dnl
+])# LT_LANG
+
+
+# _LT_LANG(LANGNAME)
+# ------------------
+m4_defun([_LT_LANG],
+[m4_ifdef([_LT_LANG_]$1[_enabled], [],
+  [LT_SUPPORTED_TAG([$1])dnl
+  m4_append([_LT_TAGS], [$1 ])dnl
+  m4_define([_LT_LANG_]$1[_enabled], [])dnl
+  _LT_LANG_$1_CONFIG($1)])dnl
+])# _LT_LANG
+
+
+# _LT_LANG_DEFAULT_CONFIG
+# -----------------------
+m4_defun([_LT_LANG_DEFAULT_CONFIG],
+[AC_PROVIDE_IFELSE([AC_PROG_CXX],
+  [LT_LANG(CXX)],
+  [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
+
+AC_PROVIDE_IFELSE([AC_PROG_F77],
+  [LT_LANG(F77)],
+  [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
+
+AC_PROVIDE_IFELSE([AC_PROG_FC],
+  [LT_LANG(FC)],
+  [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
+
+dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
+dnl pulling things in needlessly.
+AC_PROVIDE_IFELSE([AC_PROG_GCJ],
+  [LT_LANG(GCJ)],
+  [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
+    [LT_LANG(GCJ)],
+    [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
+      [LT_LANG(GCJ)],
+      [m4_ifdef([AC_PROG_GCJ],
+	[m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
+       m4_ifdef([A][M_PROG_GCJ],
+	[m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
+       m4_ifdef([LT_PROG_GCJ],
+	[m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
+
+AC_PROVIDE_IFELSE([LT_PROG_RC],
+  [LT_LANG(RC)],
+  [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
+])# _LT_LANG_DEFAULT_CONFIG
+
+# Obsolete macros:
+AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
+AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
+AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
+AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
+dnl AC_DEFUN([AC_LIBTOOL_F77], [])
+dnl AC_DEFUN([AC_LIBTOOL_FC], [])
+dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
+
+
+# _LT_TAG_COMPILER
+# ----------------
+m4_defun([_LT_TAG_COMPILER],
+[AC_REQUIRE([AC_PROG_CC])dnl
+
+_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
+_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
+_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
+_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+])# _LT_TAG_COMPILER
+
+
+# _LT_COMPILER_BOILERPLATE
+# ------------------------
+# Check for compiler boilerplate output or warnings with
+# the simple compiler test code.
+m4_defun([_LT_COMPILER_BOILERPLATE],
+[m4_require([_LT_DECL_SED])dnl
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$RM conftest*
+])# _LT_COMPILER_BOILERPLATE
+
+
+# _LT_LINKER_BOILERPLATE
+# ----------------------
+# Check for linker boilerplate output or warnings with
+# the simple link test code.
+m4_defun([_LT_LINKER_BOILERPLATE],
+[m4_require([_LT_DECL_SED])dnl
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$RM -r conftest*
+])# _LT_LINKER_BOILERPLATE
+
+# _LT_REQUIRED_DARWIN_CHECKS
+# -------------------------
+m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
+  case $host_os in
+    rhapsody* | darwin*)
+    AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
+    AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
+    AC_CHECK_TOOL([LIPO], [lipo], [:])
+    AC_CHECK_TOOL([OTOOL], [otool], [:])
+    AC_CHECK_TOOL([OTOOL64], [otool64], [:])
+    _LT_DECL([], [DSYMUTIL], [1],
+      [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
+    _LT_DECL([], [NMEDIT], [1],
+      [Tool to change global to local symbols on Mac OS X])
+    _LT_DECL([], [LIPO], [1],
+      [Tool to manipulate fat objects and archives on Mac OS X])
+    _LT_DECL([], [OTOOL], [1],
+      [ldd/readelf like tool for Mach-O binaries on Mac OS X])
+    _LT_DECL([], [OTOOL64], [1],
+      [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
+
+    AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
+      [lt_cv_apple_cc_single_mod=no
+      if test -z "${LT_MULTI_MODULE}"; then
+	# By default we will add the -single_module flag. You can override
+	# by either setting the environment variable LT_MULTI_MODULE
+	# non-empty at configure time, or by adding -multi_module to the
+	# link flags.
+	rm -rf libconftest.dylib*
+	echo "int foo(void){return 1;}" > conftest.c
+	echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
+	$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+	  -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
+        _lt_result=$?
+	if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
+	  lt_cv_apple_cc_single_mod=yes
+	else
+	  cat conftest.err >&AS_MESSAGE_LOG_FD
+	fi
+	rm -rf libconftest.dylib*
+	rm -f conftest.*
+      fi])
+    AC_CACHE_CHECK([for -exported_symbols_list linker flag],
+      [lt_cv_ld_exported_symbols_list],
+      [lt_cv_ld_exported_symbols_list=no
+      save_LDFLAGS=$LDFLAGS
+      echo "_main" > conftest.sym
+      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
+      AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
+	[lt_cv_ld_exported_symbols_list=yes],
+	[lt_cv_ld_exported_symbols_list=no])
+	LDFLAGS="$save_LDFLAGS"
+    ])
+    case $host_os in
+    rhapsody* | darwin1.[[012]])
+      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
+    darwin1.*)
+      _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+    darwin*) # darwin 5.x on
+      # if running on 10.5 or later, the deployment target defaults
+      # to the OS version, if on x86, and 10.4, the deployment
+      # target defaults to 10.4. Don't you love it?
+      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
+	10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
+	  _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+	10.[[012]]*)
+	  _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+	10.*)
+	  _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+      esac
+    ;;
+  esac
+    if test "$lt_cv_apple_cc_single_mod" = "yes"; then
+      _lt_dar_single_mod='$single_module'
+    fi
+    if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
+      _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
+    else
+      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
+    fi
+    if test "$DSYMUTIL" != ":"; then
+      _lt_dsymutil='~$DSYMUTIL $lib || :'
+    else
+      _lt_dsymutil=
+    fi
+    ;;
+  esac
+])
+
+
+# _LT_DARWIN_LINKER_FEATURES
+# --------------------------
+# Checks for linker and compiler features on darwin
+m4_defun([_LT_DARWIN_LINKER_FEATURES],
+[
+  m4_require([_LT_REQUIRED_DARWIN_CHECKS])
+  _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+  _LT_TAGVAR(hardcode_direct, $1)=no
+  _LT_TAGVAR(hardcode_automatic, $1)=yes
+  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+  _LT_TAGVAR(whole_archive_flag_spec, $1)=''
+  _LT_TAGVAR(link_all_deplibs, $1)=yes
+  _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
+  case $cc_basename in
+     ifort*) _lt_dar_can_shared=yes ;;
+     *) _lt_dar_can_shared=$GCC ;;
+  esac
+  if test "$_lt_dar_can_shared" = "yes"; then
+    output_verbose_link_cmd=echo
+    _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+    _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+    _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+    _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+    m4_if([$1], [CXX],
+[   if test "$lt_cv_apple_cc_single_mod" != "yes"; then
+      _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
+      _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
+    fi
+],[])
+  else
+  _LT_TAGVAR(ld_shlibs, $1)=no
+  fi
+])
+
+# _LT_SYS_MODULE_PATH_AIX
+# -----------------------
+# Links a minimal program and checks the executable
+# for the system default hardcoded library path. In most cases,
+# this is /usr/lib:/lib, but when the MPI compilers are used
+# the location of the communication and MPI libs are included too.
+# If we don't find anything, use the default library path according
+# to the aix ld manual.
+m4_defun([_LT_SYS_MODULE_PATH_AIX],
+[m4_require([_LT_DECL_SED])dnl
+AC_LINK_IFELSE(AC_LANG_PROGRAM,[
+lt_aix_libpath_sed='
+    /Import File Strings/,/^$/ {
+	/^0/ {
+	    s/^0  *\(.*\)$/\1/
+	    p
+	}
+    }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then
+  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi],[])
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+])# _LT_SYS_MODULE_PATH_AIX
+
+
+# _LT_SHELL_INIT(ARG)
+# -------------------
+m4_define([_LT_SHELL_INIT],
+[ifdef([AC_DIVERSION_NOTICE],
+	     [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
+	 [AC_DIVERT_PUSH(NOTICE)])
+$1
+AC_DIVERT_POP
+])# _LT_SHELL_INIT
+
+
+# _LT_PROG_ECHO_BACKSLASH
+# -----------------------
+# Add some code to the start of the generated configure script which
+# will find an echo command which doesn't interpret backslashes.
+m4_defun([_LT_PROG_ECHO_BACKSLASH],
+[_LT_SHELL_INIT([
+# Check that we are running under the correct shell.
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+case X$lt_ECHO in
+X*--fallback-echo)
+  # Remove one level of quotation (which was required for Make).
+  ECHO=`echo "$lt_ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
+  ;;
+esac
+
+ECHO=${lt_ECHO-echo}
+if test "X[$]1" = X--no-reexec; then
+  # Discard the --no-reexec flag, and continue.
+  shift
+elif test "X[$]1" = X--fallback-echo; then
+  # Avoid inline document here, it may be left over
+  :
+elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then
+  # Yippee, $ECHO works!
+  :
+else
+  # Restart under the correct shell.
+  exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
+fi
+
+if test "X[$]1" = X--fallback-echo; then
+  # used as fallback echo
+  shift
+  cat <<_LT_EOF
+[$]*
+_LT_EOF
+  exit 0
+fi
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+if test -z "$lt_ECHO"; then
+  if test "X${echo_test_string+set}" != Xset; then
+    # find a string as large as possible, as long as the shell can cope with it
+    for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
+      # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
+      if { echo_test_string=`eval $cmd`; } 2>/dev/null &&
+	 { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null
+      then
+        break
+      fi
+    done
+  fi
+
+  if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
+     echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
+     test "X$echo_testing_string" = "X$echo_test_string"; then
+    :
+  else
+    # The Solaris, AIX, and Digital Unix default echo programs unquote
+    # backslashes.  This makes it impossible to quote backslashes using
+    #   echo "$something" | sed 's/\\/\\\\/g'
+    #
+    # So, first we look for a working echo in the user's PATH.
+
+    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+    for dir in $PATH /usr/ucb; do
+      IFS="$lt_save_ifs"
+      if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
+         test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
+         echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
+         test "X$echo_testing_string" = "X$echo_test_string"; then
+        ECHO="$dir/echo"
+        break
+      fi
+    done
+    IFS="$lt_save_ifs"
+
+    if test "X$ECHO" = Xecho; then
+      # We didn't find a better echo, so look for alternatives.
+      if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' &&
+         echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` &&
+         test "X$echo_testing_string" = "X$echo_test_string"; then
+        # This shell has a builtin print -r that does the trick.
+        ECHO='print -r'
+      elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } &&
+	   test "X$CONFIG_SHELL" != X/bin/ksh; then
+        # If we have ksh, try running configure again with it.
+        ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
+        export ORIGINAL_CONFIG_SHELL
+        CONFIG_SHELL=/bin/ksh
+        export CONFIG_SHELL
+        exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
+      else
+        # Try using printf.
+        ECHO='printf %s\n'
+        if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
+	   echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
+	   test "X$echo_testing_string" = "X$echo_test_string"; then
+	  # Cool, printf works
+	  :
+        elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
+	     test "X$echo_testing_string" = 'X\t' &&
+	     echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+	     test "X$echo_testing_string" = "X$echo_test_string"; then
+	  CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
+	  export CONFIG_SHELL
+	  SHELL="$CONFIG_SHELL"
+	  export SHELL
+	  ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
+        elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
+	     test "X$echo_testing_string" = 'X\t' &&
+	     echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+	     test "X$echo_testing_string" = "X$echo_test_string"; then
+	  ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
+        else
+	  # maybe with a smaller string...
+	  prev=:
+
+	  for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
+	    if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null
+	    then
+	      break
+	    fi
+	    prev="$cmd"
+	  done
+
+	  if test "$prev" != 'sed 50q "[$]0"'; then
+	    echo_test_string=`eval $prev`
+	    export echo_test_string
+	    exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
+	  else
+	    # Oops.  We lost completely, so just stick with echo.
+	    ECHO=echo
+	  fi
+        fi
+      fi
+    fi
+  fi
+fi
+
+# Copy echo and quote the copy suitably for passing to libtool from
+# the Makefile, instead of quoting the original, which is used later.
+lt_ECHO=$ECHO
+if test "X$lt_ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
+   lt_ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
+fi
+
+AC_SUBST(lt_ECHO)
+])
+_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
+_LT_DECL([], [ECHO], [1],
+    [An echo program that does not interpret backslashes])
+])# _LT_PROG_ECHO_BACKSLASH
+
+
+# _LT_ENABLE_LOCK
+# ---------------
+m4_defun([_LT_ENABLE_LOCK],
+[AC_ARG_ENABLE([libtool-lock],
+  [AS_HELP_STRING([--disable-libtool-lock],
+    [avoid locking (might break parallel builds)])])
+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case $host in
+ia64-*-hpux*)
+  # Find out which ABI we are using.
+  echo 'int i;' > conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+    case `/usr/bin/file conftest.$ac_objext` in
+      *ELF-32*)
+	HPUX_IA64_MODE="32"
+	;;
+      *ELF-64*)
+	HPUX_IA64_MODE="64"
+	;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+*-*-irix6*)
+  # Find out which ABI we are using.
+  echo '[#]line __oline__ "configure"' > conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+    if test "$lt_cv_prog_gnu_ld" = yes; then
+      case `/usr/bin/file conftest.$ac_objext` in
+	*32-bit*)
+	  LD="${LD-ld} -melf32bsmip"
+	  ;;
+	*N32*)
+	  LD="${LD-ld} -melf32bmipn32"
+	  ;;
+	*64-bit*)
+	  LD="${LD-ld} -melf64bmip"
+	;;
+      esac
+    else
+      case `/usr/bin/file conftest.$ac_objext` in
+	*32-bit*)
+	  LD="${LD-ld} -32"
+	  ;;
+	*N32*)
+	  LD="${LD-ld} -n32"
+	  ;;
+	*64-bit*)
+	  LD="${LD-ld} -64"
+	  ;;
+      esac
+    fi
+  fi
+  rm -rf conftest*
+  ;;
+
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
+s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
+  # Find out which ABI we are using.
+  echo 'int i;' > conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+    case `/usr/bin/file conftest.o` in
+      *32-bit*)
+	case $host in
+	  x86_64-*kfreebsd*-gnu)
+	    LD="${LD-ld} -m elf_i386_fbsd"
+	    ;;
+	  x86_64-*linux*)
+	    LD="${LD-ld} -m elf_i386"
+	    ;;
+	  ppc64-*linux*|powerpc64-*linux*)
+	    LD="${LD-ld} -m elf32ppclinux"
+	    ;;
+	  s390x-*linux*)
+	    LD="${LD-ld} -m elf_s390"
+	    ;;
+	  sparc64-*linux*)
+	    LD="${LD-ld} -m elf32_sparc"
+	    ;;
+	esac
+	;;
+      *64-bit*)
+	case $host in
+	  x86_64-*kfreebsd*-gnu)
+	    LD="${LD-ld} -m elf_x86_64_fbsd"
+	    ;;
+	  x86_64-*linux*)
+	    LD="${LD-ld} -m elf_x86_64"
+	    ;;
+	  ppc*-*linux*|powerpc*-*linux*)
+	    LD="${LD-ld} -m elf64ppc"
+	    ;;
+	  s390*-*linux*|s390*-*tpf*)
+	    LD="${LD-ld} -m elf64_s390"
+	    ;;
+	  sparc*-*linux*)
+	    LD="${LD-ld} -m elf64_sparc"
+	    ;;
+	esac
+	;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+
+*-*-sco3.2v5*)
+  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+  SAVE_CFLAGS="$CFLAGS"
+  CFLAGS="$CFLAGS -belf"
+  AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
+    [AC_LANG_PUSH(C)
+     AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
+     AC_LANG_POP])
+  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
+    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+    CFLAGS="$SAVE_CFLAGS"
+  fi
+  ;;
+sparc*-*solaris*)
+  # Find out which ABI we are using.
+  echo 'int i;' > conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+    case `/usr/bin/file conftest.o` in
+    *64-bit*)
+      case $lt_cv_prog_gnu_ld in
+      yes*) LD="${LD-ld} -m elf64_sparc" ;;
+      *)
+	if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
+	  LD="${LD-ld} -64"
+	fi
+	;;
+      esac
+      ;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+esac
+
+need_locks="$enable_libtool_lock"
+])# _LT_ENABLE_LOCK
+
+
+# _LT_CMD_OLD_ARCHIVE
+# -------------------
+m4_defun([_LT_CMD_OLD_ARCHIVE],
+[AC_CHECK_TOOL(AR, ar, false)
+test -z "$AR" && AR=ar
+test -z "$AR_FLAGS" && AR_FLAGS=cru
+_LT_DECL([], [AR], [1], [The archiver])
+_LT_DECL([], [AR_FLAGS], [1])
+
+AC_CHECK_TOOL(STRIP, strip, :)
+test -z "$STRIP" && STRIP=:
+_LT_DECL([], [STRIP], [1], [A symbol stripping program])
+
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+test -z "$RANLIB" && RANLIB=:
+_LT_DECL([], [RANLIB], [1],
+    [Commands used to install an old-style archive])
+
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
+
+if test -n "$RANLIB"; then
+  case $host_os in
+  openbsd*)
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
+    ;;
+  *)
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
+    ;;
+  esac
+  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+fi
+_LT_DECL([], [old_postinstall_cmds], [2])
+_LT_DECL([], [old_postuninstall_cmds], [2])
+_LT_TAGDECL([], [old_archive_cmds], [2],
+    [Commands used to build an old-style archive])
+])# _LT_CMD_OLD_ARCHIVE
+
+
+# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+#		[OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
+# ----------------------------------------------------------------
+# Check whether the given compiler option works
+AC_DEFUN([_LT_COMPILER_OPTION],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_SED])dnl
+AC_CACHE_CHECK([$1], [$2],
+  [$2=no
+   m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+   lt_compiler_flag="$3"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   # The option is referenced via a variable to avoid confusing sed.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+   (eval "$lt_compile" 2>conftest.err)
+   ac_status=$?
+   cat conftest.err >&AS_MESSAGE_LOG_FD
+   echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+   if (exit $ac_status) && test -s "$ac_outfile"; then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings other than the usual output.
+     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+       $2=yes
+     fi
+   fi
+   $RM conftest*
+])
+
+if test x"[$]$2" = xyes; then
+    m4_if([$5], , :, [$5])
+else
+    m4_if([$6], , :, [$6])
+fi
+])# _LT_COMPILER_OPTION
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
+
+
+# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+#                  [ACTION-SUCCESS], [ACTION-FAILURE])
+# ----------------------------------------------------
+# Check whether the given linker option works
+AC_DEFUN([_LT_LINKER_OPTION],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_SED])dnl
+AC_CACHE_CHECK([$1], [$2],
+  [$2=no
+   save_LDFLAGS="$LDFLAGS"
+   LDFLAGS="$LDFLAGS $3"
+   echo "$lt_simple_link_test_code" > conftest.$ac_ext
+   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+     # The linker can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     if test -s conftest.err; then
+       # Append any errors to the config.log.
+       cat conftest.err 1>&AS_MESSAGE_LOG_FD
+       $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+       if diff conftest.exp conftest.er2 >/dev/null; then
+         $2=yes
+       fi
+     else
+       $2=yes
+     fi
+   fi
+   $RM -r conftest*
+   LDFLAGS="$save_LDFLAGS"
+])
+
+if test x"[$]$2" = xyes; then
+    m4_if([$4], , :, [$4])
+else
+    m4_if([$5], , :, [$5])
+fi
+])# _LT_LINKER_OPTION
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
+
+
+# LT_CMD_MAX_LEN
+#---------------
+AC_DEFUN([LT_CMD_MAX_LEN],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+# find the maximum length of command line arguments
+AC_MSG_CHECKING([the maximum length of command line arguments])
+AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
+  i=0
+  teststring="ABCD"
+
+  case $build_os in
+  msdosdjgpp*)
+    # On DJGPP, this test can blow up pretty badly due to problems in libc
+    # (any single argument exceeding 2000 bytes causes a buffer overrun
+    # during glob expansion).  Even if it were fixed, the result of this
+    # check would be larger than it should be.
+    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
+    ;;
+
+  gnu*)
+    # Under GNU Hurd, this test is not required because there is
+    # no limit to the length of command line arguments.
+    # Libtool will interpret -1 as no limit whatsoever
+    lt_cv_sys_max_cmd_len=-1;
+    ;;
+
+  cygwin* | mingw* | cegcc*)
+    # On Win9x/ME, this test blows up -- it succeeds, but takes
+    # about 5 minutes as the teststring grows exponentially.
+    # Worse, since 9x/ME are not pre-emptively multitasking,
+    # you end up with a "frozen" computer, even though with patience
+    # the test eventually succeeds (with a max line length of 256k).
+    # Instead, let's just punt: use the minimum linelength reported by
+    # all of the supported platforms: 8192 (on NT/2K/XP).
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
+
+  amigaos*)
+    # On AmigaOS with pdksh, this test takes hours, literally.
+    # So we just punt and use a minimum line length of 8192.
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
+
+  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
+    # This has been around since 386BSD, at least.  Likely further.
+    if test -x /sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
+    elif test -x /usr/sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
+    else
+      lt_cv_sys_max_cmd_len=65536	# usable default for all BSDs
+    fi
+    # And add a safety zone
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+    ;;
+
+  interix*)
+    # We know the value 262144 and hardcode it with a safety zone (like BSD)
+    lt_cv_sys_max_cmd_len=196608
+    ;;
+
+  osf*)
+    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
+    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
+    # nice to cause kernel panics so lets avoid the loop below.
+    # First set a reasonable default.
+    lt_cv_sys_max_cmd_len=16384
+    #
+    if test -x /sbin/sysconfig; then
+      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
+        *1*) lt_cv_sys_max_cmd_len=-1 ;;
+      esac
+    fi
+    ;;
+  sco3.2v5*)
+    lt_cv_sys_max_cmd_len=102400
+    ;;
+  sysv5* | sco5v6* | sysv4.2uw2*)
+    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
+    if test -n "$kargmax"; then
+      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[	 ]]//'`
+    else
+      lt_cv_sys_max_cmd_len=32768
+    fi
+    ;;
+  *)
+    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
+    if test -n "$lt_cv_sys_max_cmd_len"; then
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+    else
+      # Make teststring a little bigger before we do anything with it.
+      # a 1K string should be a reasonable start.
+      for i in 1 2 3 4 5 6 7 8 ; do
+        teststring=$teststring$teststring
+      done
+      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+      # If test is not a shell built-in, we'll probably end up computing a
+      # maximum length that is only half of the actual maximum length, but
+      # we can't tell.
+      while { test "X"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \
+	         = "XX$teststring$teststring"; } >/dev/null 2>&1 &&
+	      test $i != 17 # 1/2 MB should be enough
+      do
+        i=`expr $i + 1`
+        teststring=$teststring$teststring
+      done
+      # Only check the string length outside the loop.
+      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
+      teststring=
+      # Add a significant safety factor because C++ compilers can tack on
+      # massive amounts of additional arguments before passing them to the
+      # linker.  It appears as though 1/2 is a usable value.
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+    fi
+    ;;
+  esac
+])
+if test -n $lt_cv_sys_max_cmd_len ; then
+  AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
+else
+  AC_MSG_RESULT(none)
+fi
+max_cmd_len=$lt_cv_sys_max_cmd_len
+_LT_DECL([], [max_cmd_len], [0],
+    [What is the maximum length of a command?])
+])# LT_CMD_MAX_LEN
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
+
+
+# _LT_HEADER_DLFCN
+# ----------------
+m4_defun([_LT_HEADER_DLFCN],
+[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
+])# _LT_HEADER_DLFCN
+
+
+# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
+#                      ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
+# ----------------------------------------------------------------
+m4_defun([_LT_TRY_DLOPEN_SELF],
+[m4_require([_LT_HEADER_DLFCN])dnl
+if test "$cross_compiling" = yes; then :
+  [$4]
+else
+  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+  lt_status=$lt_dlunknown
+  cat > conftest.$ac_ext <<_LT_EOF
+[#line __oline__ "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+#  define LT_DLGLOBAL		RTLD_GLOBAL
+#else
+#  ifdef DL_GLOBAL
+#    define LT_DLGLOBAL		DL_GLOBAL
+#  else
+#    define LT_DLGLOBAL		0
+#  endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+   find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+#  ifdef RTLD_LAZY
+#    define LT_DLLAZY_OR_NOW		RTLD_LAZY
+#  else
+#    ifdef DL_LAZY
+#      define LT_DLLAZY_OR_NOW		DL_LAZY
+#    else
+#      ifdef RTLD_NOW
+#        define LT_DLLAZY_OR_NOW	RTLD_NOW
+#      else
+#        ifdef DL_NOW
+#          define LT_DLLAZY_OR_NOW	DL_NOW
+#        else
+#          define LT_DLLAZY_OR_NOW	0
+#        endif
+#      endif
+#    endif
+#  endif
+#endif
+
+void fnord() { int i=42;}
+int main ()
+{
+  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+  int status = $lt_dlunknown;
+
+  if (self)
+    {
+      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
+      else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+      /* dlclose (self); */
+    }
+  else
+    puts (dlerror ());
+
+  return status;
+}]
+_LT_EOF
+  if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
+    (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
+    lt_status=$?
+    case x$lt_status in
+      x$lt_dlno_uscore) $1 ;;
+      x$lt_dlneed_uscore) $2 ;;
+      x$lt_dlunknown|x*) $3 ;;
+    esac
+  else :
+    # compilation failed
+    $3
+  fi
+fi
+rm -fr conftest*
+])# _LT_TRY_DLOPEN_SELF
+
+
+# LT_SYS_DLOPEN_SELF
+# ------------------
+AC_DEFUN([LT_SYS_DLOPEN_SELF],
+[m4_require([_LT_HEADER_DLFCN])dnl
+if test "x$enable_dlopen" != xyes; then
+  enable_dlopen=unknown
+  enable_dlopen_self=unknown
+  enable_dlopen_self_static=unknown
+else
+  lt_cv_dlopen=no
+  lt_cv_dlopen_libs=
+
+  case $host_os in
+  beos*)
+    lt_cv_dlopen="load_add_on"
+    lt_cv_dlopen_libs=
+    lt_cv_dlopen_self=yes
+    ;;
+
+  mingw* | pw32* | cegcc*)
+    lt_cv_dlopen="LoadLibrary"
+    lt_cv_dlopen_libs=
+    ;;
+
+  cygwin*)
+    lt_cv_dlopen="dlopen"
+    lt_cv_dlopen_libs=
+    ;;
+
+  darwin*)
+  # if libdl is installed we need to link against it
+    AC_CHECK_LIB([dl], [dlopen],
+		[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
+    lt_cv_dlopen="dyld"
+    lt_cv_dlopen_libs=
+    lt_cv_dlopen_self=yes
+    ])
+    ;;
+
+  *)
+    AC_CHECK_FUNC([shl_load],
+	  [lt_cv_dlopen="shl_load"],
+      [AC_CHECK_LIB([dld], [shl_load],
+	    [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
+	[AC_CHECK_FUNC([dlopen],
+	      [lt_cv_dlopen="dlopen"],
+	  [AC_CHECK_LIB([dl], [dlopen],
+		[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
+	    [AC_CHECK_LIB([svld], [dlopen],
+		  [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
+	      [AC_CHECK_LIB([dld], [dld_link],
+		    [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
+	      ])
+	    ])
+	  ])
+	])
+      ])
+    ;;
+  esac
+
+  if test "x$lt_cv_dlopen" != xno; then
+    enable_dlopen=yes
+  else
+    enable_dlopen=no
+  fi
+
+  case $lt_cv_dlopen in
+  dlopen)
+    save_CPPFLAGS="$CPPFLAGS"
+    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+
+    save_LDFLAGS="$LDFLAGS"
+    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+
+    save_LIBS="$LIBS"
+    LIBS="$lt_cv_dlopen_libs $LIBS"
+
+    AC_CACHE_CHECK([whether a program can dlopen itself],
+	  lt_cv_dlopen_self, [dnl
+	  _LT_TRY_DLOPEN_SELF(
+	    lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
+	    lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
+    ])
+
+    if test "x$lt_cv_dlopen_self" = xyes; then
+      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
+      AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
+	  lt_cv_dlopen_self_static, [dnl
+	  _LT_TRY_DLOPEN_SELF(
+	    lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
+	    lt_cv_dlopen_self_static=no,  lt_cv_dlopen_self_static=cross)
+      ])
+    fi
+
+    CPPFLAGS="$save_CPPFLAGS"
+    LDFLAGS="$save_LDFLAGS"
+    LIBS="$save_LIBS"
+    ;;
+  esac
+
+  case $lt_cv_dlopen_self in
+  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
+  *) enable_dlopen_self=unknown ;;
+  esac
+
+  case $lt_cv_dlopen_self_static in
+  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
+  *) enable_dlopen_self_static=unknown ;;
+  esac
+fi
+_LT_DECL([dlopen_support], [enable_dlopen], [0],
+	 [Whether dlopen is supported])
+_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
+	 [Whether dlopen of programs is supported])
+_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
+	 [Whether dlopen of statically linked programs is supported])
+])# LT_SYS_DLOPEN_SELF
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
+
+
+# _LT_COMPILER_C_O([TAGNAME])
+# ---------------------------
+# Check to see if options -c and -o are simultaneously supported by compiler.
+# This macro does not hard code the compiler like AC_PROG_CC_C_O.
+m4_defun([_LT_COMPILER_C_O],
+[m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
+  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
+  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
+   $RM -r conftest 2>/dev/null
+   mkdir conftest
+   cd conftest
+   mkdir out
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+   lt_compiler_flag="-o out/conftest2.$ac_objext"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+   (eval "$lt_compile" 2>out/conftest.err)
+   ac_status=$?
+   cat out/conftest.err >&AS_MESSAGE_LOG_FD
+   echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+   if (exit $ac_status) && test -s out/conftest2.$ac_objext
+   then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+       _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+     fi
+   fi
+   chmod u+w . 2>&AS_MESSAGE_LOG_FD
+   $RM conftest*
+   # SGI C++ compiler will create directory out/ii_files/ for
+   # template instantiation
+   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+   $RM out/* && rmdir out
+   cd ..
+   $RM -r conftest
+   $RM conftest*
+])
+_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
+	[Does compiler simultaneously support -c and -o options?])
+])# _LT_COMPILER_C_O
+
+
+# _LT_COMPILER_FILE_LOCKS([TAGNAME])
+# ----------------------------------
+# Check to see if we can do hard links to lock some files if needed
+m4_defun([_LT_COMPILER_FILE_LOCKS],
+[m4_require([_LT_ENABLE_LOCK])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+_LT_COMPILER_C_O([$1])
+
+hard_links="nottested"
+if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
+  # do not overwrite the value of need_locks provided by the user
+  AC_MSG_CHECKING([if we can lock with hard links])
+  hard_links=yes
+  $RM conftest*
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  touch conftest.a
+  ln conftest.a conftest.b 2>&5 || hard_links=no
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  AC_MSG_RESULT([$hard_links])
+  if test "$hard_links" = no; then
+    AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
+    need_locks=warn
+  fi
+else
+  need_locks=no
+fi
+_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
+])# _LT_COMPILER_FILE_LOCKS
+
+
+# _LT_CHECK_OBJDIR
+# ----------------
+m4_defun([_LT_CHECK_OBJDIR],
+[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
+[rm -f .libs 2>/dev/null
+mkdir .libs 2>/dev/null
+if test -d .libs; then
+  lt_cv_objdir=.libs
+else
+  # MS-DOS does not allow filenames that begin with a dot.
+  lt_cv_objdir=_libs
+fi
+rmdir .libs 2>/dev/null])
+objdir=$lt_cv_objdir
+_LT_DECL([], [objdir], [0],
+         [The name of the directory that contains temporary libtool files])dnl
+m4_pattern_allow([LT_OBJDIR])dnl
+AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/",
+  [Define to the sub-directory in which libtool stores uninstalled libraries.])
+])# _LT_CHECK_OBJDIR
+
+
+# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
+# --------------------------------------
+# Check hardcoding attributes.
+m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
+[AC_MSG_CHECKING([how to hardcode library paths into programs])
+_LT_TAGVAR(hardcode_action, $1)=
+if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
+   test -n "$_LT_TAGVAR(runpath_var, $1)" ||
+   test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
+
+  # We can hardcode non-existent directories.
+  if test "$_LT_TAGVAR(hardcode_direct, $1)" != no &&
+     # If the only mechanism to avoid hardcoding is shlibpath_var, we
+     # have to relink, otherwise we might link with an installed library
+     # when we should be linking with a yet-to-be-installed one
+     ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
+     test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then
+    # Linking always hardcodes the temporary library directory.
+    _LT_TAGVAR(hardcode_action, $1)=relink
+  else
+    # We can link without hardcoding, and we can hardcode nonexisting dirs.
+    _LT_TAGVAR(hardcode_action, $1)=immediate
+  fi
+else
+  # We cannot hardcode anything, or else we can only hardcode existing
+  # directories.
+  _LT_TAGVAR(hardcode_action, $1)=unsupported
+fi
+AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
+
+if test "$_LT_TAGVAR(hardcode_action, $1)" = relink ||
+   test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then
+  # Fast installation is not supported
+  enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+     test "$enable_shared" = no; then
+  # Fast installation is not necessary
+  enable_fast_install=needless
+fi
+_LT_TAGDECL([], [hardcode_action], [0],
+    [How to hardcode a shared library path into an executable])
+])# _LT_LINKER_HARDCODE_LIBPATH
+
+
+# _LT_CMD_STRIPLIB
+# ----------------
+m4_defun([_LT_CMD_STRIPLIB],
+[m4_require([_LT_DECL_EGREP])
+striplib=
+old_striplib=
+AC_MSG_CHECKING([whether stripping libraries is possible])
+if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
+  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+  AC_MSG_RESULT([yes])
+else
+# FIXME - insert some real tests, host_os isn't really good enough
+  case $host_os in
+  darwin*)
+    if test -n "$STRIP" ; then
+      striplib="$STRIP -x"
+      old_striplib="$STRIP -S"
+      AC_MSG_RESULT([yes])
+    else
+      AC_MSG_RESULT([no])
+    fi
+    ;;
+  *)
+    AC_MSG_RESULT([no])
+    ;;
+  esac
+fi
+_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
+_LT_DECL([], [striplib], [1])
+])# _LT_CMD_STRIPLIB
+
+
+# _LT_SYS_DYNAMIC_LINKER([TAG])
+# -----------------------------
+# PORTME Fill in your ld.so characteristics
+m4_defun([_LT_SYS_DYNAMIC_LINKER],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_OBJDUMP])dnl
+m4_require([_LT_DECL_SED])dnl
+AC_MSG_CHECKING([dynamic linker characteristics])
+m4_if([$1],
+	[], [
+if test "$GCC" = yes; then
+  case $host_os in
+    darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
+    *) lt_awk_arg="/^libraries:/" ;;
+  esac
+  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+  if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then
+    # if the path contains ";" then we assume it to be the separator
+    # otherwise default to the standard path separator (i.e. ":") - it is
+    # assumed that no part of a normal pathname contains ";" but that should
+    # okay in the real world where ";" in dirpaths is itself problematic.
+    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'`
+  else
+    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+  fi
+  # Ok, now we have the path, separated by spaces, we can step through it
+  # and add multilib dir if necessary.
+  lt_tmp_lt_search_path_spec=
+  lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+  for lt_sys_path in $lt_search_path_spec; do
+    if test -d "$lt_sys_path/$lt_multi_os_dir"; then
+      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
+    else
+      test -d "$lt_sys_path" && \
+	lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
+    fi
+  done
+  lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk '
+BEGIN {RS=" "; FS="/|\n";} {
+  lt_foo="";
+  lt_count=0;
+  for (lt_i = NF; lt_i > 0; lt_i--) {
+    if ($lt_i != "" && $lt_i != ".") {
+      if ($lt_i == "..") {
+        lt_count++;
+      } else {
+        if (lt_count == 0) {
+          lt_foo="/" $lt_i lt_foo;
+        } else {
+          lt_count--;
+        }
+      }
+    }
+  }
+  if (lt_foo != "") { lt_freq[[lt_foo]]++; }
+  if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
+}'`
+  sys_lib_search_path_spec=`$ECHO $lt_search_path_spec`
+else
+  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+fi])
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+case $host_os in
+aix3*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+  shlibpath_var=LIBPATH
+
+  # AIX 3 has no versioning support, so we append a major version to the name.
+  soname_spec='${libname}${release}${shared_ext}$major'
+  ;;
+
+aix[[4-9]]*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  hardcode_into_libs=yes
+  if test "$host_cpu" = ia64; then
+    # AIX 5 supports IA64
+    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+    shlibpath_var=LD_LIBRARY_PATH
+  else
+    # With GCC up to 2.95.x, collect2 would create an import file
+    # for dependence libraries.  The import file would start with
+    # the line `#! .'.  This would cause the generated library to
+    # depend on `.', always an invalid library.  This was fixed in
+    # development snapshots of GCC prior to 3.0.
+    case $host_os in
+      aix4 | aix4.[[01]] | aix4.[[01]].*)
+      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+	   echo ' yes '
+	   echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
+	:
+      else
+	can_build_shared=no
+      fi
+      ;;
+    esac
+    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+    # soname into executable. Probably we can add versioning support to
+    # collect2, so additional links can be useful in future.
+    if test "$aix_use_runtimelinking" = yes; then
+      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+      # instead of lib<name>.a to let people know that these are not
+      # typical AIX shared libraries.
+      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    else
+      # We preserve .a as extension for shared libraries through AIX4.2
+      # and later when we are not doing run time linking.
+      library_names_spec='${libname}${release}.a $libname.a'
+      soname_spec='${libname}${release}${shared_ext}$major'
+    fi
+    shlibpath_var=LIBPATH
+  fi
+  ;;
+
+amigaos*)
+  case $host_cpu in
+  powerpc)
+    # Since July 2007 AmigaOS4 officially supports .so libraries.
+    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    ;;
+  m68k)
+    library_names_spec='$libname.ixlibrary $libname.a'
+    # Create ${libname}_ixlibrary.a entries in /sys/libs.
+    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+    ;;
+  esac
+  ;;
+
+beos*)
+  library_names_spec='${libname}${shared_ext}'
+  dynamic_linker="$host_os ld.so"
+  shlibpath_var=LIBRARY_PATH
+  ;;
+
+bsdi[[45]]*)
+  version_type=linux
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+  # the default ld.so.conf also contains /usr/contrib/lib and
+  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+  # libtool to hard-code these into programs
+  ;;
+
+cygwin* | mingw* | pw32* | cegcc*)
+  version_type=windows
+  shrext_cmds=".dll"
+  need_version=no
+  need_lib_prefix=no
+
+  case $GCC,$host_os in
+  yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
+    library_names_spec='$libname.dll.a'
+    # DLL is installed to $(libdir)/../bin by postinstall_cmds
+    postinstall_cmds='base_file=`basename \${file}`~
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+      dldir=$destdir/`dirname \$dlpath`~
+      test -d \$dldir || mkdir -p \$dldir~
+      $install_prog $dir/$dlname \$dldir/$dlname~
+      chmod a+x \$dldir/$dlname~
+      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+      fi'
+    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+      dlpath=$dir/\$dldll~
+       $RM \$dlpath'
+    shlibpath_overrides_runpath=yes
+
+    case $host_os in
+    cygwin*)
+      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+      sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+      ;;
+    mingw* | cegcc*)
+      # MinGW DLLs use traditional 'lib' prefix
+      soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+      sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+      if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
+        # It is most probably a Windows format PATH printed by
+        # mingw gcc, but we are running on Cygwin. Gcc prints its search
+        # path with ; separators, and with drive letters. We can handle the
+        # drive letters (cygwin fileutils understands them), so leave them,
+        # especially as we might pass files found there to a mingw objdump,
+        # which wouldn't understand a cygwinified path. Ahh.
+        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+      else
+        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+      fi
+      ;;
+    pw32*)
+      # pw32 DLLs use 'pw' prefix rather than 'lib'
+      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+      ;;
+    esac
+    ;;
+
+  *)
+    library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
+    ;;
+  esac
+  dynamic_linker='Win32 ld.exe'
+  # FIXME: first we should search . and the directory the executable is in
+  shlibpath_var=PATH
+  ;;
+
+darwin* | rhapsody*)
+  dynamic_linker="$host_os dyld"
+  version_type=darwin
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+  soname_spec='${libname}${release}${major}$shared_ext'
+  shlibpath_overrides_runpath=yes
+  shlibpath_var=DYLD_LIBRARY_PATH
+  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+m4_if([$1], [],[
+  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
+  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+  ;;
+
+dgux*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+freebsd1*)
+  dynamic_linker=no
+  ;;
+
+freebsd* | dragonfly*)
+  # DragonFly does not have aout.  When/if they implement a new
+  # versioning mechanism, adjust this.
+  if test -x /usr/bin/objformat; then
+    objformat=`/usr/bin/objformat`
+  else
+    case $host_os in
+    freebsd[[123]]*) objformat=aout ;;
+    *) objformat=elf ;;
+    esac
+  fi
+  version_type=freebsd-$objformat
+  case $version_type in
+    freebsd-elf*)
+      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+      need_version=no
+      need_lib_prefix=no
+      ;;
+    freebsd-*)
+      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+      need_version=yes
+      ;;
+  esac
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_os in
+  freebsd2*)
+    shlibpath_overrides_runpath=yes
+    ;;
+  freebsd3.[[01]]* | freebsdelf3.[[01]]*)
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
+  freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
+    shlibpath_overrides_runpath=no
+    hardcode_into_libs=yes
+    ;;
+  *) # from 4.6 on, and DragonFly
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  esac
+  ;;
+
+gnu*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  hardcode_into_libs=yes
+  ;;
+
+hpux9* | hpux10* | hpux11*)
+  # Give a soname corresponding to the major version so that dld.sl refuses to
+  # link against other versions.
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  case $host_cpu in
+  ia64*)
+    shrext_cmds='.so'
+    hardcode_into_libs=yes
+    dynamic_linker="$host_os dld.so"
+    shlibpath_var=LD_LIBRARY_PATH
+    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    if test "X$HPUX_IA64_MODE" = X32; then
+      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+    else
+      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+    fi
+    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+    ;;
+  hppa*64*)
+    shrext_cmds='.sl'
+    hardcode_into_libs=yes
+    dynamic_linker="$host_os dld.sl"
+    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+    ;;
+  *)
+    shrext_cmds='.sl'
+    dynamic_linker="$host_os dld.sl"
+    shlibpath_var=SHLIB_PATH
+    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    ;;
+  esac
+  # HP-UX runs *really* slowly unless shared libraries are mode 555.
+  postinstall_cmds='chmod 555 $lib'
+  ;;
+
+interix[[3-9]]*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
+irix5* | irix6* | nonstopux*)
+  case $host_os in
+    nonstopux*) version_type=nonstopux ;;
+    *)
+	if test "$lt_cv_prog_gnu_ld" = yes; then
+		version_type=linux
+	else
+		version_type=irix
+	fi ;;
+  esac
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+  case $host_os in
+  irix5* | nonstopux*)
+    libsuff= shlibsuff=
+    ;;
+  *)
+    case $LD in # libtool.m4 will add one of these switches to LD
+    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+      libsuff= shlibsuff= libmagic=32-bit;;
+    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+      libsuff=32 shlibsuff=N32 libmagic=N32;;
+    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+      libsuff=64 shlibsuff=64 libmagic=64-bit;;
+    *) libsuff= shlibsuff= libmagic=never-match;;
+    esac
+    ;;
+  esac
+  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+  shlibpath_overrides_runpath=no
+  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+  hardcode_into_libs=yes
+  ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+  dynamic_linker=no
+  ;;
+
+# This must be Linux ELF.
+linux* | k*bsd*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  # Some binutils ld are patched to set DT_RUNPATH
+  save_LDFLAGS=$LDFLAGS
+  save_libdir=$libdir
+  eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
+       LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
+  AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
+    [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
+       [shlibpath_overrides_runpath=yes])])
+  LDFLAGS=$save_LDFLAGS
+  libdir=$save_libdir
+
+  # This implies no fast_install, which is unacceptable.
+  # Some rework will be needed to allow for fast_install
+  # before this can be enabled.
+  hardcode_into_libs=yes
+
+  # Append ld.so.conf contents to the search path
+  if test -f /etc/ld.so.conf; then
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[	 ]*hwcap[	 ]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+  fi
+
+  # We used to test for /lib/ld.so.1 and disable shared libraries on
+  # powerpc, because MkLinux only supported shared libraries with the
+  # GNU dynamic linker.  Since this was broken with cross compilers,
+  # most powerpc-linux boxes support dynamic linking these days and
+  # people can always --disable-shared, the test was removed, and we
+  # assume the GNU/Linux dynamic linker is in use.
+  dynamic_linker='GNU/Linux ld.so'
+  ;;
+
+netbsd*)
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+    dynamic_linker='NetBSD (a.out) ld.so'
+  else
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    dynamic_linker='NetBSD ld.elf_so'
+  fi
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  ;;
+
+newsos6)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
+
+*nto* | *qnx*)
+  version_type=qnx
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='ldqnx.so'
+  ;;
+
+openbsd*)
+  version_type=sunos
+  sys_lib_dlsearch_path_spec="/usr/lib"
+  need_lib_prefix=no
+  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+  case $host_os in
+    openbsd3.3 | openbsd3.3.*)	need_version=yes ;;
+    *)				need_version=no  ;;
+  esac
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+    case $host_os in
+      openbsd2.[[89]] | openbsd2.[[89]].*)
+	shlibpath_overrides_runpath=no
+	;;
+      *)
+	shlibpath_overrides_runpath=yes
+	;;
+      esac
+  else
+    shlibpath_overrides_runpath=yes
+  fi
+  ;;
+
+os2*)
+  libname_spec='$name'
+  shrext_cmds=".dll"
+  need_lib_prefix=no
+  library_names_spec='$libname${shared_ext} $libname.a'
+  dynamic_linker='OS/2 ld.exe'
+  shlibpath_var=LIBPATH
+  ;;
+
+osf3* | osf4* | osf5*)
+  version_type=osf
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+  ;;
+
+rdos*)
+  dynamic_linker=no
+  ;;
+
+solaris*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  # ldd complains unless libraries are executable
+  postinstall_cmds='chmod +x $lib'
+  ;;
+
+sunos4*)
+  version_type=sunos
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  if test "$with_gnu_ld" = yes; then
+    need_lib_prefix=no
+  fi
+  need_version=yes
+  ;;
+
+sysv4 | sysv4.3*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_vendor in
+    sni)
+      shlibpath_overrides_runpath=no
+      need_lib_prefix=no
+      runpath_var=LD_RUN_PATH
+      ;;
+    siemens)
+      need_lib_prefix=no
+      ;;
+    motorola)
+      need_lib_prefix=no
+      need_version=no
+      shlibpath_overrides_runpath=no
+      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+      ;;
+  esac
+  ;;
+
+sysv4*MP*)
+  if test -d /usr/nec ;then
+    version_type=linux
+    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+    soname_spec='$libname${shared_ext}.$major'
+    shlibpath_var=LD_LIBRARY_PATH
+  fi
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  version_type=freebsd-elf
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  if test "$with_gnu_ld" = yes; then
+    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+  else
+    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+    case $host_os in
+      sco3.2v5*)
+        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+	;;
+    esac
+  fi
+  sys_lib_dlsearch_path_spec='/usr/lib'
+  ;;
+
+tpf*)
+  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
+uts4*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+*)
+  dynamic_linker=no
+  ;;
+esac
+AC_MSG_RESULT([$dynamic_linker])
+test "$dynamic_linker" = no && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
+  sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+fi
+if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
+  sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+fi
+
+_LT_DECL([], [variables_saved_for_relink], [1],
+    [Variables whose values should be saved in libtool wrapper scripts and
+    restored at link time])
+_LT_DECL([], [need_lib_prefix], [0],
+    [Do we need the "lib" prefix for modules?])
+_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
+_LT_DECL([], [version_type], [0], [Library versioning type])
+_LT_DECL([], [runpath_var], [0],  [Shared library runtime path variable])
+_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
+_LT_DECL([], [shlibpath_overrides_runpath], [0],
+    [Is shlibpath searched before the hard-coded library search path?])
+_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
+_LT_DECL([], [library_names_spec], [1],
+    [[List of archive names.  First name is the real one, the rest are links.
+    The last name is the one that the linker finds with -lNAME]])
+_LT_DECL([], [soname_spec], [1],
+    [[The coded name of the library, if different from the real name]])
+_LT_DECL([], [postinstall_cmds], [2],
+    [Command to use after installation of a shared archive])
+_LT_DECL([], [postuninstall_cmds], [2],
+    [Command to use after uninstallation of a shared archive])
+_LT_DECL([], [finish_cmds], [2],
+    [Commands used to finish a libtool library installation in a directory])
+_LT_DECL([], [finish_eval], [1],
+    [[As "finish_cmds", except a single script fragment to be evaled but
+    not shown]])
+_LT_DECL([], [hardcode_into_libs], [0],
+    [Whether we should hardcode library paths into libraries])
+_LT_DECL([], [sys_lib_search_path_spec], [2],
+    [Compile-time system search path for libraries])
+_LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
+    [Run-time system search path for libraries])
+])# _LT_SYS_DYNAMIC_LINKER
+
+
+# _LT_PATH_TOOL_PREFIX(TOOL)
+# --------------------------
+# find a file program which can recognize shared library
+AC_DEFUN([_LT_PATH_TOOL_PREFIX],
+[m4_require([_LT_DECL_EGREP])dnl
+AC_MSG_CHECKING([for $1])
+AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
+[case $MAGIC_CMD in
+[[\\/*] |  ?:[\\/]*])
+  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+  ;;
+*)
+  lt_save_MAGIC_CMD="$MAGIC_CMD"
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+dnl $ac_dummy forces splitting on constant user-supplied paths.
+dnl POSIX.2 word splitting is done only on the output of word expansions,
+dnl not every word.  This closes a longstanding sh security hole.
+  ac_dummy="m4_if([$2], , $PATH, [$2])"
+  for ac_dir in $ac_dummy; do
+    IFS="$lt_save_ifs"
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$1; then
+      lt_cv_path_MAGIC_CMD="$ac_dir/$1"
+      if test -n "$file_magic_test_file"; then
+	case $deplibs_check_method in
+	"file_magic "*)
+	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+	  MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+	    $EGREP "$file_magic_regex" > /dev/null; then
+	    :
+	  else
+	    cat <<_LT_EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such.  This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem.  Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
+
+_LT_EOF
+	  fi ;;
+	esac
+      fi
+      break
+    fi
+  done
+  IFS="$lt_save_ifs"
+  MAGIC_CMD="$lt_save_MAGIC_CMD"
+  ;;
+esac])
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+  AC_MSG_RESULT($MAGIC_CMD)
+else
+  AC_MSG_RESULT(no)
+fi
+_LT_DECL([], [MAGIC_CMD], [0],
+	 [Used to examine libraries when file_magic_cmd begins with "file"])dnl
+])# _LT_PATH_TOOL_PREFIX
+
+# Old name:
+AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
+
+
+# _LT_PATH_MAGIC
+# --------------
+# find a file program which can recognize a shared library
+m4_defun([_LT_PATH_MAGIC],
+[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
+if test -z "$lt_cv_path_MAGIC_CMD"; then
+  if test -n "$ac_tool_prefix"; then
+    _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
+  else
+    MAGIC_CMD=:
+  fi
+fi
+])# _LT_PATH_MAGIC
+
+
+# LT_PATH_LD
+# ----------
+# find the pathname to the GNU or non-GNU linker
+AC_DEFUN([LT_PATH_LD],
+[AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_DECL_EGREP])dnl
+
+AC_ARG_WITH([gnu-ld],
+    [AS_HELP_STRING([--with-gnu-ld],
+	[assume the C compiler uses GNU ld @<:@default=no@:>@])],
+    [test "$withval" = no || with_gnu_ld=yes],
+    [with_gnu_ld=no])dnl
+
+ac_prog=ld
+if test "$GCC" = yes; then
+  # Check if gcc -print-prog-name=ld gives a path.
+  AC_MSG_CHECKING([for ld used by $CC])
+  case $host in
+  *-*-mingw*)
+    # gcc leaves a trailing carriage return which upsets mingw
+    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+  *)
+    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+  esac
+  case $ac_prog in
+    # Accept absolute paths.
+    [[\\/]]* | ?:[[\\/]]*)
+      re_direlt='/[[^/]][[^/]]*/\.\./'
+      # Canonicalize the pathname of ld
+      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
+      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
+	ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
+      done
+      test -z "$LD" && LD="$ac_prog"
+      ;;
+  "")
+    # If it fails, then pretend we aren't using GCC.
+    ac_prog=ld
+    ;;
+  *)
+    # If it is relative, then search for the first ld in PATH.
+    with_gnu_ld=unknown
+    ;;
+  esac
+elif test "$with_gnu_ld" = yes; then
+  AC_MSG_CHECKING([for GNU ld])
+else
+  AC_MSG_CHECKING([for non-GNU ld])
+fi
+AC_CACHE_VAL(lt_cv_path_LD,
+[if test -z "$LD"; then
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  for ac_dir in $PATH; do
+    IFS="$lt_save_ifs"
+    test -z "$ac_dir" && ac_dir=.
+    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+      lt_cv_path_LD="$ac_dir/$ac_prog"
+      # Check to see if the program is GNU ld.  I'd rather use --version,
+      # but apparently some variants of GNU ld only accept -v.
+      # Break only if it was the GNU/non-GNU ld that we prefer.
+      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+      *GNU* | *'with BFD'*)
+	test "$with_gnu_ld" != no && break
+	;;
+      *)
+	test "$with_gnu_ld" != yes && break
+	;;
+      esac
+    fi
+  done
+  IFS="$lt_save_ifs"
+else
+  lt_cv_path_LD="$LD" # Let the user override the test with a path.
+fi])
+LD="$lt_cv_path_LD"
+if test -n "$LD"; then
+  AC_MSG_RESULT($LD)
+else
+  AC_MSG_RESULT(no)
+fi
+test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
+_LT_PATH_LD_GNU
+AC_SUBST([LD])
+
+_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
+])# LT_PATH_LD
+
+# Old names:
+AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
+AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_PROG_LD], [])
+dnl AC_DEFUN([AC_PROG_LD], [])
+
+
+# _LT_PATH_LD_GNU
+#- --------------
+m4_defun([_LT_PATH_LD_GNU],
+[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
+[# I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+  lt_cv_prog_gnu_ld=yes
+  ;;
+*)
+  lt_cv_prog_gnu_ld=no
+  ;;
+esac])
+with_gnu_ld=$lt_cv_prog_gnu_ld
+])# _LT_PATH_LD_GNU
+
+
+# _LT_CMD_RELOAD
+# --------------
+# find reload flag for linker
+#   -- PORTME Some linkers may need a different reload flag.
+m4_defun([_LT_CMD_RELOAD],
+[AC_CACHE_CHECK([for $LD option to reload object files],
+  lt_cv_ld_reload_flag,
+  [lt_cv_ld_reload_flag='-r'])
+reload_flag=$lt_cv_ld_reload_flag
+case $reload_flag in
+"" | " "*) ;;
+*) reload_flag=" $reload_flag" ;;
+esac
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+case $host_os in
+  darwin*)
+    if test "$GCC" = yes; then
+      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+    else
+      reload_cmds='$LD$reload_flag -o $output$reload_objs'
+    fi
+    ;;
+esac
+_LT_DECL([], [reload_flag], [1], [How to create reloadable object files])dnl
+_LT_DECL([], [reload_cmds], [2])dnl
+])# _LT_CMD_RELOAD
+
+
+# _LT_CHECK_MAGIC_METHOD
+# ----------------------
+# how to check for library dependencies
+#  -- PORTME fill in with the dynamic library characteristics
+m4_defun([_LT_CHECK_MAGIC_METHOD],
+[m4_require([_LT_DECL_EGREP])
+m4_require([_LT_DECL_OBJDUMP])
+AC_CACHE_CHECK([how to recognize dependent libraries],
+lt_cv_deplibs_check_method,
+[lt_cv_file_magic_cmd='$MAGIC_CMD'
+lt_cv_file_magic_test_file=
+lt_cv_deplibs_check_method='unknown'
+# Need to set the preceding variable on all platforms that support
+# interlibrary dependencies.
+# 'none' -- dependencies not supported.
+# `unknown' -- same as none, but documents that we really don't know.
+# 'pass_all' -- all dependencies passed with no checks.
+# 'test_compile' -- check by making test program.
+# 'file_magic [[regex]]' -- check by looking for files in library path
+# which responds to the $file_magic_cmd with a given extended regex.
+# If you have `file' or equivalent on your system and you're not sure
+# whether `pass_all' will *always* work, you probably want this one.
+
+case $host_os in
+aix[[4-9]]*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+beos*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+bsdi[[45]]*)
+  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
+  lt_cv_file_magic_cmd='/usr/bin/file -L'
+  lt_cv_file_magic_test_file=/shlib/libc.so
+  ;;
+
+cygwin*)
+  # func_win32_libid is a shell function defined in ltmain.sh
+  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+  lt_cv_file_magic_cmd='func_win32_libid'
+  ;;
+
+mingw* | pw32*)
+  # Base MSYS/MinGW do not provide the 'file' command needed by
+  # func_win32_libid shell function, so use a weaker test based on 'objdump',
+  # unless we find 'file', for example because we are cross-compiling.
+  if ( file / ) >/dev/null 2>&1; then
+    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+    lt_cv_file_magic_cmd='func_win32_libid'
+  else
+    lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
+    lt_cv_file_magic_cmd='$OBJDUMP -f'
+  fi
+  ;;
+
+cegcc)
+  # use the weaker test based on 'objdump'. See mingw*.
+  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
+  lt_cv_file_magic_cmd='$OBJDUMP -f'
+  ;;
+
+darwin* | rhapsody*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+freebsd* | dragonfly*)
+  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+    case $host_cpu in
+    i*86 )
+      # Not sure whether the presence of OpenBSD here was a mistake.
+      # Let's accept both of them until this is cleared up.
+      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
+      lt_cv_file_magic_cmd=/usr/bin/file
+      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+      ;;
+    esac
+  else
+    lt_cv_deplibs_check_method=pass_all
+  fi
+  ;;
+
+gnu*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+hpux10.20* | hpux11*)
+  lt_cv_file_magic_cmd=/usr/bin/file
+  case $host_cpu in
+  ia64*)
+    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
+    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
+    ;;
+  hppa*64*)
+    [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]']
+    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
+    ;;
+  *)
+    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
+    lt_cv_file_magic_test_file=/usr/lib/libc.sl
+    ;;
+  esac
+  ;;
+
+interix[[3-9]]*)
+  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
+  lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
+  ;;
+
+irix5* | irix6* | nonstopux*)
+  case $LD in
+  *-32|*"-32 ") libmagic=32-bit;;
+  *-n32|*"-n32 ") libmagic=N32;;
+  *-64|*"-64 ") libmagic=64-bit;;
+  *) libmagic=never-match;;
+  esac
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+# This must be Linux ELF.
+linux* | k*bsd*-gnu)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+netbsd*)
+  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
+  else
+    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
+  fi
+  ;;
+
+newos6*)
+  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
+  lt_cv_file_magic_cmd=/usr/bin/file
+  lt_cv_file_magic_test_file=/usr/lib/libnls.so
+  ;;
+
+*nto* | *qnx*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+openbsd*)
+  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
+  else
+    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
+  fi
+  ;;
+
+osf3* | osf4* | osf5*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+rdos*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+solaris*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+sysv4 | sysv4.3*)
+  case $host_vendor in
+  motorola)
+    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
+    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+    ;;
+  ncr)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  sequent)
+    lt_cv_file_magic_cmd='/bin/file'
+    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
+    ;;
+  sni)
+    lt_cv_file_magic_cmd='/bin/file'
+    lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
+    lt_cv_file_magic_test_file=/lib/libc.so
+    ;;
+  siemens)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  pc)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  esac
+  ;;
+
+tpf*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+esac
+])
+file_magic_cmd=$lt_cv_file_magic_cmd
+deplibs_check_method=$lt_cv_deplibs_check_method
+test -z "$deplibs_check_method" && deplibs_check_method=unknown
+
+_LT_DECL([], [deplibs_check_method], [1],
+    [Method to check whether dependent libraries are shared objects])
+_LT_DECL([], [file_magic_cmd], [1],
+    [Command to use when deplibs_check_method == "file_magic"])
+])# _LT_CHECK_MAGIC_METHOD
+
+
+# LT_PATH_NM
+# ----------
+# find the pathname to a BSD- or MS-compatible name lister
+AC_DEFUN([LT_PATH_NM],
+[AC_REQUIRE([AC_PROG_CC])dnl
+AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
+[if test -n "$NM"; then
+  # Let the user override the test.
+  lt_cv_path_NM="$NM"
+else
+  lt_nm_to_check="${ac_tool_prefix}nm"
+  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
+    lt_nm_to_check="$lt_nm_to_check nm"
+  fi
+  for lt_tmp_nm in $lt_nm_to_check; do
+    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
+      IFS="$lt_save_ifs"
+      test -z "$ac_dir" && ac_dir=.
+      tmp_nm="$ac_dir/$lt_tmp_nm"
+      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
+	# Check to see if the nm accepts a BSD-compat flag.
+	# Adding the `sed 1q' prevents false positives on HP-UX, which says:
+	#   nm: unknown option "B" ignored
+	# Tru64's nm complains that /dev/null is an invalid object file
+	case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
+	*/dev/null* | *'Invalid file or object type'*)
+	  lt_cv_path_NM="$tmp_nm -B"
+	  break
+	  ;;
+	*)
+	  case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+	  */dev/null*)
+	    lt_cv_path_NM="$tmp_nm -p"
+	    break
+	    ;;
+	  *)
+	    lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+	    continue # so that we can try to find one that supports BSD flags
+	    ;;
+	  esac
+	  ;;
+	esac
+      fi
+    done
+    IFS="$lt_save_ifs"
+  done
+  : ${lt_cv_path_NM=no}
+fi])
+if test "$lt_cv_path_NM" != "no"; then
+  NM="$lt_cv_path_NM"
+else
+  # Didn't find any BSD compatible name lister, look for dumpbin.
+  AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :)
+  AC_SUBST([DUMPBIN])
+  if test "$DUMPBIN" != ":"; then
+    NM="$DUMPBIN"
+  fi
+fi
+test -z "$NM" && NM=nm
+AC_SUBST([NM])
+_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
+
+AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
+  [lt_cv_nm_interface="BSD nm"
+  echo "int some_variable = 0;" > conftest.$ac_ext
+  (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
+  (eval "$ac_compile" 2>conftest.err)
+  cat conftest.err >&AS_MESSAGE_LOG_FD
+  (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
+  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
+  cat conftest.err >&AS_MESSAGE_LOG_FD
+  (eval echo "\"\$as_me:__oline__: output\"" >&AS_MESSAGE_LOG_FD)
+  cat conftest.out >&AS_MESSAGE_LOG_FD
+  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
+    lt_cv_nm_interface="MS dumpbin"
+  fi
+  rm -f conftest*])
+])# LT_PATH_NM
+
+# Old names:
+AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
+AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_PROG_NM], [])
+dnl AC_DEFUN([AC_PROG_NM], [])
+
+
+# LT_LIB_M
+# --------
+# check for math library
+AC_DEFUN([LT_LIB_M],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+LIBM=
+case $host in
+*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
+  # These system don't have libm, or don't need it
+  ;;
+*-ncr-sysv4.3*)
+  AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
+  AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
+  ;;
+*)
+  AC_CHECK_LIB(m, cos, LIBM="-lm")
+  ;;
+esac
+AC_SUBST([LIBM])
+])# LT_LIB_M
+
+# Old name:
+AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_CHECK_LIBM], [])
+
+
+# _LT_COMPILER_NO_RTTI([TAGNAME])
+# -------------------------------
+m4_defun([_LT_COMPILER_NO_RTTI],
+[m4_require([_LT_TAG_COMPILER])dnl
+
+_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+
+if test "$GCC" = yes; then
+  _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
+
+  _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
+    lt_cv_prog_compiler_rtti_exceptions,
+    [-fno-rtti -fno-exceptions], [],
+    [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
+fi
+_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
+	[Compiler flag to turn off builtin functions])
+])# _LT_COMPILER_NO_RTTI
+
+
+# _LT_CMD_GLOBAL_SYMBOLS
+# ----------------------
+m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+AC_REQUIRE([LT_PATH_LD])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+AC_MSG_CHECKING([command to parse $NM output from $compiler object])
+AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
+[
+# These are sane defaults that work on at least a few old systems.
+# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
+
+# Character class describing NM global symbol codes.
+symcode='[[BCDEGRST]]'
+
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
+
+# Define system-specific variables.
+case $host_os in
+aix*)
+  symcode='[[BCDT]]'
+  ;;
+cygwin* | mingw* | pw32* | cegcc*)
+  symcode='[[ABCDGISTW]]'
+  ;;
+hpux*)
+  if test "$host_cpu" = ia64; then
+    symcode='[[ABCDEGRST]]'
+  fi
+  ;;
+irix* | nonstopux*)
+  symcode='[[BCDEGRST]]'
+  ;;
+osf*)
+  symcode='[[BCDEGQRST]]'
+  ;;
+solaris*)
+  symcode='[[BDRT]]'
+  ;;
+sco3.2v5*)
+  symcode='[[DT]]'
+  ;;
+sysv4.2uw2*)
+  symcode='[[DT]]'
+  ;;
+sysv5* | sco5v6* | unixware* | OpenUNIX*)
+  symcode='[[ABDT]]'
+  ;;
+sysv4)
+  symcode='[[DFNSTU]]'
+  ;;
+esac
+
+# If we're using GNU nm, then use its standard symbol codes.
+case `$NM -V 2>&1` in
+*GNU* | *'with BFD'*)
+  symcode='[[ABCDGIRSTW]]' ;;
+esac
+
+# Transform an extracted symbol line into a proper C declaration.
+# Some systems (esp. on ia64) link data and code symbols differently,
+# so use this general approach.
+lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (void *) \&\2},/p'"
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/  {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"lib\2\", (void *) \&\2},/p'"
+
+# Handle CRLF in mingw tool chain
+opt_cr=
+case $build_os in
+mingw*)
+  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+  ;;
+esac
+
+# Try without a prefix underscore, then with it.
+for ac_symprfx in "" "_"; do
+
+  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
+  symxfrm="\\1 $ac_symprfx\\2 \\2"
+
+  # Write the raw and C identifiers.
+  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+    # Fake it for dumpbin and say T for any non-static function
+    # and D for any global variable.
+    # Also find C++ and __fastcall symbols from MSVC++,
+    # which start with @ or ?.
+    lt_cv_sys_global_symbol_pipe="$AWK ['"\
+"     {last_section=section; section=\$ 3};"\
+"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
+"     \$ 0!~/External *\|/{next};"\
+"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
+"     {if(hide[section]) next};"\
+"     {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
+"     {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
+"     s[1]~/^[@?]/{print s[1], s[1]; next};"\
+"     s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
+"     ' prfx=^$ac_symprfx]"
+  else
+    lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[	 ]]\($symcode$symcode*\)[[	 ]][[	 ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+  fi
+
+  # Check to see that the pipe works correctly.
+  pipe_works=no
+
+  rm -f conftest*
+  cat > conftest.$ac_ext <<_LT_EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(void);
+void nm_test_func(void){}
+#ifdef __cplusplus
+}
+#endif
+int main(){nm_test_var='a';nm_test_func();return(0);}
+_LT_EOF
+
+  if AC_TRY_EVAL(ac_compile); then
+    # Now try to grab the symbols.
+    nlist=conftest.nm
+    if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then
+      # Try sorting and uniquifying the output.
+      if sort "$nlist" | uniq > "$nlist"T; then
+	mv -f "$nlist"T "$nlist"
+      else
+	rm -f "$nlist"T
+      fi
+
+      # Make sure that we snagged all the symbols we need.
+      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
+	if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
+	  cat <<_LT_EOF > conftest.$ac_ext
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+_LT_EOF
+	  # Now generate the symbol file.
+	  eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
+
+	  cat <<_LT_EOF >> conftest.$ac_ext
+
+/* The mapping between symbol names and symbols.  */
+const struct {
+  const char *name;
+  void       *address;
+}
+lt__PROGRAM__LTX_preloaded_symbols[[]] =
+{
+  { "@PROGRAM@", (void *) 0 },
+_LT_EOF
+	  $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
+	  cat <<\_LT_EOF >> conftest.$ac_ext
+  {0, (void *) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+  return lt__PROGRAM__LTX_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+_LT_EOF
+	  # Now try linking the two files.
+	  mv conftest.$ac_objext conftstm.$ac_objext
+	  lt_save_LIBS="$LIBS"
+	  lt_save_CFLAGS="$CFLAGS"
+	  LIBS="conftstm.$ac_objext"
+	  CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
+	  if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
+	    pipe_works=yes
+	  fi
+	  LIBS="$lt_save_LIBS"
+	  CFLAGS="$lt_save_CFLAGS"
+	else
+	  echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
+	fi
+      else
+	echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
+      fi
+    else
+      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
+    fi
+  else
+    echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
+    cat conftest.$ac_ext >&5
+  fi
+  rm -rf conftest* conftst*
+
+  # Do not use the global_symbol_pipe unless it works.
+  if test "$pipe_works" = yes; then
+    break
+  else
+    lt_cv_sys_global_symbol_pipe=
+  fi
+done
+])
+if test -z "$lt_cv_sys_global_symbol_pipe"; then
+  lt_cv_sys_global_symbol_to_cdecl=
+fi
+if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
+  AC_MSG_RESULT(failed)
+else
+  AC_MSG_RESULT(ok)
+fi
+
+_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
+    [Take the output of nm and produce a listing of raw symbols and C names])
+_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
+    [Transform the output of nm in a proper C declaration])
+_LT_DECL([global_symbol_to_c_name_address],
+    [lt_cv_sys_global_symbol_to_c_name_address], [1],
+    [Transform the output of nm in a C name address pair])
+_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
+    [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
+    [Transform the output of nm in a C name address pair when lib prefix is needed])
+]) # _LT_CMD_GLOBAL_SYMBOLS
+
+
+# _LT_COMPILER_PIC([TAGNAME])
+# ---------------------------
+m4_defun([_LT_COMPILER_PIC],
+[m4_require([_LT_TAG_COMPILER])dnl
+_LT_TAGVAR(lt_prog_compiler_wl, $1)=
+_LT_TAGVAR(lt_prog_compiler_pic, $1)=
+_LT_TAGVAR(lt_prog_compiler_static, $1)=
+
+AC_MSG_CHECKING([for $compiler option to produce PIC])
+m4_if([$1], [CXX], [
+  # C++ specific cases for pic, static, wl, etc.
+  if test "$GXX" = yes; then
+    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+
+    case $host_os in
+    aix*)
+      # All AIX code is PIC.
+      if test "$host_cpu" = ia64; then
+	# AIX 5 now supports IA64 processor
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      fi
+      ;;
+
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+        ;;
+      m68k)
+            # FIXME: we need at least 68020 code to build shared libraries, but
+            # adding the `-m68020' flag to GCC prevents building anything better,
+            # like `-m68040'.
+            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+        ;;
+      esac
+      ;;
+
+    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+      # PIC is the default for these OSes.
+      ;;
+    mingw* | cygwin* | os2* | pw32* | cegcc*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      # Although the cygwin gcc ignores -fPIC, still need this for old-style
+      # (--disable-auto-import) libraries
+      m4_if([$1], [GCJ], [],
+	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+      ;;
+    darwin* | rhapsody*)
+      # PIC is the default on this platform
+      # Common symbols not allowed in MH_DYLIB files
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+      ;;
+    *djgpp*)
+      # DJGPP does not support shared libraries at all
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+      ;;
+    interix[[3-9]]*)
+      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+      # Instead, we relocate shared libraries at runtime.
+      ;;
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+      fi
+      ;;
+    hpux*)
+      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
+      # sets the default TLS model and affects inlining.
+      case $host_cpu in
+      hppa*64*)
+	;;
+      *)
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	;;
+      esac
+      ;;
+    *qnx* | *nto*)
+      # QNX uses GNU C++, but need to define -shared option too, otherwise
+      # it will coredump.
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+      ;;
+    *)
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+      ;;
+    esac
+  else
+    case $host_os in
+      aix[[4-9]]*)
+	# All AIX code is PIC.
+	if test "$host_cpu" = ia64; then
+	  # AIX 5 now supports IA64 processor
+	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	else
+	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+	fi
+	;;
+      chorus*)
+	case $cc_basename in
+	cxch68*)
+	  # Green Hills C++ Compiler
+	  # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
+	  ;;
+	esac
+	;;
+      dgux*)
+	case $cc_basename in
+	  ec++*)
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    ;;
+	  ghcx*)
+	    # Green Hills C++ Compiler
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      freebsd* | dragonfly*)
+	# FreeBSD uses GNU C++
+	;;
+      hpux9* | hpux10* | hpux11*)
+	case $cc_basename in
+	  CC*)
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+	    if test "$host_cpu" != ia64; then
+	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+	    fi
+	    ;;
+	  aCC*)
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+	    case $host_cpu in
+	    hppa*64*|ia64*)
+	      # +Z the default
+	      ;;
+	    *)
+	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+	      ;;
+	    esac
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      interix*)
+	# This is c89, which is MS Visual C++ (no shared libs)
+	# Anyone wants to do a port?
+	;;
+      irix5* | irix6* | nonstopux*)
+	case $cc_basename in
+	  CC*)
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+	    # CC pic flag -KPIC is the default.
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      linux* | k*bsd*-gnu)
+	case $cc_basename in
+	  KCC*)
+	    # KAI C++ Compiler
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	    ;;
+	  ecpc* )
+	    # old Intel C++ for x86_64 which still supported -KPIC.
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+	    ;;
+	  icpc* )
+	    # Intel C++, used to be incompatible with GCC.
+	    # ICC 10 doesn't accept -KPIC any more.
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+	    ;;
+	  pgCC* | pgcpp*)
+	    # Portland Group C++ compiler
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	    ;;
+	  cxx*)
+	    # Compaq C++
+	    # Make sure the PIC flag is empty.  It appears that all Alpha
+	    # Linux and Compaq Tru64 Unix objects are PIC.
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+	    ;;
+	  xlc* | xlC*)
+	    # IBM XL 8.0 on PPC
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
+	    ;;
+	  *)
+	    case `$CC -V 2>&1 | sed 5q` in
+	    *Sun\ C*)
+	      # Sun C++ 5.9
+	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+	      ;;
+	    esac
+	    ;;
+	esac
+	;;
+      lynxos*)
+	;;
+      m88k*)
+	;;
+      mvs*)
+	case $cc_basename in
+	  cxx*)
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      netbsd*)
+	;;
+      *qnx* | *nto*)
+        # QNX uses GNU C++, but need to define -shared option too, otherwise
+        # it will coredump.
+        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+        ;;
+      osf3* | osf4* | osf5*)
+	case $cc_basename in
+	  KCC*)
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+	    ;;
+	  RCC*)
+	    # Rational C++ 2.4.1
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+	    ;;
+	  cxx*)
+	    # Digital/Compaq C++
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    # Make sure the PIC flag is empty.  It appears that all Alpha
+	    # Linux and Compaq Tru64 Unix objects are PIC.
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      psos*)
+	;;
+      solaris*)
+	case $cc_basename in
+	  CC*)
+	    # Sun C++ 4.2, 5.x and Centerline C++
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+	    ;;
+	  gcx*)
+	    # Green Hills C++ Compiler
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      sunos4*)
+	case $cc_basename in
+	  CC*)
+	    # Sun C++ 4.x
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	    ;;
+	  lcc*)
+	    # Lucid
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+	case $cc_basename in
+	  CC*)
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	    ;;
+	esac
+	;;
+      tandem*)
+	case $cc_basename in
+	  NCC*)
+	    # NonStop-UX NCC 3.20
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      vxworks*)
+	;;
+      *)
+	_LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+	;;
+    esac
+  fi
+],
+[
+  if test "$GCC" = yes; then
+    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+
+    case $host_os in
+      aix*)
+      # All AIX code is PIC.
+      if test "$host_cpu" = ia64; then
+	# AIX 5 now supports IA64 processor
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      fi
+      ;;
+
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+        ;;
+      m68k)
+            # FIXME: we need at least 68020 code to build shared libraries, but
+            # adding the `-m68020' flag to GCC prevents building anything better,
+            # like `-m68040'.
+            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+        ;;
+      esac
+      ;;
+
+    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+      # PIC is the default for these OSes.
+      ;;
+
+    mingw* | cygwin* | pw32* | os2* | cegcc*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      # Although the cygwin gcc ignores -fPIC, still need this for old-style
+      # (--disable-auto-import) libraries
+      m4_if([$1], [GCJ], [],
+	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+      ;;
+
+    darwin* | rhapsody*)
+      # PIC is the default on this platform
+      # Common symbols not allowed in MH_DYLIB files
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+      ;;
+
+    hpux*)
+      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
+      # sets the default TLS model and affects inlining.
+      case $host_cpu in
+      hppa*64*)
+	# +Z the default
+	;;
+      *)
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	;;
+      esac
+      ;;
+
+    interix[[3-9]]*)
+      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+      # Instead, we relocate shared libraries at runtime.
+      ;;
+
+    msdosdjgpp*)
+      # Just because we use GCC doesn't mean we suddenly get shared libraries
+      # on systems that don't support them.
+      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+      enable_shared=no
+      ;;
+
+    *nto* | *qnx*)
+      # QNX uses GNU C++, but need to define -shared option too, otherwise
+      # it will coredump.
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+      fi
+      ;;
+
+    *)
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+      ;;
+    esac
+  else
+    # PORTME Check for flag to pass linker flags through the system compiler.
+    case $host_os in
+    aix*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      if test "$host_cpu" = ia64; then
+	# AIX 5 now supports IA64 processor
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      else
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+      fi
+      ;;
+
+    mingw* | cygwin* | pw32* | os2* | cegcc*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      m4_if([$1], [GCJ], [],
+	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+      ;;
+
+    hpux9* | hpux10* | hpux11*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+      # not for PA HP-UX.
+      case $host_cpu in
+      hppa*64*|ia64*)
+	# +Z the default
+	;;
+      *)
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+	;;
+      esac
+      # Is there a better lt_prog_compiler_static that works with the bundled CC?
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+      ;;
+
+    irix5* | irix6* | nonstopux*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      # PIC (with -KPIC) is the default.
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+      ;;
+
+    linux* | k*bsd*-gnu)
+      case $cc_basename in
+      # old Intel for x86_64 which still supported -KPIC.
+      ecc*)
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+        ;;
+      # icc used to be incompatible with GCC.
+      # ICC 10 doesn't accept -KPIC any more.
+      icc* | ifort*)
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+        ;;
+      # Lahey Fortran 8.1.
+      lf95*)
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
+	;;
+      pgcc* | pgf77* | pgf90* | pgf95*)
+        # Portland Group compilers (*not* the Pentium gcc compiler,
+	# which looks to be a dead project)
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+        ;;
+      ccc*)
+        _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+        # All Alpha code is PIC.
+        _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+        ;;
+      xl*)
+	# IBM XL C 8.0/Fortran 10.1 on PPC
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
+	;;
+      *)
+	case `$CC -V 2>&1 | sed 5q` in
+	*Sun\ C*)
+	  # Sun C 5.9
+	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	  ;;
+	*Sun\ F*)
+	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
+	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	  _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
+	  ;;
+	esac
+	;;
+      esac
+      ;;
+
+    newsos6)
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    *nto* | *qnx*)
+      # QNX uses GNU C++, but need to define -shared option too, otherwise
+      # it will coredump.
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+      ;;
+
+    osf3* | osf4* | osf5*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      # All OSF/1 code is PIC.
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+      ;;
+
+    rdos*)
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+      ;;
+
+    solaris*)
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      case $cc_basename in
+      f77* | f90* | f95*)
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
+      *)
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
+      esac
+      ;;
+
+    sunos4*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    sysv4 | sysv4.2uw2* | sysv4.3*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec ;then
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      fi
+      ;;
+
+    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    unicos*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+      ;;
+
+    uts4*)
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    *)
+      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+      ;;
+    esac
+  fi
+])
+case $host_os in
+  # For platforms which do not support PIC, -DPIC is meaningless:
+  *djgpp*)
+    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+    ;;
+  *)
+    _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
+    ;;
+esac
+AC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
+_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
+	[How to pass a linker flag through the compiler])
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
+  _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
+    [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
+    [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
+    [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
+     "" | " "*) ;;
+     *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
+     esac],
+    [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
+     _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
+fi
+_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
+	[Additional compiler flags for building library objects])
+
+#
+# Check to make sure the static flag actually works.
+#
+wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
+_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
+  _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
+  $lt_tmp_static_flag,
+  [],
+  [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
+_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
+	[Compiler flag to prevent dynamic linking])
+])# _LT_COMPILER_PIC
+
+
+# _LT_LINKER_SHLIBS([TAGNAME])
+# ----------------------------
+# See if the linker supports building shared libraries.
+m4_defun([_LT_LINKER_SHLIBS],
+[AC_REQUIRE([LT_PATH_LD])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+m4_if([$1], [CXX], [
+  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  case $host_os in
+  aix[[4-9]]*)
+    # If we're using GNU nm, then we don't want the "-C" option.
+    # -C means demangle to AIX nm, but means don't demangle with GNU nm
+    if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+      _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+    else
+      _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+    fi
+    ;;
+  pw32*)
+    _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
+  ;;
+  cygwin* | mingw* | cegcc*)
+    _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
+  ;;
+  *)
+    _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  ;;
+  esac
+  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
+], [
+  runpath_var=
+  _LT_TAGVAR(allow_undefined_flag, $1)=
+  _LT_TAGVAR(always_export_symbols, $1)=no
+  _LT_TAGVAR(archive_cmds, $1)=
+  _LT_TAGVAR(archive_expsym_cmds, $1)=
+  _LT_TAGVAR(compiler_needs_object, $1)=no
+  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+  _LT_TAGVAR(export_dynamic_flag_spec, $1)=
+  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  _LT_TAGVAR(hardcode_automatic, $1)=no
+  _LT_TAGVAR(hardcode_direct, $1)=no
+  _LT_TAGVAR(hardcode_direct_absolute, $1)=no
+  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+  _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+  _LT_TAGVAR(hardcode_libdir_separator, $1)=
+  _LT_TAGVAR(hardcode_minus_L, $1)=no
+  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+  _LT_TAGVAR(inherit_rpath, $1)=no
+  _LT_TAGVAR(link_all_deplibs, $1)=unknown
+  _LT_TAGVAR(module_cmds, $1)=
+  _LT_TAGVAR(module_expsym_cmds, $1)=
+  _LT_TAGVAR(old_archive_from_new_cmds, $1)=
+  _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
+  _LT_TAGVAR(thread_safe_flag_spec, $1)=
+  _LT_TAGVAR(whole_archive_flag_spec, $1)=
+  # include_expsyms should be a list of space-separated symbols to be *always*
+  # included in the symbol list
+  _LT_TAGVAR(include_expsyms, $1)=
+  # exclude_expsyms can be an extended regexp of symbols to exclude
+  # it will be wrapped by ` (' and `)$', so one must not match beginning or
+  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+  # as well as any symbol that contains `d'.
+  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
+  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+  # platforms (ab)use it in PIC code, but their linkers get confused if
+  # the symbol is explicitly referenced.  Since portable code cannot
+  # rely on this symbol name, it's probably fine to never include it in
+  # preloaded symbol tables.
+  # Exclude shared library initialization/finalization symbols.
+dnl Note also adjust exclude_expsyms for C++ above.
+  extract_expsyms_cmds=
+
+  case $host_os in
+  cygwin* | mingw* | pw32* | cegcc*)
+    # FIXME: the MSVC++ port hasn't been tested in a loooong time
+    # When not using gcc, we currently assume that we are using
+    # Microsoft Visual C++.
+    if test "$GCC" != yes; then
+      with_gnu_ld=no
+    fi
+    ;;
+  interix*)
+    # we just hope/assume this is gcc and not c89 (= MSVC++)
+    with_gnu_ld=yes
+    ;;
+  openbsd*)
+    with_gnu_ld=no
+    ;;
+  esac
+
+  _LT_TAGVAR(ld_shlibs, $1)=yes
+  if test "$with_gnu_ld" = yes; then
+    # If archive_cmds runs LD, not CC, wlarc should be empty
+    wlarc='${wl}'
+
+    # Set some defaults for GNU ld with shared library support. These
+    # are reset later if shared libraries are not supported. Putting them
+    # here allows them to be overridden if necessary.
+    runpath_var=LD_RUN_PATH
+    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+    # ancient GNU ld didn't support --whole-archive et. al.
+    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
+      _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+    else
+      _LT_TAGVAR(whole_archive_flag_spec, $1)=
+    fi
+    supports_anon_versioning=no
+    case `$LD -v 2>&1` in
+      *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
+      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+      *\ 2.11.*) ;; # other 2.11 versions
+      *) supports_anon_versioning=yes ;;
+    esac
+
+    # See if GNU ld supports shared libraries.
+    case $host_os in
+    aix[[3-9]]*)
+      # On AIX/PPC, the GNU linker is very broken
+      if test "$host_cpu" != ia64; then
+	_LT_TAGVAR(ld_shlibs, $1)=no
+	cat <<_LT_EOF 1>&2
+
+*** Warning: the GNU linker, at least up to release 2.9.1, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support.  If you
+*** really care for shared libraries, you may want to modify your PATH
+*** so that a non-GNU linker is found, and then restart.
+
+_LT_EOF
+      fi
+      ;;
+
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+            _LT_TAGVAR(archive_expsym_cmds, $1)=''
+        ;;
+      m68k)
+            _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+            _LT_TAGVAR(hardcode_minus_L, $1)=yes
+        ;;
+      esac
+      ;;
+
+    beos*)
+      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+	# Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+	# support --undefined.  This deserves some investigation.  FIXME
+	_LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+      else
+	_LT_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    cygwin* | mingw* | pw32* | cegcc*)
+      # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+      # as there is no search path for DLLs.
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+      _LT_TAGVAR(always_export_symbols, $1)=no
+      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+      _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
+
+      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+	# If the export-symbols file already is a .def file (1st line
+	# is EXPORTS), use it as is; otherwise, prepend...
+	_LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+	  cp $export_symbols $output_objdir/$soname.def;
+	else
+	  echo EXPORTS > $output_objdir/$soname.def;
+	  cat $export_symbols >> $output_objdir/$soname.def;
+	fi~
+	$CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+      else
+	_LT_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    interix[[3-9]]*)
+      _LT_TAGVAR(hardcode_direct, $1)=no
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+      # Instead, shared libraries are loaded at an image base (0x10000000 by
+      # default) and relocated if they conflict, which is a slow very memory
+      # consuming and fragmenting process.  To avoid this, we pick a random,
+      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
+      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      ;;
+
+    gnu* | linux* | tpf* | k*bsd*-gnu)
+      tmp_diet=no
+      if test "$host_os" = linux-dietlibc; then
+	case $cc_basename in
+	  diet\ *) tmp_diet=yes;;	# linux-dietlibc with static linking (!diet-dyn)
+	esac
+      fi
+      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
+	 && test "$tmp_diet" = no
+      then
+	tmp_addflag=
+	tmp_sharedflag='-shared'
+	case $cc_basename,$host_cpu in
+        pgcc*)				# Portland Group C compiler
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+	  tmp_addflag=' $pic_flag'
+	  ;;
+	pgf77* | pgf90* | pgf95*)	# Portland Group f77 and f90 compilers
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+	  tmp_addflag=' $pic_flag -Mnomain' ;;
+	ecc*,ia64* | icc*,ia64*)	# Intel C compiler on ia64
+	  tmp_addflag=' -i_dynamic' ;;
+	efc*,ia64* | ifort*,ia64*)	# Intel Fortran compiler on ia64
+	  tmp_addflag=' -i_dynamic -nofor_main' ;;
+	ifc* | ifort*)			# Intel Fortran compiler
+	  tmp_addflag=' -nofor_main' ;;
+	lf95*)				# Lahey Fortran 8.1
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)=
+	  tmp_sharedflag='--shared' ;;
+	xl[[cC]]*)			# IBM XL C 8.0 on PPC (deal with xlf below)
+	  tmp_sharedflag='-qmkshrobj'
+	  tmp_addflag= ;;
+	esac
+	case `$CC -V 2>&1 | sed 5q` in
+	*Sun\ C*)			# Sun C 5.9
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+	  _LT_TAGVAR(compiler_needs_object, $1)=yes
+	  tmp_sharedflag='-G' ;;
+	*Sun\ F*)			# Sun Fortran 8.3
+	  tmp_sharedflag='-G' ;;
+	esac
+	_LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+
+        if test "x$supports_anon_versioning" = xyes; then
+          _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+	    cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+	    echo "local: *; };" >> $output_objdir/$libname.ver~
+	    $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+        fi
+
+	case $cc_basename in
+	xlf*)
+	  # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+	  _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
+	  _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
+	  if test "x$supports_anon_versioning" = xyes; then
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+	      cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+	      echo "local: *; };" >> $output_objdir/$libname.ver~
+	      $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+	  fi
+	  ;;
+	esac
+      else
+        _LT_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    netbsd*)
+      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+	wlarc=
+      else
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      fi
+      ;;
+
+    solaris*)
+      if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
+	_LT_TAGVAR(ld_shlibs, $1)=no
+	cat <<_LT_EOF 1>&2
+
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+      elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      else
+	_LT_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+      case `$LD -v 2>&1` in
+        *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
+	_LT_TAGVAR(ld_shlibs, $1)=no
+	cat <<_LT_EOF 1>&2
+
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** reliably create shared libraries on SCO systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+	;;
+	*)
+	  # For security reasons, it is highly recommended that you always
+	  # use absolute paths for naming shared libraries, and exclude the
+	  # DT_RUNPATH tag from executables and libraries.  But doing so
+	  # requires that you compile everything twice, which is a pain.
+	  if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+	  else
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	  fi
+	;;
+      esac
+      ;;
+
+    sunos4*)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      wlarc=
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    *)
+      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      else
+	_LT_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+    esac
+
+    if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then
+      runpath_var=
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)=
+      _LT_TAGVAR(whole_archive_flag_spec, $1)=
+    fi
+  else
+    # PORTME fill in a description of your system's linker (not GNU ld)
+    case $host_os in
+    aix3*)
+      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+      _LT_TAGVAR(always_export_symbols, $1)=yes
+      _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+      # Note: this linker hardcodes the directories in LIBPATH if there
+      # are no directories specified by -L.
+      _LT_TAGVAR(hardcode_minus_L, $1)=yes
+      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
+	# Neither direct hardcoding nor static linking is supported with a
+	# broken collect2.
+	_LT_TAGVAR(hardcode_direct, $1)=unsupported
+      fi
+      ;;
+
+    aix[[4-9]]*)
+      if test "$host_cpu" = ia64; then
+	# On IA64, the linker does run time linking by default, so we don't
+	# have to do anything special.
+	aix_use_runtimelinking=no
+	exp_sym_flag='-Bexport'
+	no_entry_flag=""
+      else
+	# If we're using GNU nm, then we don't want the "-C" option.
+	# -C means demangle to AIX nm, but means don't demangle with GNU nm
+	if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+	  _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+	else
+	  _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+	fi
+	aix_use_runtimelinking=no
+
+	# Test if we are trying to use run time linking or normal
+	# AIX style linking. If -brtl is somewhere in LDFLAGS, we
+	# need to do runtime linking.
+	case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
+	  for ld_flag in $LDFLAGS; do
+	  if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+	    aix_use_runtimelinking=yes
+	    break
+	  fi
+	  done
+	  ;;
+	esac
+
+	exp_sym_flag='-bexport'
+	no_entry_flag='-bnoentry'
+      fi
+
+      # When large executables or shared objects are built, AIX ld can
+      # have problems creating the table of contents.  If linking a library
+      # or program results in "error TOC overflow" add -mminimal-toc to
+      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
+      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+      _LT_TAGVAR(archive_cmds, $1)=''
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+      _LT_TAGVAR(link_all_deplibs, $1)=yes
+      _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
+
+      if test "$GCC" = yes; then
+	case $host_os in aix4.[[012]]|aix4.[[012]].*)
+	# We only want to do this on AIX 4.2 and lower, the check
+	# below for broken collect2 doesn't work under 4.3+
+	  collect2name=`${CC} -print-prog-name=collect2`
+	  if test -f "$collect2name" &&
+	   strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+	  then
+	  # We have reworked collect2
+	  :
+	  else
+	  # We have old collect2
+	  _LT_TAGVAR(hardcode_direct, $1)=unsupported
+	  # It fails to find uninstalled libraries when the uninstalled
+	  # path is not listed in the libpath.  Setting hardcode_minus_L
+	  # to unsupported forces relinking
+	  _LT_TAGVAR(hardcode_minus_L, $1)=yes
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+	  _LT_TAGVAR(hardcode_libdir_separator, $1)=
+	  fi
+	  ;;
+	esac
+	shared_flag='-shared'
+	if test "$aix_use_runtimelinking" = yes; then
+	  shared_flag="$shared_flag "'${wl}-G'
+	fi
+      else
+	# not using gcc
+	if test "$host_cpu" = ia64; then
+	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+	# chokes on -Wl,-G. The following line is correct:
+	  shared_flag='-G'
+	else
+	  if test "$aix_use_runtimelinking" = yes; then
+	    shared_flag='${wl}-G'
+	  else
+	    shared_flag='${wl}-bM:SRE'
+	  fi
+	fi
+      fi
+
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
+      # It seems that -bexpall does not export symbols beginning with
+      # underscore (_), so it is better to generate a list of symbols to export.
+      _LT_TAGVAR(always_export_symbols, $1)=yes
+      if test "$aix_use_runtimelinking" = yes; then
+	# Warning - without using the other runtime loading flags (-brtl),
+	# -berok will link without error, but may produce a broken library.
+	_LT_TAGVAR(allow_undefined_flag, $1)='-berok'
+        # Determine the default libpath from the value encoded in an
+        # empty executable.
+        _LT_SYS_MODULE_PATH_AIX
+        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+      else
+	if test "$host_cpu" = ia64; then
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+	  _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+	  _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+	else
+	 # Determine the default libpath from the value encoded in an
+	 # empty executable.
+	 _LT_SYS_MODULE_PATH_AIX
+	 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+	  # Warning - without using the other run time loading flags,
+	  # -berok will link without error, but may produce a broken library.
+	  _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
+	  _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
+	  # Exported symbols can be pulled into shared objects from archives
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+	  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+	  # This is similar to how AIX traditionally builds its shared libraries.
+	  _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+	fi
+      fi
+      ;;
+
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+            _LT_TAGVAR(archive_expsym_cmds, $1)=''
+        ;;
+      m68k)
+            _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+            _LT_TAGVAR(hardcode_minus_L, $1)=yes
+        ;;
+      esac
+      ;;
+
+    bsdi[[45]]*)
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
+      ;;
+
+    cygwin* | mingw* | pw32* | cegcc*)
+      # When not using gcc, we currently assume that we are using
+      # Microsoft Visual C++.
+      # hardcode_libdir_flag_spec is actually meaningless, as there is
+      # no search path for DLLs.
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+      # Tell ltmain to make .lib files, not .a files.
+      libext=lib
+      # Tell ltmain to make .dll files, not .so files.
+      shrext_cmds=".dll"
+      # FIXME: Setting linknames here is a bad hack.
+      _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames='
+      # The linker will automatically build a .lib file if we build a DLL.
+      _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
+      # FIXME: Should let the user specify the lib program.
+      _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
+      _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
+      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+      ;;
+
+    darwin* | rhapsody*)
+      _LT_DARWIN_LINKER_FEATURES($1)
+      ;;
+
+    dgux*)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    freebsd1*)
+      _LT_TAGVAR(ld_shlibs, $1)=no
+      ;;
+
+    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+    # support.  Future versions do this automatically, but an explicit c++rt0.o
+    # does not break anything, and helps significantly (at the cost of a little
+    # extra space).
+    freebsd2.2*)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+    freebsd2*)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+    freebsd* | dragonfly*)
+      _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    hpux9*)
+      if test "$GCC" = yes; then
+	_LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      else
+	_LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      fi
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+
+      # hardcode_minus_L: Not really in the search PATH,
+      # but as the default location of the library.
+      _LT_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+      ;;
+
+    hpux10*)
+      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      if test "$with_gnu_ld" = no; then
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+	_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
+	_LT_TAGVAR(hardcode_libdir_separator, $1)=:
+	_LT_TAGVAR(hardcode_direct, $1)=yes
+	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+	# hardcode_minus_L: Not really in the search PATH,
+	# but as the default location of the library.
+	_LT_TAGVAR(hardcode_minus_L, $1)=yes
+      fi
+      ;;
+
+    hpux11*)
+      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+	case $host_cpu in
+	hppa*64*)
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	ia64*)
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	esac
+      else
+	case $host_cpu in
+	hppa*64*)
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	ia64*)
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	esac
+      fi
+      if test "$with_gnu_ld" = no; then
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+	_LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	case $host_cpu in
+	hppa*64*|ia64*)
+	  _LT_TAGVAR(hardcode_direct, $1)=no
+	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	  ;;
+	*)
+	  _LT_TAGVAR(hardcode_direct, $1)=yes
+	  _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+
+	  # hardcode_minus_L: Not really in the search PATH,
+	  # but as the default location of the library.
+	  _LT_TAGVAR(hardcode_minus_L, $1)=yes
+	  ;;
+	esac
+      fi
+      ;;
+
+    irix5* | irix6* | nonstopux*)
+      if test "$GCC" = yes; then
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	# Try to use the -exported_symbol ld option, if it does not
+	# work, assume that -exports_file does not work either and
+	# implicitly export all symbols.
+        save_LDFLAGS="$LDFLAGS"
+        LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
+        AC_LINK_IFELSE(int foo(void) {},
+          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+        )
+        LDFLAGS="$save_LDFLAGS"
+      else
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
+      fi
+      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+      _LT_TAGVAR(inherit_rpath, $1)=yes
+      _LT_TAGVAR(link_all_deplibs, $1)=yes
+      ;;
+
+    netbsd*)
+      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
+      else
+	_LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
+      fi
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    newsos6)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    *nto* | *qnx*)
+      ;;
+
+    openbsd*)
+      if test -f /usr/libexec/ld.so; then
+	_LT_TAGVAR(hardcode_direct, $1)=yes
+	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+	if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+	else
+	  case $host_os in
+	   openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
+	     _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+	     _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+	     ;;
+	   *)
+	     _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	     _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	     ;;
+	  esac
+	fi
+      else
+	_LT_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    os2*)
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+      _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+      _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+      ;;
+
+    osf3*)
+      if test "$GCC" = yes; then
+	_LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+      else
+	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+      fi
+      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+      ;;
+
+    osf4* | osf5*)	# as osf3* with the addition of -msym flag
+      if test "$GCC" = yes; then
+	_LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+      else
+	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
+	$CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
+
+	# Both c and cxx compiler support -rpath directly
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+      fi
+      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+      ;;
+
+    solaris*)
+      _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
+      if test "$GCC" = yes; then
+	wlarc='${wl}'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+	  $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+      else
+	case `$CC -V 2>&1` in
+	*"Compilers 5.0"*)
+	  wlarc=''
+	  _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+	  $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
+	  ;;
+	*)
+	  wlarc='${wl}'
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
+	  _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+	  $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+	  ;;
+	esac
+      fi
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      case $host_os in
+      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+      *)
+	# The compiler driver will combine and reorder linker options,
+	# but understands `-z linker_flag'.  GCC discards it without `$wl',
+	# but is careful enough not to reorder.
+	# Supported since Solaris 2.6 (maybe 2.5.1?)
+	if test "$GCC" = yes; then
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+	else
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
+	fi
+	;;
+      esac
+      _LT_TAGVAR(link_all_deplibs, $1)=yes
+      ;;
+
+    sunos4*)
+      if test "x$host_vendor" = xsequent; then
+	# Use $CC to link under sequent, because it throws in some extra .o
+	# files that make .init and .fini sections work.
+	_LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	_LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    sysv4)
+      case $host_vendor in
+	sni)
+	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
+	;;
+	siemens)
+	  ## LD is ld it makes a PLAMLIB
+	  ## CC just makes a GrossModule.
+	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+	  _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
+	  _LT_TAGVAR(hardcode_direct, $1)=no
+        ;;
+	motorola)
+	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
+	;;
+      esac
+      runpath_var='LD_RUN_PATH'
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    sysv4.3*)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	_LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	runpath_var=LD_RUN_PATH
+	hardcode_runpath_var=yes
+	_LT_TAGVAR(ld_shlibs, $1)=yes
+      fi
+      ;;
+
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
+      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      runpath_var='LD_RUN_PATH'
+
+      if test "$GCC" = yes; then
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	_LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
+
+    sysv5* | sco3.2v5* | sco5v6*)
+      # Note: We can NOT use -z defs as we might desire, because we do not
+      # link with -lc, and that would cause any symbols used from libc to
+      # always be unresolved, which means just about no library would
+      # ever link correctly.  If we're not using GNU ld we use -z text
+      # though, which does catch some bad symbols but isn't as heavy-handed
+      # as -z defs.
+      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+      _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+      _LT_TAGVAR(link_all_deplibs, $1)=yes
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+      runpath_var='LD_RUN_PATH'
+
+      if test "$GCC" = yes; then
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	_LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
+
+    uts4*)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    *)
+      _LT_TAGVAR(ld_shlibs, $1)=no
+      ;;
+    esac
+
+    if test x$host_vendor = xsni; then
+      case $host in
+      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym'
+	;;
+      esac
+    fi
+  fi
+])
+AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
+test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+
+_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
+
+_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
+_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
+_LT_DECL([], [extract_expsyms_cmds], [2],
+    [The commands to extract the exported symbol list from a shared archive])
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
+x|xyes)
+  # Assume -lc should be added
+  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+
+  if test "$enable_shared" = yes && test "$GCC" = yes; then
+    case $_LT_TAGVAR(archive_cmds, $1) in
+    *'~'*)
+      # FIXME: we may have to deal with multi-command sequences.
+      ;;
+    '$CC '*)
+      # Test whether the compiler implicitly links with -lc since on some
+      # systems, -lgcc has to come before -lc. If gcc already passes -lc
+      # to ld, don't add -lc before -lgcc.
+      AC_MSG_CHECKING([whether -lc should be explicitly linked in])
+      $RM conftest*
+      echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+      if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
+        soname=conftest
+        lib=conftest
+        libobjs=conftest.$ac_objext
+        deplibs=
+        wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
+	pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
+        compiler_flags=-v
+        linker_flags=-v
+        verstring=
+        output_objdir=.
+        libname=conftest
+        lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
+        _LT_TAGVAR(allow_undefined_flag, $1)=
+        if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
+        then
+	  _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+        else
+	  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+        fi
+        _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
+      else
+        cat conftest.err 1>&5
+      fi
+      $RM conftest*
+      AC_MSG_RESULT([$_LT_TAGVAR(archive_cmds_need_lc, $1)])
+      ;;
+    esac
+  fi
+  ;;
+esac
+
+_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
+    [Whether or not to add -lc for building shared libraries])
+_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
+    [enable_shared_with_static_runtimes], [0],
+    [Whether or not to disallow shared libs when runtime libs are static])
+_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
+    [Compiler flag to allow reflexive dlopens])
+_LT_TAGDECL([], [whole_archive_flag_spec], [1],
+    [Compiler flag to generate shared objects directly from archives])
+_LT_TAGDECL([], [compiler_needs_object], [1],
+    [Whether the compiler copes with passing no objects directly])
+_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
+    [Create an old-style archive from a shared archive])
+_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
+    [Create a temporary old-style archive to link instead of a shared archive])
+_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
+_LT_TAGDECL([], [archive_expsym_cmds], [2])
+_LT_TAGDECL([], [module_cmds], [2],
+    [Commands used to build a loadable module if different from building
+    a shared archive.])
+_LT_TAGDECL([], [module_expsym_cmds], [2])
+_LT_TAGDECL([], [with_gnu_ld], [1],
+    [Whether we are building with GNU ld or not])
+_LT_TAGDECL([], [allow_undefined_flag], [1],
+    [Flag that allows shared libraries with undefined symbols to be built])
+_LT_TAGDECL([], [no_undefined_flag], [1],
+    [Flag that enforces no undefined symbols])
+_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
+    [Flag to hardcode $libdir into a binary during linking.
+    This must work even if $libdir does not exist])
+_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1],
+    [[If ld is used when linking, flag to hardcode $libdir into a binary
+    during linking.  This must work even if $libdir does not exist]])
+_LT_TAGDECL([], [hardcode_libdir_separator], [1],
+    [Whether we need a single "-rpath" flag with a separated argument])
+_LT_TAGDECL([], [hardcode_direct], [0],
+    [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
+    DIR into the resulting binary])
+_LT_TAGDECL([], [hardcode_direct_absolute], [0],
+    [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
+    DIR into the resulting binary and the resulting library dependency is
+    "absolute", i.e impossible to change by setting ${shlibpath_var} if the
+    library is relocated])
+_LT_TAGDECL([], [hardcode_minus_L], [0],
+    [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
+    into the resulting binary])
+_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
+    [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
+    into the resulting binary])
+_LT_TAGDECL([], [hardcode_automatic], [0],
+    [Set to "yes" if building a shared library automatically hardcodes DIR
+    into the library and all subsequent libraries and executables linked
+    against it])
+_LT_TAGDECL([], [inherit_rpath], [0],
+    [Set to yes if linker adds runtime paths of dependent libraries
+    to runtime path list])
+_LT_TAGDECL([], [link_all_deplibs], [0],
+    [Whether libtool must link a program against all its dependency libraries])
+_LT_TAGDECL([], [fix_srcfile_path], [1],
+    [Fix the shell variable $srcfile for the compiler])
+_LT_TAGDECL([], [always_export_symbols], [0],
+    [Set to "yes" if exported symbols are required])
+_LT_TAGDECL([], [export_symbols_cmds], [2],
+    [The commands to list exported symbols])
+_LT_TAGDECL([], [exclude_expsyms], [1],
+    [Symbols that should not be listed in the preloaded symbols])
+_LT_TAGDECL([], [include_expsyms], [1],
+    [Symbols that must always be exported])
+_LT_TAGDECL([], [prelink_cmds], [2],
+    [Commands necessary for linking programs (against libraries) with templates])
+_LT_TAGDECL([], [file_list_spec], [1],
+    [Specify filename containing input files])
+dnl FIXME: Not yet implemented
+dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
+dnl    [Compiler flag to generate thread safe objects])
+])# _LT_LINKER_SHLIBS
+
+
+# _LT_LANG_C_CONFIG([TAG])
+# ------------------------
+# Ensure that the configuration variables for a C compiler are suitably
+# defined.  These variables are subsequently used by _LT_CONFIG to write
+# the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_C_CONFIG],
+[m4_require([_LT_DECL_EGREP])dnl
+lt_save_CC="$CC"
+AC_LANG_PUSH(C)
+
+# Source file extension for C test sources.
+ac_ext=c
+
+# Object file extension for compiled C test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(){return(0);}'
+
+_LT_TAG_COMPILER
+# Save the default compiler, since it gets overwritten when the other
+# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
+compiler_DEFAULT=$CC
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+  _LT_COMPILER_NO_RTTI($1)
+  _LT_COMPILER_PIC($1)
+  _LT_COMPILER_C_O($1)
+  _LT_COMPILER_FILE_LOCKS($1)
+  _LT_LINKER_SHLIBS($1)
+  _LT_SYS_DYNAMIC_LINKER($1)
+  _LT_LINKER_HARDCODE_LIBPATH($1)
+  LT_SYS_DLOPEN_SELF
+  _LT_CMD_STRIPLIB
+
+  # Report which library types will actually be built
+  AC_MSG_CHECKING([if libtool supports shared libraries])
+  AC_MSG_RESULT([$can_build_shared])
+
+  AC_MSG_CHECKING([whether to build shared libraries])
+  test "$can_build_shared" = "no" && enable_shared=no
+
+  # On AIX, shared libraries and static libraries use the same namespace, and
+  # are all built from PIC.
+  case $host_os in
+  aix3*)
+    test "$enable_shared" = yes && enable_static=no
+    if test -n "$RANLIB"; then
+      archive_cmds="$archive_cmds~\$RANLIB \$lib"
+      postinstall_cmds='$RANLIB $lib'
+    fi
+    ;;
+
+  aix[[4-9]]*)
+    if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+      test "$enable_shared" = yes && enable_static=no
+    fi
+    ;;
+  esac
+  AC_MSG_RESULT([$enable_shared])
+
+  AC_MSG_CHECKING([whether to build static libraries])
+  # Make sure either enable_shared or enable_static is yes.
+  test "$enable_shared" = yes || enable_static=yes
+  AC_MSG_RESULT([$enable_static])
+
+  _LT_CONFIG($1)
+fi
+AC_LANG_POP
+CC="$lt_save_CC"
+])# _LT_LANG_C_CONFIG
+
+
+# _LT_PROG_CXX
+# ------------
+# Since AC_PROG_CXX is broken, in that it returns g++ if there is no c++
+# compiler, we have our own version here.
+m4_defun([_LT_PROG_CXX],
+[
+pushdef([AC_MSG_ERROR], [_lt_caught_CXX_error=yes])
+AC_PROG_CXX
+if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
+    (test "X$CXX" != "Xg++"))) ; then
+  AC_PROG_CXXCPP
+else
+  _lt_caught_CXX_error=yes
+fi
+popdef([AC_MSG_ERROR])
+])# _LT_PROG_CXX
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([_LT_PROG_CXX], [])
+
+
+# _LT_LANG_CXX_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for a C++ compiler are suitably
+# defined.  These variables are subsequently used by _LT_CONFIG to write
+# the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_CXX_CONFIG],
+[AC_REQUIRE([_LT_PROG_CXX])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_EGREP])dnl
+
+AC_LANG_PUSH(C++)
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(compiler_needs_object, $1)=no
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for C++ test sources.
+ac_ext=cpp
+
+# Object file extension for compiled C++ test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the CXX compiler isn't working.  Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test "$_lt_caught_CXX_error" != yes; then
+  # Code to be used in simple compile tests
+  lt_simple_compile_test_code="int some_variable = 0;"
+
+  # Code to be used in simple link tests
+  lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
+
+  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+  _LT_TAG_COMPILER
+
+  # save warnings/boilerplate of simple test code
+  _LT_COMPILER_BOILERPLATE
+  _LT_LINKER_BOILERPLATE
+
+  # Allow CC to be a program name with arguments.
+  lt_save_CC=$CC
+  lt_save_LD=$LD
+  lt_save_GCC=$GCC
+  GCC=$GXX
+  lt_save_with_gnu_ld=$with_gnu_ld
+  lt_save_path_LD=$lt_cv_path_LD
+  if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
+    lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
+  else
+    $as_unset lt_cv_prog_gnu_ld
+  fi
+  if test -n "${lt_cv_path_LDCXX+set}"; then
+    lt_cv_path_LD=$lt_cv_path_LDCXX
+  else
+    $as_unset lt_cv_path_LD
+  fi
+  test -z "${LDCXX+set}" || LD=$LDCXX
+  CC=${CXX-"c++"}
+  compiler=$CC
+  _LT_TAGVAR(compiler, $1)=$CC
+  _LT_CC_BASENAME([$compiler])
+
+  if test -n "$compiler"; then
+    # We don't want -fno-exception when compiling C++ code, so set the
+    # no_builtin_flag separately
+    if test "$GXX" = yes; then
+      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
+    else
+      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+    fi
+
+    if test "$GXX" = yes; then
+      # Set up default GNU C++ configuration
+
+      LT_PATH_LD
+
+      # Check if GNU C++ uses GNU ld as the underlying linker, since the
+      # archiving commands below assume that GNU ld is being used.
+      if test "$with_gnu_ld" = yes; then
+        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+
+        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+
+        # If archive_cmds runs LD, not CC, wlarc should be empty
+        # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
+        #     investigate it a little bit more. (MM)
+        wlarc='${wl}'
+
+        # ancient GNU ld didn't support --whole-archive et. al.
+        if eval "`$CC -print-prog-name=ld` --help 2>&1" |
+	  $GREP 'no-whole-archive' > /dev/null; then
+          _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+        else
+          _LT_TAGVAR(whole_archive_flag_spec, $1)=
+        fi
+      else
+        with_gnu_ld=no
+        wlarc=
+
+        # A generic and very simple default shared library creation
+        # command for GNU C++ for the case where it uses the native
+        # linker, instead of GNU ld.  If possible, this setting should
+        # overridden to take advantage of the native linker features on
+        # the platform it is being used on.
+        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+      fi
+
+      # Commands to make compiler produce verbose output that lists
+      # what "hidden" libraries, object files and flags are used when
+      # linking a shared library.
+      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+
+    else
+      GXX=no
+      with_gnu_ld=no
+      wlarc=
+    fi
+
+    # PORTME: fill in a description of your system's C++ link characteristics
+    AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+    _LT_TAGVAR(ld_shlibs, $1)=yes
+    case $host_os in
+      aix3*)
+        # FIXME: insert proper C++ library support
+        _LT_TAGVAR(ld_shlibs, $1)=no
+        ;;
+      aix[[4-9]]*)
+        if test "$host_cpu" = ia64; then
+          # On IA64, the linker does run time linking by default, so we don't
+          # have to do anything special.
+          aix_use_runtimelinking=no
+          exp_sym_flag='-Bexport'
+          no_entry_flag=""
+        else
+          aix_use_runtimelinking=no
+
+          # Test if we are trying to use run time linking or normal
+          # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+          # need to do runtime linking.
+          case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
+	    for ld_flag in $LDFLAGS; do
+	      case $ld_flag in
+	      *-brtl*)
+	        aix_use_runtimelinking=yes
+	        break
+	        ;;
+	      esac
+	    done
+	    ;;
+          esac
+
+          exp_sym_flag='-bexport'
+          no_entry_flag='-bnoentry'
+        fi
+
+        # When large executables or shared objects are built, AIX ld can
+        # have problems creating the table of contents.  If linking a library
+        # or program results in "error TOC overflow" add -mminimal-toc to
+        # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
+        # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+        _LT_TAGVAR(archive_cmds, $1)=''
+        _LT_TAGVAR(hardcode_direct, $1)=yes
+        _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+        _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+        _LT_TAGVAR(link_all_deplibs, $1)=yes
+        _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
+
+        if test "$GXX" = yes; then
+          case $host_os in aix4.[[012]]|aix4.[[012]].*)
+          # We only want to do this on AIX 4.2 and lower, the check
+          # below for broken collect2 doesn't work under 4.3+
+	  collect2name=`${CC} -print-prog-name=collect2`
+	  if test -f "$collect2name" &&
+	     strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+	  then
+	    # We have reworked collect2
+	    :
+	  else
+	    # We have old collect2
+	    _LT_TAGVAR(hardcode_direct, $1)=unsupported
+	    # It fails to find uninstalled libraries when the uninstalled
+	    # path is not listed in the libpath.  Setting hardcode_minus_L
+	    # to unsupported forces relinking
+	    _LT_TAGVAR(hardcode_minus_L, $1)=yes
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+	    _LT_TAGVAR(hardcode_libdir_separator, $1)=
+	  fi
+          esac
+          shared_flag='-shared'
+	  if test "$aix_use_runtimelinking" = yes; then
+	    shared_flag="$shared_flag "'${wl}-G'
+	  fi
+        else
+          # not using gcc
+          if test "$host_cpu" = ia64; then
+	  # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+	  # chokes on -Wl,-G. The following line is correct:
+	  shared_flag='-G'
+          else
+	    if test "$aix_use_runtimelinking" = yes; then
+	      shared_flag='${wl}-G'
+	    else
+	      shared_flag='${wl}-bM:SRE'
+	    fi
+          fi
+        fi
+
+        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
+        # It seems that -bexpall does not export symbols beginning with
+        # underscore (_), so it is better to generate a list of symbols to
+	# export.
+        _LT_TAGVAR(always_export_symbols, $1)=yes
+        if test "$aix_use_runtimelinking" = yes; then
+          # Warning - without using the other runtime loading flags (-brtl),
+          # -berok will link without error, but may produce a broken library.
+          _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
+          # Determine the default libpath from the value encoded in an empty
+          # executable.
+          _LT_SYS_MODULE_PATH_AIX
+          _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+
+          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+        else
+          if test "$host_cpu" = ia64; then
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+	    _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+	    _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+          else
+	    # Determine the default libpath from the value encoded in an
+	    # empty executable.
+	    _LT_SYS_MODULE_PATH_AIX
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+	    # Warning - without using the other run time loading flags,
+	    # -berok will link without error, but may produce a broken library.
+	    _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
+	    _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
+	    # Exported symbols can be pulled into shared objects from archives
+	    _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+	    _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+	    # This is similar to how AIX traditionally builds its shared
+	    # libraries.
+	    _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+          fi
+        fi
+        ;;
+
+      beos*)
+	if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+	  # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+	  # support --undefined.  This deserves some investigation.  FIXME
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	else
+	  _LT_TAGVAR(ld_shlibs, $1)=no
+	fi
+	;;
+
+      chorus*)
+        case $cc_basename in
+          *)
+	  # FIXME: insert proper C++ library support
+	  _LT_TAGVAR(ld_shlibs, $1)=no
+	  ;;
+        esac
+        ;;
+
+      cygwin* | mingw* | pw32* | cegcc*)
+        # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+        # as there is no search path for DLLs.
+        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+        _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+        _LT_TAGVAR(always_export_symbols, $1)=no
+        _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+
+        if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+          _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+          # If the export-symbols file already is a .def file (1st line
+          # is EXPORTS), use it as is; otherwise, prepend...
+          _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+	    cp $export_symbols $output_objdir/$soname.def;
+          else
+	    echo EXPORTS > $output_objdir/$soname.def;
+	    cat $export_symbols >> $output_objdir/$soname.def;
+          fi~
+          $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+        else
+          _LT_TAGVAR(ld_shlibs, $1)=no
+        fi
+        ;;
+      darwin* | rhapsody*)
+        _LT_DARWIN_LINKER_FEATURES($1)
+	;;
+
+      dgux*)
+        case $cc_basename in
+          ec++*)
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+          ghcx*)
+	    # Green Hills C++ Compiler
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+          *)
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+        esac
+        ;;
+
+      freebsd[[12]]*)
+        # C++ shared libraries reported to be fairly broken before
+	# switch to ELF
+        _LT_TAGVAR(ld_shlibs, $1)=no
+        ;;
+
+      freebsd-elf*)
+        _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+        ;;
+
+      freebsd* | dragonfly*)
+        # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
+        # conventions
+        _LT_TAGVAR(ld_shlibs, $1)=yes
+        ;;
+
+      gnu*)
+        ;;
+
+      hpux9*)
+        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+        _LT_TAGVAR(hardcode_direct, $1)=yes
+        _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+				             # but as the default
+				             # location of the library.
+
+        case $cc_basename in
+          CC*)
+            # FIXME: insert proper C++ library support
+            _LT_TAGVAR(ld_shlibs, $1)=no
+            ;;
+          aCC*)
+            _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+            # Commands to make compiler produce verbose output that lists
+            # what "hidden" libraries, object files and flags are used when
+            # linking a shared library.
+            #
+            # There doesn't appear to be a way to prevent this compiler from
+            # explicitly linking system object files so we need to strip them
+            # from the output so that they don't get included in the library
+            # dependencies.
+            output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+            ;;
+          *)
+            if test "$GXX" = yes; then
+              _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+            else
+              # FIXME: insert proper C++ library support
+              _LT_TAGVAR(ld_shlibs, $1)=no
+            fi
+            ;;
+        esac
+        ;;
+
+      hpux10*|hpux11*)
+        if test $with_gnu_ld = no; then
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+	  _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+          case $host_cpu in
+            hppa*64*|ia64*)
+              ;;
+            *)
+	      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+              ;;
+          esac
+        fi
+        case $host_cpu in
+          hppa*64*|ia64*)
+            _LT_TAGVAR(hardcode_direct, $1)=no
+            _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+            ;;
+          *)
+            _LT_TAGVAR(hardcode_direct, $1)=yes
+            _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+            _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+					         # but as the default
+					         # location of the library.
+            ;;
+        esac
+
+        case $cc_basename in
+          CC*)
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+          aCC*)
+	    case $host_cpu in
+	      hppa*64*)
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	        ;;
+	      ia64*)
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	        ;;
+	      *)
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	        ;;
+	    esac
+	    # Commands to make compiler produce verbose output that lists
+	    # what "hidden" libraries, object files and flags are used when
+	    # linking a shared library.
+	    #
+	    # There doesn't appear to be a way to prevent this compiler from
+	    # explicitly linking system object files so we need to strip them
+	    # from the output so that they don't get included in the library
+	    # dependencies.
+	    output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+	    ;;
+          *)
+	    if test "$GXX" = yes; then
+	      if test $with_gnu_ld = no; then
+	        case $host_cpu in
+	          hppa*64*)
+	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	            ;;
+	          ia64*)
+	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	            ;;
+	          *)
+	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	            ;;
+	        esac
+	      fi
+	    else
+	      # FIXME: insert proper C++ library support
+	      _LT_TAGVAR(ld_shlibs, $1)=no
+	    fi
+	    ;;
+        esac
+        ;;
+
+      interix[[3-9]]*)
+	_LT_TAGVAR(hardcode_direct, $1)=no
+	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+	# Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+	# Instead, shared libraries are loaded at an image base (0x10000000 by
+	# default) and relocated if they conflict, which is a slow very memory
+	# consuming and fragmenting process.  To avoid this, we pick a random,
+	# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+	# time.  Moving up from 0x10000000 also allows more sbrk(2) space.
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+	;;
+      irix5* | irix6*)
+        case $cc_basename in
+          CC*)
+	    # SGI C++
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+
+	    # Archives containing C++ object files must be created using
+	    # "CC -ar", where "CC" is the IRIX C++ compiler.  This is
+	    # necessary to make sure instantiated templates are included
+	    # in the archive.
+	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
+	    ;;
+          *)
+	    if test "$GXX" = yes; then
+	      if test "$with_gnu_ld" = no; then
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	      else
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib'
+	      fi
+	    fi
+	    _LT_TAGVAR(link_all_deplibs, $1)=yes
+	    ;;
+        esac
+        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+        _LT_TAGVAR(inherit_rpath, $1)=yes
+        ;;
+
+      linux* | k*bsd*-gnu)
+        case $cc_basename in
+          KCC*)
+	    # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+	    # KCC will only create a shared library if the output file
+	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
+	    # to its proper name (with version) after linking.
+	    _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
+	    # Commands to make compiler produce verbose output that lists
+	    # what "hidden" libraries, object files and flags are used when
+	    # linking a shared library.
+	    #
+	    # There doesn't appear to be a way to prevent this compiler from
+	    # explicitly linking system object files so we need to strip them
+	    # from the output so that they don't get included in the library
+	    # dependencies.
+	    output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+
+	    # Archives containing C++ object files must be created using
+	    # "CC -Bstatic", where "CC" is the KAI C++ compiler.
+	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
+	    ;;
+	  icpc* | ecpc* )
+	    # Intel C++
+	    with_gnu_ld=yes
+	    # version 8.0 and above of icpc choke on multiply defined symbols
+	    # if we add $predep_objects and $postdep_objects, however 7.1 and
+	    # earlier do not add the objects themselves.
+	    case `$CC -V 2>&1` in
+	      *"Version 7."*)
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+		_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+		;;
+	      *)  # Version 8.0 or newer
+	        tmp_idyn=
+	        case $host_cpu in
+		  ia64*) tmp_idyn=' -i_dynamic';;
+		esac
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+		_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+		;;
+	    esac
+	    _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+	    _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+	    ;;
+          pgCC* | pgcpp*)
+            # Portland Group C++ compiler
+	    case `$CC -V` in
+	    *pgCC\ [[1-5]]* | *pgcpp\ [[1-5]]*)
+	      _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
+		rm -rf $tpldir~
+		$CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
+		compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"'
+	      _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
+		rm -rf $tpldir~
+		$CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
+		$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~
+		$RANLIB $oldlib'
+	      _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
+		rm -rf $tpldir~
+		$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+		$CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+	      _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
+		rm -rf $tpldir~
+		$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+		$CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+	      ;;
+	    *) # Version 6 will use weak symbols
+	      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+	      _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+	      ;;
+	    esac
+
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
+	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+	    _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+            ;;
+	  cxx*)
+	    # Compaq C++
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname  -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
+
+	    runpath_var=LD_RUN_PATH
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	    # Commands to make compiler produce verbose output that lists
+	    # what "hidden" libraries, object files and flags are used when
+	    # linking a shared library.
+	    #
+	    # There doesn't appear to be a way to prevent this compiler from
+	    # explicitly linking system object files so we need to strip them
+	    # from the output so that they don't get included in the library
+	    # dependencies.
+	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+	    ;;
+	  xl*)
+	    # IBM XL 8.0 on PPC, with GNU ld
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	    if test "x$supports_anon_versioning" = xyes; then
+	      _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+		cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+		echo "local: *; };" >> $output_objdir/$libname.ver~
+		$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+	    fi
+	    ;;
+	  *)
+	    case `$CC -V 2>&1 | sed 5q` in
+	    *Sun\ C*)
+	      # Sun C++ 5.9
+	      _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+	      _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	      _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
+	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+	      _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+	      _LT_TAGVAR(compiler_needs_object, $1)=yes
+
+	      # Not sure whether something based on
+	      # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
+	      # would be better.
+	      output_verbose_link_cmd='echo'
+
+	      # Archives containing C++ object files must be created using
+	      # "CC -xar", where "CC" is the Sun C++ compiler.  This is
+	      # necessary to make sure instantiated templates are included
+	      # in the archive.
+	      _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+	      ;;
+	    esac
+	    ;;
+	esac
+	;;
+
+      lynxos*)
+        # FIXME: insert proper C++ library support
+	_LT_TAGVAR(ld_shlibs, $1)=no
+	;;
+
+      m88k*)
+        # FIXME: insert proper C++ library support
+        _LT_TAGVAR(ld_shlibs, $1)=no
+	;;
+
+      mvs*)
+        case $cc_basename in
+          cxx*)
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+	  *)
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+	esac
+	;;
+
+      netbsd*)
+        if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+	  _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
+	  wlarc=
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+	  _LT_TAGVAR(hardcode_direct, $1)=yes
+	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	fi
+	# Workaround some broken pre-1.5 toolchains
+	output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
+	;;
+
+      *nto* | *qnx*)
+        _LT_TAGVAR(ld_shlibs, $1)=yes
+	;;
+
+      openbsd2*)
+        # C++ shared libraries are fairly broken
+	_LT_TAGVAR(ld_shlibs, $1)=no
+	;;
+
+      openbsd*)
+	if test -f /usr/libexec/ld.so; then
+	  _LT_TAGVAR(hardcode_direct, $1)=yes
+	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	  _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
+	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+	    _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+	  fi
+	  output_verbose_link_cmd=echo
+	else
+	  _LT_TAGVAR(ld_shlibs, $1)=no
+	fi
+	;;
+
+      osf3* | osf4* | osf5*)
+        case $cc_basename in
+          KCC*)
+	    # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+	    # KCC will only create a shared library if the output file
+	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
+	    # to its proper name (with version) after linking.
+	    _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	    # Archives containing C++ object files must be created using
+	    # the KAI C++ compiler.
+	    case $host in
+	      osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
+	      *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
+	    esac
+	    ;;
+          RCC*)
+	    # Rational C++ 2.4.1
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+          cxx*)
+	    case $host in
+	      osf3*)
+	        _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+		;;
+	      *)
+	        _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+	        _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
+	          echo "-hidden">> $lib.exp~
+	          $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp  `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~
+	          $RM $lib.exp'
+	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+		;;
+	    esac
+
+	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	    # Commands to make compiler produce verbose output that lists
+	    # what "hidden" libraries, object files and flags are used when
+	    # linking a shared library.
+	    #
+	    # There doesn't appear to be a way to prevent this compiler from
+	    # explicitly linking system object files so we need to strip them
+	    # from the output so that they don't get included in the library
+	    # dependencies.
+	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+	    ;;
+	  *)
+	    if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+	      _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+	      case $host in
+	        osf3*)
+	          _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+		  ;;
+	        *)
+	          _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+		  ;;
+	      esac
+
+	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+	      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	      # Commands to make compiler produce verbose output that lists
+	      # what "hidden" libraries, object files and flags are used when
+	      # linking a shared library.
+	      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+
+	    else
+	      # FIXME: insert proper C++ library support
+	      _LT_TAGVAR(ld_shlibs, $1)=no
+	    fi
+	    ;;
+        esac
+        ;;
+
+      psos*)
+        # FIXME: insert proper C++ library support
+        _LT_TAGVAR(ld_shlibs, $1)=no
+        ;;
+
+      sunos4*)
+        case $cc_basename in
+          CC*)
+	    # Sun C++ 4.x
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+          lcc*)
+	    # Lucid
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+          *)
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+        esac
+        ;;
+
+      solaris*)
+        case $cc_basename in
+          CC*)
+	    # Sun C++ 4.2, 5.x and Centerline C++
+            _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
+	    _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag}  -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+	      $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+	    _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	    case $host_os in
+	      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+	      *)
+		# The compiler driver will combine and reorder linker options,
+		# but understands `-z linker_flag'.
+	        # Supported since Solaris 2.6 (maybe 2.5.1?)
+		_LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
+	        ;;
+	    esac
+	    _LT_TAGVAR(link_all_deplibs, $1)=yes
+
+	    output_verbose_link_cmd='echo'
+
+	    # Archives containing C++ object files must be created using
+	    # "CC -xar", where "CC" is the Sun C++ compiler.  This is
+	    # necessary to make sure instantiated templates are included
+	    # in the archive.
+	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+	    ;;
+          gcx*)
+	    # Green Hills C++ Compiler
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+
+	    # The C++ compiler must be used to create the archive.
+	    _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
+	    ;;
+          *)
+	    # GNU C++ compiler with Solaris linker
+	    if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+	      _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
+	      if $CC --version | $GREP -v '^2\.7' > /dev/null; then
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+	        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+		  $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+	        # Commands to make compiler produce verbose output that lists
+	        # what "hidden" libraries, object files and flags are used when
+	        # linking a shared library.
+	        output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+	      else
+	        # g++ 2.7 appears to require `-G' NOT `-shared' on this
+	        # platform.
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+	        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+		  $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+	        # Commands to make compiler produce verbose output that lists
+	        # what "hidden" libraries, object files and flags are used when
+	        # linking a shared library.
+	        output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+	      fi
+
+	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
+	      case $host_os in
+		solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+		*)
+		  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+		  ;;
+	      esac
+	    fi
+	    ;;
+        esac
+        ;;
+
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
+      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      runpath_var='LD_RUN_PATH'
+
+      case $cc_basename in
+        CC*)
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+      esac
+      ;;
+
+      sysv5* | sco3.2v5* | sco5v6*)
+	# Note: We can NOT use -z defs as we might desire, because we do not
+	# link with -lc, and that would cause any symbols used from libc to
+	# always be unresolved, which means just about no library would
+	# ever link correctly.  If we're not using GNU ld we use -z text
+	# though, which does catch some bad symbols but isn't as heavy-handed
+	# as -z defs.
+	_LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+	_LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+	_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
+	_LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+	_LT_TAGVAR(link_all_deplibs, $1)=yes
+	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+	runpath_var='LD_RUN_PATH'
+
+	case $cc_basename in
+          CC*)
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	    ;;
+	  *)
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	    ;;
+	esac
+      ;;
+
+      tandem*)
+        case $cc_basename in
+          NCC*)
+	    # NonStop-UX NCC 3.20
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+          *)
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+        esac
+        ;;
+
+      vxworks*)
+        # FIXME: insert proper C++ library support
+        _LT_TAGVAR(ld_shlibs, $1)=no
+        ;;
+
+      *)
+        # FIXME: insert proper C++ library support
+        _LT_TAGVAR(ld_shlibs, $1)=no
+        ;;
+    esac
+
+    AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
+    test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+
+    _LT_TAGVAR(GCC, $1)="$GXX"
+    _LT_TAGVAR(LD, $1)="$LD"
+
+    ## CAVEAT EMPTOR:
+    ## There is no encapsulation within the following macros, do not change
+    ## the running order or otherwise move them around unless you know exactly
+    ## what you are doing...
+    _LT_SYS_HIDDEN_LIBDEPS($1)
+    _LT_COMPILER_PIC($1)
+    _LT_COMPILER_C_O($1)
+    _LT_COMPILER_FILE_LOCKS($1)
+    _LT_LINKER_SHLIBS($1)
+    _LT_SYS_DYNAMIC_LINKER($1)
+    _LT_LINKER_HARDCODE_LIBPATH($1)
+
+    _LT_CONFIG($1)
+  fi # test -n "$compiler"
+
+  CC=$lt_save_CC
+  LDCXX=$LD
+  LD=$lt_save_LD
+  GCC=$lt_save_GCC
+  with_gnu_ld=$lt_save_with_gnu_ld
+  lt_cv_path_LDCXX=$lt_cv_path_LD
+  lt_cv_path_LD=$lt_save_path_LD
+  lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
+  lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
+fi # test "$_lt_caught_CXX_error" != yes
+
+AC_LANG_POP
+])# _LT_LANG_CXX_CONFIG
+
+
+# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
+# ---------------------------------
+# Figure out "hidden" library dependencies from verbose
+# compiler output when linking a shared library.
+# Parse the compiler output and extract the necessary
+# objects, libraries and library flags.
+m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+# Dependencies to place before and after the object being linked:
+_LT_TAGVAR(predep_objects, $1)=
+_LT_TAGVAR(postdep_objects, $1)=
+_LT_TAGVAR(predeps, $1)=
+_LT_TAGVAR(postdeps, $1)=
+_LT_TAGVAR(compiler_lib_search_path, $1)=
+
+dnl we can't use the lt_simple_compile_test_code here,
+dnl because it contains code intended for an executable,
+dnl not a library.  It's possible we should let each
+dnl tag define a new lt_????_link_test_code variable,
+dnl but it's only used here...
+m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
+int a;
+void foo (void) { a = 0; }
+_LT_EOF
+], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
+class Foo
+{
+public:
+  Foo (void) { a = 0; }
+private:
+  int a;
+};
+_LT_EOF
+], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
+      subroutine foo
+      implicit none
+      integer*4 a
+      a=0
+      return
+      end
+_LT_EOF
+], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
+      subroutine foo
+      implicit none
+      integer a
+      a=0
+      return
+      end
+_LT_EOF
+], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
+public class foo {
+  private int a;
+  public void bar (void) {
+    a = 0;
+  }
+};
+_LT_EOF
+])
+dnl Parse the compiler output and extract the necessary
+dnl objects, libraries and library flags.
+if AC_TRY_EVAL(ac_compile); then
+  # Parse the compiler output and extract the necessary
+  # objects, libraries and library flags.
+
+  # Sentinel used to keep track of whether or not we are before
+  # the conftest object file.
+  pre_test_object_deps_done=no
+
+  for p in `eval "$output_verbose_link_cmd"`; do
+    case $p in
+
+    -L* | -R* | -l*)
+       # Some compilers place space between "-{L,R}" and the path.
+       # Remove the space.
+       if test $p = "-L" ||
+          test $p = "-R"; then
+	 prev=$p
+	 continue
+       else
+	 prev=
+       fi
+
+       if test "$pre_test_object_deps_done" = no; then
+	 case $p in
+	 -L* | -R*)
+	   # Internal compiler library paths should come after those
+	   # provided the user.  The postdeps already come after the
+	   # user supplied libs so there is no need to process them.
+	   if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
+	     _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
+	   else
+	     _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
+	   fi
+	   ;;
+	 # The "-l" case would never come before the object being
+	 # linked, so don't bother handling this case.
+	 esac
+       else
+	 if test -z "$_LT_TAGVAR(postdeps, $1)"; then
+	   _LT_TAGVAR(postdeps, $1)="${prev}${p}"
+	 else
+	   _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
+	 fi
+       fi
+       ;;
+
+    *.$objext)
+       # This assumes that the test object file only shows up
+       # once in the compiler output.
+       if test "$p" = "conftest.$objext"; then
+	 pre_test_object_deps_done=yes
+	 continue
+       fi
+
+       if test "$pre_test_object_deps_done" = no; then
+	 if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
+	   _LT_TAGVAR(predep_objects, $1)="$p"
+	 else
+	   _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
+	 fi
+       else
+	 if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
+	   _LT_TAGVAR(postdep_objects, $1)="$p"
+	 else
+	   _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
+	 fi
+       fi
+       ;;
+
+    *) ;; # Ignore the rest.
+
+    esac
+  done
+
+  # Clean up.
+  rm -f a.out a.exe
+else
+  echo "libtool.m4: error: problem compiling $1 test program"
+fi
+
+$RM -f confest.$objext
+
+# PORTME: override above test on systems where it is broken
+m4_if([$1], [CXX],
+[case $host_os in
+interix[[3-9]]*)
+  # Interix 3.5 installs completely hosed .la files for C++, so rather than
+  # hack all around it, let's just trust "g++" to DTRT.
+  _LT_TAGVAR(predep_objects,$1)=
+  _LT_TAGVAR(postdep_objects,$1)=
+  _LT_TAGVAR(postdeps,$1)=
+  ;;
+
+linux*)
+  case `$CC -V 2>&1 | sed 5q` in
+  *Sun\ C*)
+    # Sun C++ 5.9
+
+    # The more standards-conforming stlport4 library is
+    # incompatible with the Cstd library. Avoid specifying
+    # it if it's in CXXFLAGS. Ignore libCrun as
+    # -library=stlport4 depends on it.
+    case " $CXX $CXXFLAGS " in
+    *" -library=stlport4 "*)
+      solaris_use_stlport4=yes
+      ;;
+    esac
+
+    if test "$solaris_use_stlport4" != yes; then
+      _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
+    fi
+    ;;
+  esac
+  ;;
+
+solaris*)
+  case $cc_basename in
+  CC*)
+    # The more standards-conforming stlport4 library is
+    # incompatible with the Cstd library. Avoid specifying
+    # it if it's in CXXFLAGS. Ignore libCrun as
+    # -library=stlport4 depends on it.
+    case " $CXX $CXXFLAGS " in
+    *" -library=stlport4 "*)
+      solaris_use_stlport4=yes
+      ;;
+    esac
+
+    # Adding this requires a known-good setup of shared libraries for
+    # Sun compiler versions before 5.6, else PIC objects from an old
+    # archive will be linked into the output, leading to subtle bugs.
+    if test "$solaris_use_stlport4" != yes; then
+      _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
+    fi
+    ;;
+  esac
+  ;;
+esac
+])
+
+case " $_LT_TAGVAR(postdeps, $1) " in
+*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
+esac
+ _LT_TAGVAR(compiler_lib_search_dirs, $1)=
+if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
+ _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
+fi
+_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
+    [The directories searched by this compiler when creating a shared library])
+_LT_TAGDECL([], [predep_objects], [1],
+    [Dependencies to place before and after the objects being linked to
+    create a shared library])
+_LT_TAGDECL([], [postdep_objects], [1])
+_LT_TAGDECL([], [predeps], [1])
+_LT_TAGDECL([], [postdeps], [1])
+_LT_TAGDECL([], [compiler_lib_search_path], [1],
+    [The library search path used internally by the compiler when linking
+    a shared library])
+])# _LT_SYS_HIDDEN_LIBDEPS
+
+
+# _LT_PROG_F77
+# ------------
+# Since AC_PROG_F77 is broken, in that it returns the empty string
+# if there is no fortran compiler, we have our own version here.
+m4_defun([_LT_PROG_F77],
+[
+pushdef([AC_MSG_ERROR], [_lt_disable_F77=yes])
+AC_PROG_F77
+if test -z "$F77" || test "X$F77" = "Xno"; then
+  _lt_disable_F77=yes
+fi
+popdef([AC_MSG_ERROR])
+])# _LT_PROG_F77
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([_LT_PROG_F77], [])
+
+
+# _LT_LANG_F77_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for a Fortran 77 compiler are
+# suitably defined.  These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_F77_CONFIG],
+[AC_REQUIRE([_LT_PROG_F77])dnl
+AC_LANG_PUSH(Fortran 77)
+
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for f77 test sources.
+ac_ext=f
+
+# Object file extension for compiled f77 test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the F77 compiler isn't working.  Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test "$_lt_disable_F77" != yes; then
+  # Code to be used in simple compile tests
+  lt_simple_compile_test_code="\
+      subroutine t
+      return
+      end
+"
+
+  # Code to be used in simple link tests
+  lt_simple_link_test_code="\
+      program t
+      end
+"
+
+  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+  _LT_TAG_COMPILER
+
+  # save warnings/boilerplate of simple test code
+  _LT_COMPILER_BOILERPLATE
+  _LT_LINKER_BOILERPLATE
+
+  # Allow CC to be a program name with arguments.
+  lt_save_CC="$CC"
+  lt_save_GCC=$GCC
+  CC=${F77-"f77"}
+  compiler=$CC
+  _LT_TAGVAR(compiler, $1)=$CC
+  _LT_CC_BASENAME([$compiler])
+  GCC=$G77
+  if test -n "$compiler"; then
+    AC_MSG_CHECKING([if libtool supports shared libraries])
+    AC_MSG_RESULT([$can_build_shared])
+
+    AC_MSG_CHECKING([whether to build shared libraries])
+    test "$can_build_shared" = "no" && enable_shared=no
+
+    # On AIX, shared libraries and static libraries use the same namespace, and
+    # are all built from PIC.
+    case $host_os in
+      aix3*)
+        test "$enable_shared" = yes && enable_static=no
+        if test -n "$RANLIB"; then
+          archive_cmds="$archive_cmds~\$RANLIB \$lib"
+          postinstall_cmds='$RANLIB $lib'
+        fi
+        ;;
+      aix[[4-9]]*)
+	if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+	  test "$enable_shared" = yes && enable_static=no
+	fi
+        ;;
+    esac
+    AC_MSG_RESULT([$enable_shared])
+
+    AC_MSG_CHECKING([whether to build static libraries])
+    # Make sure either enable_shared or enable_static is yes.
+    test "$enable_shared" = yes || enable_static=yes
+    AC_MSG_RESULT([$enable_static])
+
+    _LT_TAGVAR(GCC, $1)="$G77"
+    _LT_TAGVAR(LD, $1)="$LD"
+
+    ## CAVEAT EMPTOR:
+    ## There is no encapsulation within the following macros, do not change
+    ## the running order or otherwise move them around unless you know exactly
+    ## what you are doing...
+    _LT_COMPILER_PIC($1)
+    _LT_COMPILER_C_O($1)
+    _LT_COMPILER_FILE_LOCKS($1)
+    _LT_LINKER_SHLIBS($1)
+    _LT_SYS_DYNAMIC_LINKER($1)
+    _LT_LINKER_HARDCODE_LIBPATH($1)
+
+    _LT_CONFIG($1)
+  fi # test -n "$compiler"
+
+  GCC=$lt_save_GCC
+  CC="$lt_save_CC"
+fi # test "$_lt_disable_F77" != yes
+
+AC_LANG_POP
+])# _LT_LANG_F77_CONFIG
+
+
+# _LT_PROG_FC
+# -----------
+# Since AC_PROG_FC is broken, in that it returns the empty string
+# if there is no fortran compiler, we have our own version here.
+m4_defun([_LT_PROG_FC],
+[
+pushdef([AC_MSG_ERROR], [_lt_disable_FC=yes])
+AC_PROG_FC
+if test -z "$FC" || test "X$FC" = "Xno"; then
+  _lt_disable_FC=yes
+fi
+popdef([AC_MSG_ERROR])
+])# _LT_PROG_FC
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([_LT_PROG_FC], [])
+
+
+# _LT_LANG_FC_CONFIG([TAG])
+# -------------------------
+# Ensure that the configuration variables for a Fortran compiler are
+# suitably defined.  These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_FC_CONFIG],
+[AC_REQUIRE([_LT_PROG_FC])dnl
+AC_LANG_PUSH(Fortran)
+
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for fc test sources.
+ac_ext=${ac_fc_srcext-f}
+
+# Object file extension for compiled fc test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the FC compiler isn't working.  Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test "$_lt_disable_FC" != yes; then
+  # Code to be used in simple compile tests
+  lt_simple_compile_test_code="\
+      subroutine t
+      return
+      end
+"
+
+  # Code to be used in simple link tests
+  lt_simple_link_test_code="\
+      program t
+      end
+"
+
+  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+  _LT_TAG_COMPILER
+
+  # save warnings/boilerplate of simple test code
+  _LT_COMPILER_BOILERPLATE
+  _LT_LINKER_BOILERPLATE
+
+  # Allow CC to be a program name with arguments.
+  lt_save_CC="$CC"
+  lt_save_GCC=$GCC
+  CC=${FC-"f95"}
+  compiler=$CC
+  GCC=$ac_cv_fc_compiler_gnu
+
+  _LT_TAGVAR(compiler, $1)=$CC
+  _LT_CC_BASENAME([$compiler])
+
+  if test -n "$compiler"; then
+    AC_MSG_CHECKING([if libtool supports shared libraries])
+    AC_MSG_RESULT([$can_build_shared])
+
+    AC_MSG_CHECKING([whether to build shared libraries])
+    test "$can_build_shared" = "no" && enable_shared=no
+
+    # On AIX, shared libraries and static libraries use the same namespace, and
+    # are all built from PIC.
+    case $host_os in
+      aix3*)
+        test "$enable_shared" = yes && enable_static=no
+        if test -n "$RANLIB"; then
+          archive_cmds="$archive_cmds~\$RANLIB \$lib"
+          postinstall_cmds='$RANLIB $lib'
+        fi
+        ;;
+      aix[[4-9]]*)
+	if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+	  test "$enable_shared" = yes && enable_static=no
+	fi
+        ;;
+    esac
+    AC_MSG_RESULT([$enable_shared])
+
+    AC_MSG_CHECKING([whether to build static libraries])
+    # Make sure either enable_shared or enable_static is yes.
+    test "$enable_shared" = yes || enable_static=yes
+    AC_MSG_RESULT([$enable_static])
+
+    _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu"
+    _LT_TAGVAR(LD, $1)="$LD"
+
+    ## CAVEAT EMPTOR:
+    ## There is no encapsulation within the following macros, do not change
+    ## the running order or otherwise move them around unless you know exactly
+    ## what you are doing...
+    _LT_SYS_HIDDEN_LIBDEPS($1)
+    _LT_COMPILER_PIC($1)
+    _LT_COMPILER_C_O($1)
+    _LT_COMPILER_FILE_LOCKS($1)
+    _LT_LINKER_SHLIBS($1)
+    _LT_SYS_DYNAMIC_LINKER($1)
+    _LT_LINKER_HARDCODE_LIBPATH($1)
+
+    _LT_CONFIG($1)
+  fi # test -n "$compiler"
+
+  GCC=$lt_save_GCC
+  CC="$lt_save_CC"
+fi # test "$_lt_disable_FC" != yes
+
+AC_LANG_POP
+])# _LT_LANG_FC_CONFIG
+
+
+# _LT_LANG_GCJ_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for the GNU Java Compiler compiler
+# are suitably defined.  These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_GCJ_CONFIG],
+[AC_REQUIRE([LT_PROG_GCJ])dnl
+AC_LANG_SAVE
+
+# Source file extension for Java test sources.
+ac_ext=java
+
+# Object file extension for compiled Java test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="class foo {}"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+lt_save_GCC=$GCC
+GCC=yes
+CC=${GCJ-"gcj"}
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_TAGVAR(LD, $1)="$LD"
+_LT_CC_BASENAME([$compiler])
+
+# GCJ did not exist at the time GCC didn't implicitly link libc in.
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+  _LT_COMPILER_NO_RTTI($1)
+  _LT_COMPILER_PIC($1)
+  _LT_COMPILER_C_O($1)
+  _LT_COMPILER_FILE_LOCKS($1)
+  _LT_LINKER_SHLIBS($1)
+  _LT_LINKER_HARDCODE_LIBPATH($1)
+
+  _LT_CONFIG($1)
+fi
+
+AC_LANG_RESTORE
+
+GCC=$lt_save_GCC
+CC="$lt_save_CC"
+])# _LT_LANG_GCJ_CONFIG
+
+
+# _LT_LANG_RC_CONFIG([TAG])
+# -------------------------
+# Ensure that the configuration variables for the Windows resource compiler
+# are suitably defined.  These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_RC_CONFIG],
+[AC_REQUIRE([LT_PROG_RC])dnl
+AC_LANG_SAVE
+
+# Source file extension for RC test sources.
+ac_ext=rc
+
+# Object file extension for compiled RC test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
+
+# Code to be used in simple link tests
+lt_simple_link_test_code="$lt_simple_compile_test_code"
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+lt_save_GCC=$GCC
+GCC=
+CC=${RC-"windres"}
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_CC_BASENAME([$compiler])
+_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+
+if test -n "$compiler"; then
+  :
+  _LT_CONFIG($1)
+fi
+
+GCC=$lt_save_GCC
+AC_LANG_RESTORE
+CC="$lt_save_CC"
+])# _LT_LANG_RC_CONFIG
+
+
+# LT_PROG_GCJ
+# -----------
+AC_DEFUN([LT_PROG_GCJ],
+[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
+  [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
+    [AC_CHECK_TOOL(GCJ, gcj,)
+      test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
+      AC_SUBST(GCJFLAGS)])])[]dnl
+])
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
+
+
+# LT_PROG_RC
+# ----------
+AC_DEFUN([LT_PROG_RC],
+[AC_CHECK_TOOL(RC, windres,)
+])
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_RC], [])
+
+
+# _LT_DECL_EGREP
+# --------------
+# If we don't have a new enough Autoconf to choose the best grep
+# available, choose the one first in the user's PATH.
+m4_defun([_LT_DECL_EGREP],
+[AC_REQUIRE([AC_PROG_EGREP])dnl
+AC_REQUIRE([AC_PROG_FGREP])dnl
+test -z "$GREP" && GREP=grep
+_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
+_LT_DECL([], [EGREP], [1], [An ERE matcher])
+_LT_DECL([], [FGREP], [1], [A literal string matcher])
+dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
+AC_SUBST([GREP])
+])
+
+
+# _LT_DECL_OBJDUMP
+# --------------
+# If we don't have a new enough Autoconf to choose the best objdump
+# available, choose the one first in the user's PATH.
+m4_defun([_LT_DECL_OBJDUMP],
+[AC_CHECK_TOOL(OBJDUMP, objdump, false)
+test -z "$OBJDUMP" && OBJDUMP=objdump
+_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
+AC_SUBST([OBJDUMP])
+])
+
+
+# _LT_DECL_SED
+# ------------
+# Check for a fully-functional sed program, that truncates
+# as few characters as possible.  Prefer GNU sed if found.
+m4_defun([_LT_DECL_SED],
+[AC_PROG_SED
+test -z "$SED" && SED=sed
+Xsed="$SED -e 1s/^X//"
+_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
+_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
+    [Sed that helps us avoid accidentally triggering echo(1) options like -n])
+])# _LT_DECL_SED
+
+m4_ifndef([AC_PROG_SED], [
+############################################################
+# NOTE: This macro has been submitted for inclusion into   #
+#  GNU Autoconf as AC_PROG_SED.  When it is available in   #
+#  a released version of Autoconf we should remove this    #
+#  macro and use it instead.                               #
+############################################################
+
+m4_defun([AC_PROG_SED],
+[AC_MSG_CHECKING([for a sed that does not truncate output])
+AC_CACHE_VAL(lt_cv_path_SED,
+[# Loop through the user's path and test for sed and gsed.
+# Then use that list of sed's as ones to test for truncation.
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for lt_ac_prog in sed gsed; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
+        lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
+      fi
+    done
+  done
+done
+IFS=$as_save_IFS
+lt_ac_max=0
+lt_ac_count=0
+# Add /usr/xpg4/bin/sed as it is typically found on Solaris
+# along with /bin/sed that truncates output.
+for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
+  test ! -f $lt_ac_sed && continue
+  cat /dev/null > conftest.in
+  lt_ac_count=0
+  echo $ECHO_N "0123456789$ECHO_C" >conftest.in
+  # Check for GNU sed and select it if it is found.
+  if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
+    lt_cv_path_SED=$lt_ac_sed
+    break
+  fi
+  while true; do
+    cat conftest.in conftest.in >conftest.tmp
+    mv conftest.tmp conftest.in
+    cp conftest.in conftest.nl
+    echo >>conftest.nl
+    $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
+    cmp -s conftest.out conftest.nl || break
+    # 10000 chars as input seems more than enough
+    test $lt_ac_count -gt 10 && break
+    lt_ac_count=`expr $lt_ac_count + 1`
+    if test $lt_ac_count -gt $lt_ac_max; then
+      lt_ac_max=$lt_ac_count
+      lt_cv_path_SED=$lt_ac_sed
+    fi
+  done
+done
+])
+SED=$lt_cv_path_SED
+AC_SUBST([SED])
+AC_MSG_RESULT([$SED])
+])#AC_PROG_SED
+])#m4_ifndef
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_SED], [])
+
+
+# _LT_CHECK_SHELL_FEATURES
+# ------------------------
+# Find out whether the shell is Bourne or XSI compatible,
+# or has some other useful features.
+m4_defun([_LT_CHECK_SHELL_FEATURES],
+[AC_MSG_CHECKING([whether the shell understands some XSI constructs])
+# Try some XSI features
+xsi_shell=no
+( _lt_dummy="a/b/c"
+  test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
+      = c,a/b,, \
+    && eval 'test $(( 1 + 1 )) -eq 2 \
+    && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
+  && xsi_shell=yes
+AC_MSG_RESULT([$xsi_shell])
+_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell'])
+
+AC_MSG_CHECKING([whether the shell understands "+="])
+lt_shell_append=no
+( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \
+    >/dev/null 2>&1 \
+  && lt_shell_append=yes
+AC_MSG_RESULT([$lt_shell_append])
+_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append'])
+
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+  lt_unset=unset
+else
+  lt_unset=false
+fi
+_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
+
+# test EBCDIC or ASCII
+case `echo X|tr X '\101'` in
+ A) # ASCII based system
+    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
+  lt_SP2NL='tr \040 \012'
+  lt_NL2SP='tr \015\012 \040\040'
+  ;;
+ *) # EBCDIC based system
+  lt_SP2NL='tr \100 \n'
+  lt_NL2SP='tr \r\n \100\100'
+  ;;
+esac
+_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
+_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
+])# _LT_CHECK_SHELL_FEATURES
+
+
+# _LT_PROG_XSI_SHELLFNS
+# ---------------------
+# Bourne and XSI compatible variants of some useful shell functions.
+m4_defun([_LT_PROG_XSI_SHELLFNS],
+[case $xsi_shell in
+  yes)
+    cat << \_LT_EOF >> "$cfgfile"
+
+# func_dirname file append nondir_replacement
+# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
+# otherwise set result to NONDIR_REPLACEMENT.
+func_dirname ()
+{
+  case ${1} in
+    */*) func_dirname_result="${1%/*}${2}" ;;
+    *  ) func_dirname_result="${3}" ;;
+  esac
+}
+
+# func_basename file
+func_basename ()
+{
+  func_basename_result="${1##*/}"
+}
+
+# func_dirname_and_basename file append nondir_replacement
+# perform func_basename and func_dirname in a single function
+# call:
+#   dirname:  Compute the dirname of FILE.  If nonempty,
+#             add APPEND to the result, otherwise set result
+#             to NONDIR_REPLACEMENT.
+#             value returned in "$func_dirname_result"
+#   basename: Compute filename of FILE.
+#             value retuned in "$func_basename_result"
+# Implementation must be kept synchronized with func_dirname
+# and func_basename. For efficiency, we do not delegate to
+# those functions but instead duplicate the functionality here.
+func_dirname_and_basename ()
+{
+  case ${1} in
+    */*) func_dirname_result="${1%/*}${2}" ;;
+    *  ) func_dirname_result="${3}" ;;
+  esac
+  func_basename_result="${1##*/}"
+}
+
+# func_stripname prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+func_stripname ()
+{
+  # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
+  # positional parameters, so assign one to ordinary parameter first.
+  func_stripname_result=${3}
+  func_stripname_result=${func_stripname_result#"${1}"}
+  func_stripname_result=${func_stripname_result%"${2}"}
+}
+
+# func_opt_split
+func_opt_split ()
+{
+  func_opt_split_opt=${1%%=*}
+  func_opt_split_arg=${1#*=}
+}
+
+# func_lo2o object
+func_lo2o ()
+{
+  case ${1} in
+    *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
+    *)    func_lo2o_result=${1} ;;
+  esac
+}
+
+# func_xform libobj-or-source
+func_xform ()
+{
+  func_xform_result=${1%.*}.lo
+}
+
+# func_arith arithmetic-term...
+func_arith ()
+{
+  func_arith_result=$(( $[*] ))
+}
+
+# func_len string
+# STRING may not start with a hyphen.
+func_len ()
+{
+  func_len_result=${#1}
+}
+
+_LT_EOF
+    ;;
+  *) # Bourne compatible functions.
+    cat << \_LT_EOF >> "$cfgfile"
+
+# func_dirname file append nondir_replacement
+# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
+# otherwise set result to NONDIR_REPLACEMENT.
+func_dirname ()
+{
+  # Extract subdirectory from the argument.
+  func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
+  if test "X$func_dirname_result" = "X${1}"; then
+    func_dirname_result="${3}"
+  else
+    func_dirname_result="$func_dirname_result${2}"
+  fi
+}
+
+# func_basename file
+func_basename ()
+{
+  func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
+}
+
+dnl func_dirname_and_basename
+dnl A portable version of this function is already defined in general.m4sh
+dnl so there is no need for it here.
+
+# func_stripname prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+# func_strip_suffix prefix name
+func_stripname ()
+{
+  case ${2} in
+    .*) func_stripname_result=`$ECHO "X${3}" \
+           | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;;
+    *)  func_stripname_result=`$ECHO "X${3}" \
+           | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;;
+  esac
+}
+
+# sed scripts:
+my_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q'
+my_sed_long_arg='1s/^-[[^=]]*=//'
+
+# func_opt_split
+func_opt_split ()
+{
+  func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"`
+  func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"`
+}
+
+# func_lo2o object
+func_lo2o ()
+{
+  func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
+}
+
+# func_xform libobj-or-source
+func_xform ()
+{
+  func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[[^.]]*$/.lo/'`
+}
+
+# func_arith arithmetic-term...
+func_arith ()
+{
+  func_arith_result=`expr "$[@]"`
+}
+
+# func_len string
+# STRING may not start with a hyphen.
+func_len ()
+{
+  func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len`
+}
+
+_LT_EOF
+esac
+
+case $lt_shell_append in
+  yes)
+    cat << \_LT_EOF >> "$cfgfile"
+
+# func_append var value
+# Append VALUE to the end of shell variable VAR.
+func_append ()
+{
+  eval "$[1]+=\$[2]"
+}
+_LT_EOF
+    ;;
+  *)
+    cat << \_LT_EOF >> "$cfgfile"
+
+# func_append var value
+# Append VALUE to the end of shell variable VAR.
+func_append ()
+{
+  eval "$[1]=\$$[1]\$[2]"
+}
+
+_LT_EOF
+    ;;
+  esac
+])
diff -pruN uptimed-0.3.16.orig/m4/ltoptions.m4 uptimed-0.3.16/m4/ltoptions.m4
--- uptimed-0.3.16.orig/m4/ltoptions.m4	1970-01-01 00:00:00.000000000 +0000
+++ uptimed-0.3.16/m4/ltoptions.m4	2009-01-03 17:31:52.425895774 +0000
@@ -0,0 +1,368 @@
+# Helper functions for option handling.                    -*- Autoconf -*-
+#
+#   Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
+#   Written by Gary V. Vaughan, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 6 ltoptions.m4
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
+
+
+# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
+# ------------------------------------------
+m4_define([_LT_MANGLE_OPTION],
+[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
+
+
+# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
+# ---------------------------------------
+# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
+# matching handler defined, dispatch to it.  Other OPTION-NAMEs are
+# saved as a flag.
+m4_define([_LT_SET_OPTION],
+[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
+m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
+        _LT_MANGLE_DEFUN([$1], [$2]),
+    [m4_warning([Unknown $1 option `$2'])])[]dnl
+])
+
+
+# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
+# ------------------------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+m4_define([_LT_IF_OPTION],
+[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
+
+
+# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
+# -------------------------------------------------------
+# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
+# are set.
+m4_define([_LT_UNLESS_OPTIONS],
+[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
+	    [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
+		      [m4_define([$0_found])])])[]dnl
+m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
+])[]dnl
+])
+
+
+# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
+# ----------------------------------------
+# OPTION-LIST is a space-separated list of Libtool options associated
+# with MACRO-NAME.  If any OPTION has a matching handler declared with
+# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
+# the unknown option and exit.
+m4_defun([_LT_SET_OPTIONS],
+[# Set options
+m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
+    [_LT_SET_OPTION([$1], _LT_Option)])
+
+m4_if([$1],[LT_INIT],[
+  dnl
+  dnl Simply set some default values (i.e off) if boolean options were not
+  dnl specified:
+  _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
+  ])
+  _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
+  ])
+  dnl
+  dnl If no reference was made to various pairs of opposing options, then
+  dnl we run the default mode handler for the pair.  For example, if neither
+  dnl `shared' nor `disable-shared' was passed, we enable building of shared
+  dnl archives by default:
+  _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
+  _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
+  _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
+  _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
+  		   [_LT_ENABLE_FAST_INSTALL])
+  ])
+])# _LT_SET_OPTIONS
+
+
+## --------------------------------- ##
+## Macros to handle LT_INIT options. ##
+## --------------------------------- ##
+
+# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
+# -----------------------------------------
+m4_define([_LT_MANGLE_DEFUN],
+[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
+
+
+# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
+# -----------------------------------------------
+m4_define([LT_OPTION_DEFINE],
+[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
+])# LT_OPTION_DEFINE
+
+
+# dlopen
+# ------
+LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
+])
+
+AU_DEFUN([AC_LIBTOOL_DLOPEN],
+[_LT_SET_OPTION([LT_INIT], [dlopen])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the `dlopen' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
+
+
+# win32-dll
+# ---------
+# Declare package support for building win32 dll's.
+LT_OPTION_DEFINE([LT_INIT], [win32-dll],
+[enable_win32_dll=yes
+
+case $host in
+*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*)
+  AC_CHECK_TOOL(AS, as, false)
+  AC_CHECK_TOOL(DLLTOOL, dlltool, false)
+  AC_CHECK_TOOL(OBJDUMP, objdump, false)
+  ;;
+esac
+
+test -z "$AS" && AS=as
+_LT_DECL([], [AS],      [0], [Assembler program])dnl
+
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+_LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl
+
+test -z "$OBJDUMP" && OBJDUMP=objdump
+_LT_DECL([], [OBJDUMP], [0], [Object dumper program])dnl
+])# win32-dll
+
+AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+_LT_SET_OPTION([LT_INIT], [win32-dll])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the `win32-dll' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
+
+
+# _LT_ENABLE_SHARED([DEFAULT])
+# ----------------------------
+# implement the --enable-shared flag, and supports the `shared' and
+# `disable-shared' LT_INIT options.
+# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
+m4_define([_LT_ENABLE_SHARED],
+[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([shared],
+    [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
+	[build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
+    [p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_shared=yes ;;
+    no) enable_shared=no ;;
+    *)
+      enable_shared=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for pkg in $enableval; do
+	IFS="$lt_save_ifs"
+	if test "X$pkg" = "X$p"; then
+	  enable_shared=yes
+	fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac],
+    [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
+
+    _LT_DECL([build_libtool_libs], [enable_shared], [0],
+	[Whether or not to build shared libraries])
+])# _LT_ENABLE_SHARED
+
+LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
+
+# Old names:
+AC_DEFUN([AC_ENABLE_SHARED],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
+])
+
+AC_DEFUN([AC_DISABLE_SHARED],
+[_LT_SET_OPTION([LT_INIT], [disable-shared])
+])
+
+AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
+AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_ENABLE_SHARED], [])
+dnl AC_DEFUN([AM_DISABLE_SHARED], [])
+
+
+
+# _LT_ENABLE_STATIC([DEFAULT])
+# ----------------------------
+# implement the --enable-static flag, and support the `static' and
+# `disable-static' LT_INIT options.
+# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
+m4_define([_LT_ENABLE_STATIC],
+[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([static],
+    [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
+	[build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
+    [p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_static=yes ;;
+    no) enable_static=no ;;
+    *)
+     enable_static=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for pkg in $enableval; do
+	IFS="$lt_save_ifs"
+	if test "X$pkg" = "X$p"; then
+	  enable_static=yes
+	fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac],
+    [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
+
+    _LT_DECL([build_old_libs], [enable_static], [0],
+	[Whether or not to build static libraries])
+])# _LT_ENABLE_STATIC
+
+LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
+
+# Old names:
+AC_DEFUN([AC_ENABLE_STATIC],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
+])
+
+AC_DEFUN([AC_DISABLE_STATIC],
+[_LT_SET_OPTION([LT_INIT], [disable-static])
+])
+
+AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
+AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_ENABLE_STATIC], [])
+dnl AC_DEFUN([AM_DISABLE_STATIC], [])
+
+
+
+# _LT_ENABLE_FAST_INSTALL([DEFAULT])
+# ----------------------------------
+# implement the --enable-fast-install flag, and support the `fast-install'
+# and `disable-fast-install' LT_INIT options.
+# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
+m4_define([_LT_ENABLE_FAST_INSTALL],
+[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([fast-install],
+    [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
+    [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
+    [p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_fast_install=yes ;;
+    no) enable_fast_install=no ;;
+    *)
+      enable_fast_install=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for pkg in $enableval; do
+	IFS="$lt_save_ifs"
+	if test "X$pkg" = "X$p"; then
+	  enable_fast_install=yes
+	fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac],
+    [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
+
+_LT_DECL([fast_install], [enable_fast_install], [0],
+	 [Whether or not to optimize for fast installation])dnl
+])# _LT_ENABLE_FAST_INSTALL
+
+LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
+
+# Old names:
+AU_DEFUN([AC_ENABLE_FAST_INSTALL],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you put
+the `fast-install' option into LT_INIT's first parameter.])
+])
+
+AU_DEFUN([AC_DISABLE_FAST_INSTALL],
+[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you put
+the `disable-fast-install' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
+dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
+
+
+# _LT_WITH_PIC([MODE])
+# --------------------
+# implement the --with-pic flag, and support the `pic-only' and `no-pic'
+# LT_INIT options.
+# MODE is either `yes' or `no'.  If omitted, it defaults to `both'.
+m4_define([_LT_WITH_PIC],
+[AC_ARG_WITH([pic],
+    [AS_HELP_STRING([--with-pic],
+	[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
+    [pic_mode="$withval"],
+    [pic_mode=default])
+
+test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
+
+_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
+])# _LT_WITH_PIC
+
+LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
+LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
+
+# Old name:
+AU_DEFUN([AC_LIBTOOL_PICMODE],
+[_LT_SET_OPTION([LT_INIT], [pic-only])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the `pic-only' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
+
+## ----------------- ##
+## LTDL_INIT Options ##
+## ----------------- ##
+
+m4_define([_LTDL_MODE], [])
+LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
+		 [m4_define([_LTDL_MODE], [nonrecursive])])
+LT_OPTION_DEFINE([LTDL_INIT], [recursive],
+		 [m4_define([_LTDL_MODE], [recursive])])
+LT_OPTION_DEFINE([LTDL_INIT], [subproject],
+		 [m4_define([_LTDL_MODE], [subproject])])
+
+m4_define([_LTDL_TYPE], [])
+LT_OPTION_DEFINE([LTDL_INIT], [installable],
+		 [m4_define([_LTDL_TYPE], [installable])])
+LT_OPTION_DEFINE([LTDL_INIT], [convenience],
+		 [m4_define([_LTDL_TYPE], [convenience])])
diff -pruN uptimed-0.3.16.orig/m4/ltsugar.m4 uptimed-0.3.16/m4/ltsugar.m4
--- uptimed-0.3.16.orig/m4/ltsugar.m4	1970-01-01 00:00:00.000000000 +0000
+++ uptimed-0.3.16/m4/ltsugar.m4	2009-01-03 17:31:52.509151017 +0000
@@ -0,0 +1,123 @@
+# ltsugar.m4 -- libtool m4 base layer.                         -*-Autoconf-*-
+#
+# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
+# Written by Gary V. Vaughan, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 6 ltsugar.m4
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
+
+
+# lt_join(SEP, ARG1, [ARG2...])
+# -----------------------------
+# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
+# associated separator.
+# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
+# versions in m4sugar had bugs.
+m4_define([lt_join],
+[m4_if([$#], [1], [],
+       [$#], [2], [[$2]],
+       [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
+m4_define([_lt_join],
+[m4_if([$#$2], [2], [],
+       [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
+
+
+# lt_car(LIST)
+# lt_cdr(LIST)
+# ------------
+# Manipulate m4 lists.
+# These macros are necessary as long as will still need to support
+# Autoconf-2.59 which quotes differently.
+m4_define([lt_car], [[$1]])
+m4_define([lt_cdr],
+[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
+       [$#], 1, [],
+       [m4_dquote(m4_shift($@))])])
+m4_define([lt_unquote], $1)
+
+
+# lt_append(MACRO-NAME, STRING, [SEPARATOR])
+# ------------------------------------------
+# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
+# Note that neither SEPARATOR nor STRING are expanded; they are appended
+# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
+# No SEPARATOR is output if MACRO-NAME was previously undefined (different
+# than defined and empty).
+#
+# This macro is needed until we can rely on Autoconf 2.62, since earlier
+# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
+m4_define([lt_append],
+[m4_define([$1],
+	   m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
+
+
+
+# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
+# ----------------------------------------------------------
+# Produce a SEP delimited list of all paired combinations of elements of
+# PREFIX-LIST with SUFFIX1 through SUFFIXn.  Each element of the list
+# has the form PREFIXmINFIXSUFFIXn.
+# Needed until we can rely on m4_combine added in Autoconf 2.62.
+m4_define([lt_combine],
+[m4_if(m4_eval([$# > 3]), [1],
+       [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
+[[m4_foreach([_Lt_prefix], [$2],
+	     [m4_foreach([_Lt_suffix],
+		]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
+	[_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
+
+
+# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
+# -----------------------------------------------------------------------
+# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
+# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
+m4_define([lt_if_append_uniq],
+[m4_ifdef([$1],
+	  [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
+		 [lt_append([$1], [$2], [$3])$4],
+		 [$5])],
+	  [lt_append([$1], [$2], [$3])$4])])
+
+
+# lt_dict_add(DICT, KEY, VALUE)
+# -----------------------------
+m4_define([lt_dict_add],
+[m4_define([$1($2)], [$3])])
+
+
+# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
+# --------------------------------------------
+m4_define([lt_dict_add_subkey],
+[m4_define([$1($2:$3)], [$4])])
+
+
+# lt_dict_fetch(DICT, KEY, [SUBKEY])
+# ----------------------------------
+m4_define([lt_dict_fetch],
+[m4_ifval([$3],
+	m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
+    m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
+
+
+# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
+# -----------------------------------------------------------------
+m4_define([lt_if_dict_fetch],
+[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
+	[$5],
+    [$6])])
+
+
+# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
+# --------------------------------------------------------------
+m4_define([lt_dict_filter],
+[m4_if([$5], [], [],
+  [lt_join(m4_quote(m4_default([$4], [[, ]])),
+           lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
+		      [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
+])
diff -pruN uptimed-0.3.16.orig/m4/ltversion.m4 uptimed-0.3.16/m4/ltversion.m4
--- uptimed-0.3.16.orig/m4/ltversion.m4	1970-01-01 00:00:00.000000000 +0000
+++ uptimed-0.3.16/m4/ltversion.m4	2009-01-03 17:31:52.590020148 +0000
@@ -0,0 +1,23 @@
+# ltversion.m4 -- version numbers			-*- Autoconf -*-
+#
+#   Copyright (C) 2004 Free Software Foundation, Inc.
+#   Written by Scott James Remnant, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# Generated from ltversion.in.
+
+# serial 3012 ltversion.m4
+# This file is part of GNU Libtool
+
+m4_define([LT_PACKAGE_VERSION], [2.2.6])
+m4_define([LT_PACKAGE_REVISION], [1.3012])
+
+AC_DEFUN([LTVERSION_VERSION],
+[macro_version='2.2.6'
+macro_revision='1.3012'
+_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
+_LT_DECL(, macro_revision, 0)
+])
diff -pruN uptimed-0.3.16.orig/m4/lt~obsolete.m4 uptimed-0.3.16/m4/lt~obsolete.m4
--- uptimed-0.3.16.orig/m4/lt~obsolete.m4	1970-01-01 00:00:00.000000000 +0000
+++ uptimed-0.3.16/m4/lt~obsolete.m4	2009-01-03 17:31:52.680901832 +0000
@@ -0,0 +1,92 @@
+# lt~obsolete.m4 -- aclocal satisfying obsolete definitions.    -*-Autoconf-*-
+#
+#   Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc.
+#   Written by Scott James Remnant, 2004.
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 4 lt~obsolete.m4
+
+# These exist entirely to fool aclocal when bootstrapping libtool.
+#
+# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
+# which have later been changed to m4_define as they aren't part of the
+# exported API, or moved to Autoconf or Automake where they belong.
+#
+# The trouble is, aclocal is a bit thick.  It'll see the old AC_DEFUN
+# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
+# using a macro with the same name in our local m4/libtool.m4 it'll
+# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
+# and doesn't know about Autoconf macros at all.)
+#
+# So we provide this file, which has a silly filename so it's always
+# included after everything else.  This provides aclocal with the
+# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
+# because those macros already exist, or will be overwritten later.
+# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. 
+#
+# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
+# Yes, that means every name once taken will need to remain here until
+# we give up compatibility with versions before 1.7, at which point
+# we need to keep only those names which we still refer to.
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
+
+m4_ifndef([AC_LIBTOOL_LINKER_OPTION],	[AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
+m4_ifndef([AC_PROG_EGREP],		[AC_DEFUN([AC_PROG_EGREP])])
+m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH],	[AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
+m4_ifndef([_LT_AC_SHELL_INIT],		[AC_DEFUN([_LT_AC_SHELL_INIT])])
+m4_ifndef([_LT_AC_SYS_LIBPATH_AIX],	[AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
+m4_ifndef([_LT_PROG_LTMAIN],		[AC_DEFUN([_LT_PROG_LTMAIN])])
+m4_ifndef([_LT_AC_TAGVAR],		[AC_DEFUN([_LT_AC_TAGVAR])])
+m4_ifndef([AC_LTDL_ENABLE_INSTALL],	[AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
+m4_ifndef([AC_LTDL_PREOPEN],		[AC_DEFUN([AC_LTDL_PREOPEN])])
+m4_ifndef([_LT_AC_SYS_COMPILER],	[AC_DEFUN([_LT_AC_SYS_COMPILER])])
+m4_ifndef([_LT_AC_LOCK],		[AC_DEFUN([_LT_AC_LOCK])])
+m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE],	[AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
+m4_ifndef([_LT_AC_TRY_DLOPEN_SELF],	[AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
+m4_ifndef([AC_LIBTOOL_PROG_CC_C_O],	[AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
+m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
+m4_ifndef([AC_LIBTOOL_OBJDIR],		[AC_DEFUN([AC_LIBTOOL_OBJDIR])])
+m4_ifndef([AC_LTDL_OBJDIR],		[AC_DEFUN([AC_LTDL_OBJDIR])])
+m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
+m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP],	[AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
+m4_ifndef([AC_PATH_MAGIC],		[AC_DEFUN([AC_PATH_MAGIC])])
+m4_ifndef([AC_PROG_LD_GNU],		[AC_DEFUN([AC_PROG_LD_GNU])])
+m4_ifndef([AC_PROG_LD_RELOAD_FLAG],	[AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
+m4_ifndef([AC_DEPLIBS_CHECK_METHOD],	[AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
+m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
+m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
+m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
+m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS],	[AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
+m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP],	[AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
+m4_ifndef([LT_AC_PROG_EGREP],		[AC_DEFUN([LT_AC_PROG_EGREP])])
+m4_ifndef([LT_AC_PROG_SED],		[AC_DEFUN([LT_AC_PROG_SED])])
+m4_ifndef([_LT_CC_BASENAME],		[AC_DEFUN([_LT_CC_BASENAME])])
+m4_ifndef([_LT_COMPILER_BOILERPLATE],	[AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
+m4_ifndef([_LT_LINKER_BOILERPLATE],	[AC_DEFUN([_LT_LINKER_BOILERPLATE])])
+m4_ifndef([_AC_PROG_LIBTOOL],		[AC_DEFUN([_AC_PROG_LIBTOOL])])
+m4_ifndef([AC_LIBTOOL_SETUP],		[AC_DEFUN([AC_LIBTOOL_SETUP])])
+m4_ifndef([_LT_AC_CHECK_DLFCN],		[AC_DEFUN([_LT_AC_CHECK_DLFCN])])
+m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER],	[AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
+m4_ifndef([_LT_AC_TAGCONFIG],		[AC_DEFUN([_LT_AC_TAGCONFIG])])
+m4_ifndef([AC_DISABLE_FAST_INSTALL],	[AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
+m4_ifndef([_LT_AC_LANG_CXX],		[AC_DEFUN([_LT_AC_LANG_CXX])])
+m4_ifndef([_LT_AC_LANG_F77],		[AC_DEFUN([_LT_AC_LANG_F77])])
+m4_ifndef([_LT_AC_LANG_GCJ],		[AC_DEFUN([_LT_AC_LANG_GCJ])])
+m4_ifndef([AC_LIBTOOL_RC],		[AC_DEFUN([AC_LIBTOOL_RC])])
+m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
+m4_ifndef([_LT_AC_LANG_C_CONFIG],	[AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
+m4_ifndef([_LT_AC_LANG_CXX_CONFIG],	[AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
+m4_ifndef([_LT_AC_LANG_F77_CONFIG],	[AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
+m4_ifndef([_LT_AC_LANG_GCJ_CONFIG],	[AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
+m4_ifndef([_LT_AC_LANG_RC_CONFIG],	[AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
+m4_ifndef([AC_LIBTOOL_CONFIG],		[AC_DEFUN([AC_LIBTOOL_CONFIG])])
+m4_ifndef([_LT_AC_FILE_LTDLL_C],	[AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
diff -pruN uptimed-0.3.16.orig/man/Makefile.in uptimed-0.3.16/man/Makefile.in
--- uptimed-0.3.16.orig/man/Makefile.in	2009-01-03 17:27:13.926145324 +0000
+++ uptimed-0.3.16/man/Makefile.in	2009-01-03 17:32:52.847149200 +0000
@@ -34,7 +34,10 @@ host_triplet = @host@
 subdir = man
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
diff -pruN uptimed-0.3.16.orig/missing uptimed-0.3.16/missing
--- uptimed-0.3.16.orig/missing	2009-01-03 17:27:13.926145324 +0000
+++ uptimed-0.3.16/missing	2009-01-03 17:31:00.230019474 +0000
@@ -1,6 +1,10 @@
 #! /bin/sh
 # Common stub for a few missing GNU programs while installing.
-# Copyright 1996, 1997, 1999, 2000 Free Software Foundation, Inc.
+
+scriptversion=2006-05-10.23
+
+# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006
+#   Free Software Foundation, Inc.
 # Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
 
 # This program is free software; you can redistribute it and/or modify
@@ -15,8 +19,8 @@
 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
 
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
@@ -29,6 +33,8 @@ if test $# -eq 0; then
 fi
 
 run=:
+sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
+sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
 
 # In the cases where this matters, `missing' is being run in the
 # srcdir already.
@@ -38,18 +44,24 @@ else
   configure_ac=configure.in
 fi
 
-case "$1" in
+msg="missing on your system"
+
+case $1 in
 --run)
   # Try to run requested program, and just exit if it succeeds.
   run=
   shift
   "$@" && exit 0
+  # Exit code 63 means version mismatch.  This often happens
+  # when the user try to use an ancient version of a tool on
+  # a file that requires a minimum version.  In this case we
+  # we should proceed has if the program had been absent, or
+  # if --run hadn't been passed.
+  if test $? = 63; then
+    run=:
+    msg="probably too old"
+  fi
   ;;
-esac
-
-# If it does not exist, or fails to run (possibly an outdated version),
-# try to emulate it.
-case "$1" in
 
   -h|--h|--he|--hel|--help)
     echo "\
@@ -67,6 +79,7 @@ Supported PROGRAM values:
   aclocal      touch file \`aclocal.m4'
   autoconf     touch file \`configure'
   autoheader   touch file \`config.h.in'
+  autom4te     touch the output file, or create a stub one
   automake     touch all \`Makefile.in' files
   bison        create \`y.tab.[ch]', if possible, from existing .[ch]
   flex         create \`lex.yy.c', if possible, from existing .c
@@ -74,11 +87,15 @@ Supported PROGRAM values:
   lex          create \`lex.yy.c', if possible, from existing .c
   makeinfo     touch the output file
   tar          try tar, gnutar, gtar, then tar without non-portable flags
-  yacc         create \`y.tab.[ch]', if possible, from existing .[ch]"
+  yacc         create \`y.tab.[ch]', if possible, from existing .[ch]
+
+Send bug reports to <bug-automake@gnu.org>."
+    exit $?
     ;;
 
   -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
-    echo "missing 0.3 - GNU automake"
+    echo "missing $scriptversion (GNU Automake)"
+    exit $?
     ;;
 
   -*)
@@ -87,9 +104,44 @@ Supported PROGRAM values:
     exit 1
     ;;
 
-  aclocal)
+esac
+
+# Now exit if we have it, but it failed.  Also exit now if we
+# don't have it and --version was passed (most likely to detect
+# the program).
+case $1 in
+  lex|yacc)
+    # Not GNU programs, they don't have --version.
+    ;;
+
+  tar)
+    if test -n "$run"; then
+       echo 1>&2 "ERROR: \`tar' requires --run"
+       exit 1
+    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
+       exit 1
+    fi
+    ;;
+
+  *)
+    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
+       # We have it, but it failed.
+       exit 1
+    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
+       # Could not run --version or --help.  This is probably someone
+       # running `$TOOL --version' or `$TOOL --help' to check whether
+       # $TOOL exists and not knowing $TOOL uses missing.
+       exit 1
+    fi
+    ;;
+esac
+
+# If it does not exist, or fails to run (possibly an outdated version),
+# try to emulate it.
+case $1 in
+  aclocal*)
     echo 1>&2 "\
-WARNING: \`$1' is missing on your system.  You should only need it if
+WARNING: \`$1' is $msg.  You should only need it if
          you modified \`acinclude.m4' or \`${configure_ac}'.  You might want
          to install the \`Automake' and \`Perl' packages.  Grab them from
          any GNU archive site."
@@ -98,7 +150,7 @@ WARNING: \`$1' is missing on your system
 
   autoconf)
     echo 1>&2 "\
-WARNING: \`$1' is missing on your system.  You should only need it if
+WARNING: \`$1' is $msg.  You should only need it if
          you modified \`${configure_ac}'.  You might want to install the
          \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
          archive site."
@@ -107,7 +159,7 @@ WARNING: \`$1' is missing on your system
 
   autoheader)
     echo 1>&2 "\
-WARNING: \`$1' is missing on your system.  You should only need it if
+WARNING: \`$1' is $msg.  You should only need it if
          you modified \`acconfig.h' or \`${configure_ac}'.  You might want
          to install the \`Autoconf' and \`GNU m4' packages.  Grab them
          from any GNU archive site."
@@ -115,7 +167,7 @@ WARNING: \`$1' is missing on your system
     test -z "$files" && files="config.h"
     touch_files=
     for f in $files; do
-      case "$f" in
+      case $f in
       *:*) touch_files="$touch_files "`echo "$f" |
 				       sed -e 's/^[^:]*://' -e 's/:.*//'`;;
       *) touch_files="$touch_files $f.in";;
@@ -124,9 +176,9 @@ WARNING: \`$1' is missing on your system
     touch $touch_files
     ;;
 
-  automake)
+  automake*)
     echo 1>&2 "\
-WARNING: \`$1' is missing on your system.  You should only need it if
+WARNING: \`$1' is $msg.  You should only need it if
          you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
          You might want to install the \`Automake' and \`Perl' packages.
          Grab them from any GNU archive site."
@@ -135,71 +187,92 @@ WARNING: \`$1' is missing on your system
 	   while read f; do touch "$f"; done
     ;;
 
+  autom4te)
+    echo 1>&2 "\
+WARNING: \`$1' is needed, but is $msg.
+         You might have modified some files without having the
+         proper tools for further handling them.
+         You can get \`$1' as part of \`Autoconf' from any GNU
+         archive site."
+
+    file=`echo "$*" | sed -n "$sed_output"`
+    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+    if test -f "$file"; then
+	touch $file
+    else
+	test -z "$file" || exec >$file
+	echo "#! /bin/sh"
+	echo "# Created by GNU Automake missing as a replacement of"
+	echo "#  $ $@"
+	echo "exit 0"
+	chmod +x $file
+	exit 1
+    fi
+    ;;
+
   bison|yacc)
     echo 1>&2 "\
-WARNING: \`$1' is missing on your system.  You should only need it if
+WARNING: \`$1' $msg.  You should only need it if
          you modified a \`.y' file.  You may need the \`Bison' package
          in order for those modifications to take effect.  You can get
          \`Bison' from any GNU archive site."
     rm -f y.tab.c y.tab.h
-    if [ $# -ne 1 ]; then
+    if test $# -ne 1; then
         eval LASTARG="\${$#}"
-	case "$LASTARG" in
+	case $LASTARG in
 	*.y)
 	    SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
-	    if [ -f "$SRCFILE" ]; then
+	    if test -f "$SRCFILE"; then
 	         cp "$SRCFILE" y.tab.c
 	    fi
 	    SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
-	    if [ -f "$SRCFILE" ]; then
+	    if test -f "$SRCFILE"; then
 	         cp "$SRCFILE" y.tab.h
 	    fi
 	  ;;
 	esac
     fi
-    if [ ! -f y.tab.h ]; then
+    if test ! -f y.tab.h; then
 	echo >y.tab.h
     fi
-    if [ ! -f y.tab.c ]; then
+    if test ! -f y.tab.c; then
 	echo 'main() { return 0; }' >y.tab.c
     fi
     ;;
 
   lex|flex)
     echo 1>&2 "\
-WARNING: \`$1' is missing on your system.  You should only need it if
+WARNING: \`$1' is $msg.  You should only need it if
          you modified a \`.l' file.  You may need the \`Flex' package
          in order for those modifications to take effect.  You can get
          \`Flex' from any GNU archive site."
     rm -f lex.yy.c
-    if [ $# -ne 1 ]; then
+    if test $# -ne 1; then
         eval LASTARG="\${$#}"
-	case "$LASTARG" in
+	case $LASTARG in
 	*.l)
 	    SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
-	    if [ -f "$SRCFILE" ]; then
+	    if test -f "$SRCFILE"; then
 	         cp "$SRCFILE" lex.yy.c
 	    fi
 	  ;;
 	esac
     fi
-    if [ ! -f lex.yy.c ]; then
+    if test ! -f lex.yy.c; then
 	echo 'main() { return 0; }' >lex.yy.c
     fi
     ;;
 
   help2man)
     echo 1>&2 "\
-WARNING: \`$1' is missing on your system.  You should only need it if
+WARNING: \`$1' is $msg.  You should only need it if
 	 you modified a dependency of a manual page.  You may need the
 	 \`Help2man' package in order for those modifications to take
 	 effect.  You can get \`Help2man' from any GNU archive site."
 
-    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
-    if test -z "$file"; then
-	file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
-    fi
-    if [ -f "$file" ]; then
+    file=`echo "$*" | sed -n "$sed_output"`
+    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+    if test -f "$file"; then
 	touch $file
     else
 	test -z "$file" || exec >$file
@@ -209,54 +282,58 @@ WARNING: \`$1' is missing on your system
     ;;
 
   makeinfo)
-    if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then
-       # We have makeinfo, but it failed.
-       exit 1
-    fi
-
     echo 1>&2 "\
-WARNING: \`$1' is missing on your system.  You should only need it if
+WARNING: \`$1' is $msg.  You should only need it if
          you modified a \`.texi' or \`.texinfo' file, or any other file
          indirectly affecting the aspect of the manual.  The spurious
          call might also be the consequence of using a buggy \`make' (AIX,
          DU, IRIX).  You might want to install the \`Texinfo' package or
          the \`GNU make' package.  Grab either from any GNU archive site."
-    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
+    # The file to touch is that specified with -o ...
+    file=`echo "$*" | sed -n "$sed_output"`
+    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
     if test -z "$file"; then
-      file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
-      file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
-    fi
+      # ... or it is the one specified with @setfilename ...
+      infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
+      file=`sed -n '
+	/^@setfilename/{
+	  s/.* \([^ ]*\) *$/\1/
+	  p
+	  q
+	}' $infile`
+      # ... or it is derived from the source name (dir/f.texi becomes f.info)
+      test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
+    fi
+    # If the file does not exist, the user really needs makeinfo;
+    # let's fail without touching anything.
+    test -f $file || exit 1
     touch $file
     ;;
 
   tar)
     shift
-    if test -n "$run"; then
-      echo 1>&2 "ERROR: \`tar' requires --run"
-      exit 1
-    fi
 
     # We have already tried tar in the generic part.
     # Look for gnutar/gtar before invocation to avoid ugly error
     # messages.
     if (gnutar --version > /dev/null 2>&1); then
-       gnutar ${1+"$@"} && exit 0
+       gnutar "$@" && exit 0
     fi
     if (gtar --version > /dev/null 2>&1); then
-       gtar ${1+"$@"} && exit 0
+       gtar "$@" && exit 0
     fi
     firstarg="$1"
     if shift; then
-	case "$firstarg" in
+	case $firstarg in
 	*o*)
 	    firstarg=`echo "$firstarg" | sed s/o//`
-	    tar "$firstarg" ${1+"$@"} && exit 0
+	    tar "$firstarg" "$@" && exit 0
 	    ;;
 	esac
-	case "$firstarg" in
+	case $firstarg in
 	*h*)
 	    firstarg=`echo "$firstarg" | sed s/h//`
-	    tar "$firstarg" ${1+"$@"} && exit 0
+	    tar "$firstarg" "$@" && exit 0
 	    ;;
 	esac
     fi
@@ -270,10 +347,10 @@ WARNING: I can't seem to be able to run 
 
   *)
     echo 1>&2 "\
-WARNING: \`$1' is needed, and you do not seem to have it handy on your
-         system.  You might have modified some files without having the
+WARNING: \`$1' is needed, and is $msg.
+         You might have modified some files without having the
          proper tools for further handling them.  Check the \`README' file,
-         it often tells you about the needed prerequirements for installing
+         it often tells you about the needed prerequisites for installing
          this package.  You may also peek at any GNU archive site, in case
          some other package would contain this missing \`$1' program."
     exit 1
@@ -281,3 +358,10 @@ WARNING: \`$1' is needed, and you do not
 esac
 
 exit 0
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
diff -pruN uptimed-0.3.16.orig/src/Makefile.am uptimed-0.3.16/src/Makefile.am
--- uptimed-0.3.16.orig/src/Makefile.am	2009-01-03 17:27:13.924902051 +0000
+++ uptimed-0.3.16/src/Makefile.am	2009-01-03 17:30:18.846022188 +0000
@@ -14,4 +14,4 @@ noinst_HEADERS = uprecords.h uptimed.h
 EXTRA_DIST = getopt.c getopt.h
   
 uptimed.o uprecords.o:
-CFLAGS = @CFLAGS@ -DFILE_CONFIG=\"$(sysconfdir)/uptimed.conf\"
+AM_CFLAGS = @CFLAGS@ -DFILE_CONFIG=\"$(sysconfdir)/uptimed.conf\"
diff -pruN uptimed-0.3.16.orig/src/Makefile.in uptimed-0.3.16/src/Makefile.in
--- uptimed-0.3.16.orig/src/Makefile.in	2009-01-03 17:27:13.924902051 +0000
+++ uptimed-0.3.16/src/Makefile.in	2009-01-03 17:32:52.927144339 +0000
@@ -39,7 +39,10 @@ subdir = src
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in getopt.c
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -84,7 +87,7 @@ AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
 CC = @CC@
 CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@ -DFILE_CONFIG=\"$(sysconfdir)/uptimed.conf\"
+CFLAGS = @CFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
 CYGPATH_W = @CYGPATH_W@
@@ -192,6 +195,7 @@ uprecords_LDADD = @LIBOBJS@ $(top_buildd
 INCLUDES = -I$(top_srcdir)/libuptimed
 noinst_HEADERS = uprecords.h uptimed.h
 EXTRA_DIST = getopt.c getopt.h
+AM_CFLAGS = @CFLAGS@ -DFILE_CONFIG=\"$(sysconfdir)/uptimed.conf\"
 all: all-am
 
 .SUFFIXES:

Added contrib/upx/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: Ultimate Packer for eXecutables.
# URL: http://upx.sourceforge.net/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Younes Hafri, ycrux at club-internet dot fr
# Depends on: ucl lzo zlib

name=upx
version=3.08
release=1
source=(http://downloads.sourceforge.net/project/$name/$name/$version/$name-$version-src.tar.bz2)

build() {
	cd $name-$version-src
	make -C doc
	make -C src
	install -m 0644 -D doc/upx.1 $PKG/usr/man/man1/upx.1
	install -m 0755 -D src/upx.out $PKG/usr/bin/upx
}

Added contrib/urlview/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description: Extracts URLs from text 
# URL:         ftp://ftp.mutt.org/pub/mutt/contrib/
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    Simon Glossner, viper at hometux dot de
# Depends on:  ncurses

name=urlview
version=0.9
release=1
source=(ftp://ftp.mutt.org/pub/mutt/contrib/${name}-${version}.tar.gz \
  ${name}-${version}.patch)

build () {
    cd $name-$version
    
    mkdir -p $PKG/usr/man/man1
    patch -p1 < ../$name-$version.patch
    
    ./configure --prefix=/usr
    make
    make DESTDIR=$PKG install
}

Added contrib/urlview/urlview-0.9.patch.























>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
--- urlview-0.9/Makefile.in	2000-07-04 12:16:37.000000000 +0200
+++ urlview-0.9-new/Makefile.in	2006-04-18 15:11:29.000000000 +0200
@@ -318,7 +318,7 @@
 
 
 install-data-local:
-	$(INSTALL_DATA) urlview.man $(mandir)/man1/urlview.1
+	$(INSTALL_DATA) urlview.man $(DESTDIR)$(mandir)/man1/urlview.1
 
 # how to create a target for uninstall-data-local???
 

Added contrib/usb_modeswitch/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description:  Activating switchable USB devices on Linux
# URL:          http://www.draisberghof.de/usb_modeswitch/
# Maintainer:   Moritz Wilhelmy, moritz plus crux at wzff dot de
# Depends on:   libusb
# Nice to have: tclsh

name=usb_modeswitch
version=1.1.5
release=2
source=("http://www.draisberghof.de/usb_modeswitch/usb-modeswitch-$version.tar.bz2"
      "http://www.draisberghof.de/usb_modeswitch/usb-modeswitch-data-20101202.tar.bz2")

build () {
  mkdir -p $PKG/lib/udev/usb_modeswitch 
  cd usb-modeswitch-$version
  make DESTDIR=$PKG MANDIR=$PKG/usr/man/man1 all install

  cd ../usb-modeswitch-data-*
  sed -i 's:RUN+="usb_modeswitch:RUN+="/usr/sbin/usb_modeswitch:g' \
    40-usb_modeswitch.rules 
  make DESTDIR=$PKG MANDIR=$PKG/usr/man/man1 install
}

Added contrib/usb_modeswitch/README.













>
>
>
>
>
>
1
2
3
4
5
6
You probably want to exclude /etc/usb_modeswitch.d from pkgadd.conf like this:

UPGRADE		^etc/usb_modeswitch\.d/.*$		YES

to avoid annoying rejmerges. These files are not really meant for
configuration.

Added contrib/usemod/Pkgfile.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Description: Simple, but fast and widely used WikiWiki clone written in Perl
# URL:         http://www.usemod.com/cgi-bin/wiki.pl
# Maintainer:  Juergen Daubert, juergen dot daubert at t-online dot de
# Depends on:  perl, apache

name=usemod
version=1.0.4
release=1
source=(http://www.usemod.com/wikicode/$name-$version.tar.gz)

build () {
    cd $name-$version
    install -d $PKG/var/www/{cgi-bin,$name/pub}
    install -d -o www $PKG/var/www/$name
    chmod 0700 $PKG/var/www/$name
    install -m 755 wiki.pl $PKG/var/www/cgi-bin
    install -g www -m 640 config $PKG/var/www/$name
    cp wiki.{gif,css} $PKG/var/www/$name/pub
    sed -i '/^\$LogoUrl/s|\"[^;]*\"|\"/pub/wiki.gif\"|' \
           $PKG/var/www/$name/config
    sed -i '/^\$DataDir/s|\"[^;]*\"|\"/var/www/usemod\"|' \
           $PKG/var/www/cgi-bin/wiki.pl
}

Added contrib/usemod/README.

























































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
README for usemod 1.x

REQUIREMENTS

PRE-INSTALL

POST-INSTALL

1. Add the following directives to httpd.conf:

   <Directory /var/www/usemod/>
      Options None
      AllowOverride None
      Order deny,allow
      Deny from all
   </Directory>

   Alias /pub /var/www/usemod/pub/
   
   <Directory /var/www/usemod/pub/>
      Options None
      Allow from all
   </Directory>

2. If you have mod_perl installed, which gives an huge 
   performance boost, you should add this too:

   LoadModule perl_module lib/apache/mod_perl.so

   Alias /wiki /var/www/cgi-bin/wiki.pl

   <Location /wiki>
      SetHandler perl-script
      PerlResponseHandler ModPerl::Registry
      PerlOptions +ParseHeaders
      Options ExecCGI
   </Location>

3. Point you browser to http://<your_host_name>/wiki
   (mod_perl) or http://<your_host_name>cgi-bin/wiki.pl
   and enjoy ;-)

PRECAUTION

Added contrib/utidylib/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: TidyLib Python wrapper.
# URL: http://pypi.python.org/pypi/uTidylib
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com
# Depends on: python tidy

name=utidylib
version=0.2
release=1
source=(http://www.hvlinux.net/crux/distfiles/$name/uTidylib-$version.zip)

build() {
	cd uTidylib-$version
	python setup.py install --root=$PKG
}

Added contrib/vala/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: self-hosting compiler that translates Vala source code into C
# URL:         http://live.gnome.org/Vala
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Depends on:  glib

name=vala
version=0.16.0
release=1
source=(http://download.gnome.org/sources/vala/0.16/vala-$version.tar.xz)

build() {
  cd $name-$version
  ./configure --prefix=/usr \
              --mandir=/usr/man
  make
  make install DESTDIR=$PKG
  rm -r $PKG/usr/share/devhelp
}

Added contrib/vcdimager/Pkgfile.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Description: Create (S)VCDs. 
# URL: http://www.gnu.org/software/vcdimager/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Hannes Mayer, kontakt at ecarux de
# Depends on: libcdio libxml2 popt

name=vcdimager
version=0.7.24
release=1
source=(http://mirror.aarnet.edu.au/pub/gnu/$name/$name-$version.tar.gz)

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--mandir=/usr/man  

	make 
	make DESTDIR=$PKG install
	rm -r $PKG/usr/share/info
	rmdir $PKG/usr/share
}

Added contrib/vdpau-video/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: VDPAU back-end for NVIDIA and VIA chipsets.
# URL: http://www.splitted-desktop.com/~gbeauchesne/vdpau-video/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com
# Depends on: libva libvdpau

name=vdpau-video
version=0.7.3
release=1
source=(http://www.splitted-desktop.com/~gbeauchesne/$name/$name-$version.tar.gz)

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--enable-glx

	make
	make DESTDIR=$PKG install
}

Added contrib/videotrans/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: Set of scripts that convert a movie file in any format that mplayer understands to a DVD-compatible VOB file.
# URL: http://videotrans.sourceforge.net/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com
# Depends on: dvdauthor imagemagick mjpegtools mplayer

name=videotrans
version=1.6.1
release=1
source=(http://downloads.sourceforge.net/project/$name/$name/$version/$name-$version.tar.bz2)

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added contrib/virtualbox/60-vboxdrv.rules.











>
>
>
>
>
1
2
3
4
5
#
# /etc/udev/rules.d/60-vboxdrv.rules: VirtualBox udev rules
#

KERNEL=="vboxdrv", NAME="vboxdrv", OWNER="root", GROUP="vboxusers", MODE="0660"

Added contrib/virtualbox/Pkgfile.























































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# Description: VirtualBox is a general-purpose full virtualizer for x86 hardware.
# URL: http://www.virtualbox.org/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Jose V Beneyto, sepen at crux dot nu
# Depends on: bin86 dev86 hal libsdl libidl qt4 xerces-c iasl xorg-libxmu libcap makeself

name=virtualbox
version=4.1.4
release=1
source=(http://download.virtualbox.org/$name/${version%-*}/VirtualBox-${version}.tar.bz2 \
        $name 60-vboxdrv.rules $name.desktop)

build() {
  # environment value
  [ ! -z $KERN_DIR ] && KARG="KERN_DIR=$KERN_DIR"

  cd VirtualBox-${version}_OSE

  sed -i Config.kmk \
      -e "s|VBOX_WITH_WARNINGS_AS_ERRORS = 1|VBOX_WITH_WARNINGS_AS_ERRORS =|g" \
      -e "s|VBOX_WITH_PAM = 1|VBOX_WITH_PAM =|g"

  sed -i src/VBox/Devices/PC/vbox.dsl \
      -e 's|Name (_CID, "smc-napa")|Name (_CID, "smcnapa")|'

  # compile
  ./configure --with-qt4-dir=/usr/share/qt4 \
              --disable-hardening \
              --ose \
              --disable-pulse \
              --disable-python \
              --disable-java \
              --disable-docs

  source ./env.sh
  kmk all

  # compile kernel modules
  cd out/linux.x86/release/bin/src
  make $KARG

  # install kernel modules
  install -d $PKG/lib/modules/$(uname -r)/kernel/drivers/misc
  install -m 0644 *.ko $PKG/lib/modules/$(uname -r)/kernel/drivers/misc

  # remove superfluous files
  rm -rf $SRC/VirtualBox-${version%-*}_OSE/out/linux.x86/release/bin/{sdk/samples,testcase,nls*}
  find $SRC/VirtualBox-${version%-*}_OSE/out/linux.x86/release/bin -type f -name 'tst*' -exec rm -rf {} \;

  # do the rest
  install -D -m 0644 $SRC/60-vboxdrv.rules $PKG/etc/udev/rules.d/60-vboxdrv.rules
  install -d $PKG/usr/{bin,share/$name,share/pixmaps}
  install -m 0755 $SRC/$name $PKG/usr/bin/$name
  mv $SRC/VirtualBox-${version%-*}_OSE/out/linux.x86/release/{bin,lib} $PKG/usr/share/$name
  chmod +s $PKG/usr/share/$name/bin/VirtualBox
  install -D -m 0644 $SRC/$name.desktop $PKG/usr/share/applications/$name.desktop
  mv $PKG/usr/share/$name/bin/VBox.png $PKG/usr/share/pixmaps/$name.png
  rm $PKG/usr/share/$name/bin/{VBox.sh,SUP*nstall}
}

Added contrib/virtualbox/README.



































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49

README for virtualbox


REQUIREMENTS

  Kernel headers needed to build virtualbox's modules.


PRE-INSTALL


POST-INSTALL

  Run the post-install script in order to add a vboxusers group to your system.
  After that, add your user to the vboxusers group:
  # usermod -a -G vboxusers <your_user> 
  
  During installation 'vboxdrv.ko' has been installed to your modules directory
  and you can load it using modprobe vboxdrv (needed before run VirtualBox).
  Also make sure you give yourself read and write access to /dev/vboxdrv.
  For this, virtualbox port has their own udev rules.

  Also is a good idea to fine tune your udev rules as you want.
  For getting some info from your system run udevinfo:
  # udevinfo -a -p /sys/class/misc/vboxdrv

  Udevinfo starts with the device specified by the devpath and then
  walks up the chain of parent devices. It prints for every device
  found, all possible attributes in the udev rules key format.
  A rule to match, can be composed by the attributes of the device
  and the attributes from one single parent device.

    looking at device '/class/misc/vboxdrv':
    KERNEL=="vboxdrv"
    SUBSYSTEM=="misc"
    SYSFS{dev}=="10:62"


PRECAUTION

 Virtualbox by default uses /usr/src/linux as the source directory of your Linux kernel.
 To use an alternative kernel directory you should type something like:
 # env KERN_DIR=/not-default-path/src/linux pkgmk

 If you have problems trying to update virtualbox (xalan-c not found...) use
 this command to solve it:
 # prt-get update -fr xerces-c xalan-c
 and then rebuild virtualbox

Added contrib/virtualbox/post-install.



















>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
#!/bin/sh

# check for vboxusers group or add one if not exists
/usr/bin/getent group vboxusers || /usr/sbin/groupadd vboxusers

# regenerate module dependencies
/sbin/depmod

# End of File

Added contrib/virtualbox/virtualbox.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/bin/sh

if [ ! -z "`/usr/bin/pgrep VBoxSVC`" ]; then
  echo "Error, virtualbox is already running."
  exit 1
fi

if [ -z "`/sbin/lsmod | /usr/bin/grep vboxdrv`" ]; then
  echo "Error, vboxdrv kernel modules isn't loaded."
  exit 1
fi

VBOX_PATH=/usr/share/virtualbox/bin
export LD_LIBRARY_PATH=${VBOX_PATH}:${LD_LIBRARY_PATH}

cd ${VBOX_PATH}
./VBoxSVC &>/dev/null &
sleep 2
./VirtualBox
cd - &> /dev/null

/usr/bin/pkill VBoxSVC || /bin/kill -9 `/usr/bin/pgrep VBoxSVC`

# End of File

Added contrib/virtualbox/virtualbox.desktop.



















>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
[Desktop Entry]
Encoding=UTF-8
Name=VirtualBox
Comment=Full virtualizer for x86 hardware
Exec=/usr/bin/virtualbox
Icon=virtualbox.png
Terminal=false
Type=Application
Categories=Emulators;

Added contrib/vitetris/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: Terminal-based Tetris clone
# URL: http://victornils.net/tetris/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Jose V Beneyto, sepen at crux dot nu
# Depends on:

name=vitetris
version=0.57
release=1
source=(http://victornils.net/tetris/$name-$version.tar.gz)

build() {
  cd $name-$version
  ./configure --prefix=/usr \
              --pixmapdir=/usr/share/pixmaps \
              --desktopdir=/usr/share/applications
  make
  make DESTDIR=$PKG install
  rm -r $PKG/usr/share/doc
}

Added contrib/vlc/Pkgfile.























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# Description: The cross-platform media player and streaming server
# URL: http://www.videolan.org/vlc/
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager: Matt Housh, jaeger at morpheus dot net
# Depends on: libmad, ffmpeg, qt4, libdvdnav, liba52, libgcrypt

name=vlc
version=2.0.1
release=1
source=(http://download.videolan.org/pub/videolan/$name/$version/$name-$version.tar.xz)

build() {
	cd $name-$version

	./configure --prefix=/usr \
    --mandir=/usr/man \
		--disable-nls \
		--disable-fribidi \
		--disable-httpd \
		--disable-dbus \
		--enable-alsa \
		--disable-remoteosd \
		--disable-lua
	make
	make DESTDIR=$PKG install
  rm -rf $PKG/usr/share/doc
}

Added contrib/vobcopy/Pkgfile.



















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# Description: Extract DVD .vob files.
# URL: http://vobcopy.org/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Martin Opel, mo at obbl-net dot de
# Depends on: libdvdnav

name=vobcopy
version=1.2.0
release=1
source=(http://vobcopy.org/download/vobcopy-$version.tar.bz2
	vobcopy-1.2.0_hardcode-tries-to-1.patch)

build() {
	cd $name-$version
	patch -p 1 -i $SRC/vobcopy-1.2.0_hardcode-tries-to-1.patch
	sh ./configure.sh --prefix=$PKG/usr
	make
	make install

	rm -r \
		$PKG/usr/man/de \
		$PKG/usr/share/doc

	rmdir $PKG/usr/share
}

Added contrib/vobcopy/vobcopy-1.2.0_hardcode-tries-to-1.patch.

























>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
diff -pruN vobcopy-1.2.0.orig/vobcopy.c vobcopy-1.2.0/vobcopy.c
--- vobcopy-1.2.0.orig/vobcopy.c	2009-11-07 16:13:48.000426908 +1100
+++ vobcopy-1.2.0/vobcopy.c	2009-11-07 16:16:03.144426444 +1100
@@ -1812,7 +1812,7 @@ The man replies, "I was talking to the s
 
 	  while( ( blocks = DVDReadBlocks( dvd_file,( offset + seek_start ), file_block_count, bufferin ) ) <= 0 && tries < 10 )
 	    {
-	      if( tries == 9 )
+	      if( tries == 1 )
 		{
 		  offset += file_block_count;
 		  skipped_blocks +=1;

Added contrib/vpnclient/Pkgfile.





















































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# Description: Cisco VPN Client 
# URL: http://www.cisco.com/en/US/products/sw/secursw/ps2308/
# Maintainer: Rene Lengwinat, rugek at dirtyhack dot net

name=vpnclient
version=4.6.00.0045-k9
release=1

source=($name-linux-$version.tar.gz \
      vpnclient.patch)

build () {
  cd $name
  cp $SRC/vpnclient.patch .
  patch -p0 < vpnclient.patch
  make
  
  # create directories
  mkdir -p $PKG/etc/opt/cisco-vpnclient/Profiles
  mkdir -p $PKG/usr/bin
  for dir in bin lib include; do
    mkdir -p $PKG/opt/cisco-vpnclient/$dir
  done

  # install binaries
  for binary in vpnclient cisco_cert_mgr ipseclog cvpnd; do
    cp $binary $PKG/opt/cisco-vpnclient/bin
    ln -s /opt/cisco-vpnclient/bin/$binary $PKG/usr/bin/$binary
  done
  
  # library
  cp libvpnapi.so $PKG/opt/cisco-vpnclient/lib

  # header
  cp vpnapi.h $PKG/opt/cisco-vpnclient/include

  # module
  test ! -d $PKG/lib/modules/`uname -r`/extra && mkdir -p $PKG/lib/modules/`uname -r`/extra 
  cp cisco_ipsec.ko $PKG/lib/modules/`uname -r`/extra
  
}

Added contrib/vpnclient/README.



>
1
You need the original vpnclient from cisco.com. Just copy it into this directory and start build.

Added contrib/vpnclient/vpnclient.patch.











































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
--- interceptor.c.orig	2005-05-11 18:48:42.000000000 +0200
+++ interceptor.c	2005-05-11 18:49:08.000000000 +0200
@@ -236,6 +236,24 @@
     dev_kfree_skb(skb);
     return 0;
 }
+
+static int
+inline supported_device(struct net_device* dev)
+{
+    int rc=0;
+
+    if(dev->type == ARPHRD_ETHER)
+    {
+        rc=1;
+    }
+    else if(dev->type == ARPHRD_PPP)
+    {
+        rc=1;
+    }
+
+    return rc;
+}
+
 static int
 add_netdev(struct net_device *dev)
 {
@@ -476,23 +494,6 @@
     s->rc = 0;
 }
 
-static int
-inline supported_device(struct net_device* dev)
-{
-    int rc=0;
-
-    if(dev->type == ARPHRD_ETHER)
-    {
-        rc=1;
-    }
-    else if(dev->type == ARPHRD_PPP)
-    {
-        rc=1;
-    }
-
-    return rc;
-}
-
 
 static BINDING *
 getbindingbydev(struct net_device *dev)
@@ -604,7 +605,7 @@
     if (skb->ip_summed == CHECKSUM_HW)
     {
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,7)
-       if (skb_checksum_help(&skb,1))
+       if (skb_checksum_help(skb,1))
        {
            dev_kfree_skb(skb);
            skb = NULL;
@@ -729,7 +730,7 @@
     if (skb->ip_summed == CHECKSUM_HW)
     {
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,7)
-       if (skb_checksum_help(&skb,0))
+       if (skb_checksum_help(skb,0))
 #else
        if ((skb = skb_checksum_help(skb)) == NULL)
 #endif //LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,7)

Added contrib/warsow/Pkgfile.

































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# Description: Fast paced first person shooter game.
# URL: http://www.warsow.net/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Mark Rosenstand, mark at borkware dot net
# Depends on: libjpeg libsdl libvorbis xorg-libxxf86dga xorg-libxinerama

name=warsow
version=0.42
release=1
source=(http://tastyspleen.net/quake/downloads/mods/warsow/warsow_${version}_unified.zip
	http://tastyspleen.net/quake/downloads/mods/warsow/warsow_${version}_sdk.zip
	warsow.sh)

build() {
	cd ${name}_${version}_src

	sed -i source/qcommon/files.c \
		-e '/fs_basepath = Cvar_Get/s|"\."|"/usr/lib/warsow"|' \
		-e '/fs_usehomedir = Cvar_Get/s|"0"|"1"|'
	
	sed -i source/Makefile \
		-e 's|-I$(X11BASE)/include|-I$(X11BASE)/include/X11|g' \
		-e '/^all:/s| client openal qf ded cgame game ui irc tv_server| client openal qf cgame game ui irc |'

	make -C source clean

	make -C source \
		BUILD_SERVER=NO \
		BUILD_SND_OPENAL=NO \
		BUILD_TV_SERVER=NO \
		CLIENT_EXE=warsow \
		LOCALBASE=/usr \
		X11BASE=/usr

	install -d $PKG/usr/lib/warsow/libs $PKG/usr/bin/
	install -m 0755 $SRC/warsow.sh $PKG/usr/bin/warsow
	install -m 0755 ../warsow_${version}_unified/warsow.i386 $PKG/usr/lib/warsow/
	mv source/release/basewsw/*.so $PKG/usr/lib/warsow/libs/
	cp -r source/release/* $PKG/usr/lib/warsow/
	cp -r ../warsow_${version}_unified/basewsw/*.pk3 $PKG/usr/lib/warsow/basewsw/
	rm $PKG/usr/lib/warsow/warsow
	
	cd libsrcs/curl-*/
	chmod +x configure
	./configure --enable-ipv6 --disable-static
	make -C lib
	install -s -m 0755 lib/.libs/libcurl.so.3.0.0 $PKG/usr/lib/warsow/libs/libcurl.so.3
}

Added contrib/warsow/README.













>
>
>
>
>
>
1
2
3
4
5
6
* post-install:
	Try setting gl_ext_texture3D to "0" in ~/.warsow/basewsw/config.cfg
	if you see this error message:

		ERROR: R_Upload32_3D: texture (***r_dlighttexture***) is too
		large (resizing is not supported)

Added contrib/warsow/warsow.sh.









>
>
>
>
1
2
3
4
#!/usr/bin/env bash

cd /usr/lib/warsow
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:libs" ./warsow.i386

Added contrib/warzone2100/Pkgfile.























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# Description:	A real-time strategy game.
# URL: http://wz2100.net/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Mark Rosenstand, mark at borkware dot net
# Depends on: libjpeg libmad libpng libtheora openal physfs popt quesoglc sdl_net smpeg x11-fonts-dejavu

name=warzone2100
version=2.3.9
release=1
source=(http://downloads.sourceforge.net/project/$name/releases/$version/$name-$version.tar.gz)

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--mandir=/usr/man \
		--disable-nls

	make
	make DESTDIR=$PKG install
	rm -r $PKG/usr/share/doc

	rmdir \
		$PKG/usr/man/man6 \
		$PKG/usr/man
}

Added contrib/wavpack/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: Lossless audio compression software.
# URL: http://www.wavpack.com/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Jukka Heino, jukka dot heino at gmail dot com

name=wavpack
version=4.60.1
release=1
source=(http://www.wavpack.com/wavpack-$version.tar.bz2)

build() {
	cd wavpack-$version

	./configure \
		--prefix=/usr \
		--mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added contrib/wbar/Pkgfile.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Description: Quick launch bar
# URL: http://code.google.com/p/wbar/
# Maintainer: Bartlomiej Palmowski, rotwang at crux dot org dot pl
# Packager: Younes Hafri, ycrux at club-internet dot fr
# Depends on: imlib2

name=wbar
version=2.2.2
release=1
source=(http://$name.googlecode.com/files/$name-$version.tbz2)

build() {
  cd $name-$version
  sed -i configure \
      -e 's|DEFAULT_CONFIGDIR=.*|DEFAULT_CONFIGDIR=/usr/etc/wbar|g'
  
  ./configure --prefix=/usr \
              --mandir=/usr/man \
              --disable-nls

  make
  make DESTDIR=$PKG install
  rm -rf $PKG/usr/share/locale
}

Added contrib/wbar/README.

















>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8

README for wbar


POST-INSTALL

	The wbar-config utility requires gtk to be installed

Added contrib/webkit/Pkgfile.





























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# Description: Small, efficient and fast rendering engine for Web Browsers.
# URL: http://www.webkitgtk.org/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Brett Goulder, predatorfreak at dcaf-security dot org
# Depends on: enchant gst-plugins-base gtk icu libsoup xorg-libxdamage xorg-libxt

name=webkit
version=1.6.3
release=1
source=(http://webkitgtk.org/$name-$version.tar.xz)

build() {
	cd $name-$version

	# Don't force to -O2 but use CXXFLAGS
	sed -i -e 's/-O2//g' configure

	./configure \
		--prefix=/usr \
		--enable-video \
		--with-font-backend=freetype \
		--disable-gtk-doc \
		--enable-jit \
		--with-unicode-backend=icu \
		--with-gtk=2.0

	make
	make DESTDIR=$PKG install
	rm -r $PKG/usr/share/locale
}

Added contrib/wesnoth-server/Pkgfile.

































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# Description: Server for Wesnoth.
# URL: http://www.wesnoth.org/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com
# Depends on: boost cmake pango sdl_image sdl_mixer sdl_net sdl_ttf lua

name=wesnoth-server
version=1.10.1
release=1
source=(http://downloads.sourceforge.net/project/wesnoth/wesnoth-${version%.*}/wesnoth-$version/wesnoth-$version.tar.bz2
	wesnothd.rc)

build() {
	cd wesnoth-$version

	mkdir build
	cd build

	cmake ../ \
		-DCMAKE_INSTALL_PREFIX=/usr \
		-DMANDIR=/usr/man \
		-DENABLE_NLS=FALSE \
		-DENABLE_CAMPAIGN_SERVER=TRUE \
		-DENABLE_SERVER=TRUE \
		-DSERVER_UID=root \
		-DSERVER_GID=wesnothd \
		-DFIFO_DIR=/var/run/wesnothd

	make campaignd wesnothd
	make DESTDIR=$PKG install
	install -m 0755 -D $SRC/wesnothd.rc $PKG/etc/rc.d/wesnoth
	chown root:wesnothd $PKG/usr/bin/{wesnothd,campaignd}
	chmod 0740 -c $PKG/usr/bin/{wesnothd,campaignd}
	chmod 0770 -c $PKG/var/run/wesnothd

	rm \
		$PKG/usr/bin/wesnoth \
		$PKG/usr/man/man6/wesnoth.6 \
		$PKG/usr/share/applications/{wesnoth,wesnoth_editor}.desktop

	rm -r \
		$PKG/usr/share/doc \
		$PKG/usr/share/pixmaps \
		$PKG/usr/share/wesnoth/data \
		$PKG/usr/share/wesnoth

	rmdir $PKG/usr/share/applications $PKG/usr/share
}

Added contrib/wesnoth-server/README.









>
>
>
>
1
2
3
4
Notes:

	See wesnoth's pre-install script to save time downloading
	 a new wesnoth archive.

Added contrib/wesnoth-server/pre-install.



















































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/bin/sh
# Created by Danny Rawlins, monster dot romster at gmail dot com

GROUP=wesnothd
USER=wesnothd
USER_COMMENT="Wesnoth game server"
USER_HOME=/var/empty
USER_SHELL=/bin/sh

if [ ! $(id -u) = 0 ]; then
	echo "ERROR: you need to be root to run this!"
	exit 1
fi

if [ $GROUP ];	then
	if ! getent group $GROUP > /dev/null; then
		/usr/sbin/groupadd $GROUP
		if [ $? -eq 0 ]; then
			echo "Group: $GROUP added."
		fi
	else
		echo "Group: $GROUP already exists! Skipping."
	fi
fi
	
if ! getent passwd $USER > /dev/null; then
	/usr/sbin/useradd -g $GROUP -c "$USER_COMMENT" -d $USER_HOME -s $USER_SHELL $USER
	if [ $? -eq 0 ]; then
		echo "User: $USER added."
		/usr/bin/passwd -l $USER > /dev/null
		if [ $? -eq 0 ]; then
			echo "Locked: $USER account."
		fi
		else
			echo "ERROR: unable to lock $USER account."
			/usr/sbin/userdel $USER
	fi
	else
		echo "User: $USER already exists! Skipping."
fi

Added contrib/wesnoth-server/wesnothd.rc.

















































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#!/bin/sh
#
# /etc/rc.d/wesnoth: start/stop wesnothd daemon
#

# User settings here
DAEMON=wesnothd
RUN_AS_USER=wesnothd

RETVAL=0

case $1 in
start)
	echo -n "Starting $DAEMON..."
	su $RUN_AS_USER -c /usr/bin/$DAEMON > /dev/null & RETVAL=$?
	if [ $RETVAL = 0 ]; then
		echo " done."
	fi
	;;
stop)
	echo -n "Shutting down $DAEMON..."
	killall -q /usr/bin/$DAEMON
	RETVAL=$?
	echo " done."
	;;
restart)
	$0 stop
	sleep 2
	$0 start
	RETVAL=$?
	;;
*)
	echo "usage: $0 [start|stop|restart]"
	exit 1
	;;
esac

exit $RETVAL

# End of file

Added contrib/wesnoth/Pkgfile.













































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# Description: The Battle for Wesnoth is a turn-based strategy game with a fantasy theme.
# URL: http://www.wesnoth.org/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com
# Depends on: boost cmake pango sdl_image sdl_mixer sdl_net sdl_ttf lua

name=wesnoth
version=1.10.1
release=1
source=(http://downloads.sourceforge.net/project/$name/$name-${version%.*}/$name-$version/$name-$version.tar.bz2)

build() {
	cd $name-$version

	mkdir build
	cd build

	cmake ../ \
		-DCMAKE_INSTALL_PREFIX=/usr \
		-DMANDIR=/usr/man \
		-DENABLE_NLS=FALSE \
		-DENABLE_DESKTOP_ENTRY=TRUE \
		-DENABLE_CAMPAIGN_SERVER=FALSE \
		-DENABLE_SERVER=FALSE

	make
	make DESTDIR=$PKG install

	# wont run if you reamove README and COPYING
#	find $PKG/usr/share/wesnoth -type f \( \
#		-name 'README' -o \
#		-name 'COPYING.txt' -o \
#		-name 'COPYING' \
#	\) -exec rm {} +

	find $PKG -type d -exec chmod -c go-w {} +
	rm -r $PKG/usr/share/doc
}

Added contrib/wesnoth/README.















>
>
>
>
>
>
>
1
2
3
4
5
6
7
NOTE:

	There is a pre-install script to downlaod and patch wesnoth
	 if you have xdelta installed and the previous wesnoth source
	 file this saves downloading ~140MB and instead gets you a
	 ~1-10MB file.

Added contrib/wgetpaste/Pkgfile.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Description: Pipe commands to a pastebin site.
# URL: http://wgetpaste.zlin.dk/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com

name=wgetpaste
version=2.18
release=2
source=(http://wgetpaste.zlin.dk/$name-$version.tar.bz2
	http://wgetpaste.zlin.dk/zlin.conf)

build() {
	# adjust including files as per http://wgetpaste.zlin.dk/inst.bash
	cd $name-$version
	install -d $PKG/usr/bin $PKG/usr/etc/wgetpaste.d

	cat wgetpaste _wgetpaste \
	| sed 's|for f in {/etc/|for f in {/usr/etc/|' \
	| sed 's|/etc/wgetpaste.d|/usr/etc/wgetpaste.d|' \
	> $PKG/usr/bin/wgetpaste

	install -m 0644 $SRC/zlin.conf $PKG/usr/etc/wgetpaste.d
	chmod +x $PKG/usr/bin/wgetpaste
}

Added contrib/wicd/Pkgfile.

























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# Description: A wired and wireless network manager.
# URL: http://wicd.sourceforge.net/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Depends on: dbus-python pygtk

name=wicd 
version=1.7.1
release=1
source=(http://download.sourceforge.net/project/wicd/wicd-stable/$name-$version/$name-$version.tar.bz2
	wicd.rc)

build() {
	cd $name-$version

	python setup.py configure \
		--dbus=/usr/etc/dbus-1/system.d \
		--mandir=/usr/man \
		--etc=/etc/wicd

	python setup.py install --root=$PKG
	python -mcompileall $PKG
	install -m 0744 -D $SRC/wicd.rc $PKG/etc/rc.d/wicd

	rm -r \
		$PKG/etc/xdg \
		$PKG/usr/man/nl \
		$PKG/usr/share/doc
}

Added contrib/wicd/wicd.rc.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/bin/sh
#
# /etc/rc.d/wicd: start/stop wicd daemon
#

case $1 in
start)
	/usr/sbin/wicd
	;;
stop)
	killall -q /usr/sbin/wicd
	;;
restart)
	$0 stop
	$0 start
	;;
*)
	echo "usage: $0 [start|stop|restart]"
	exit 1
	;;
esac

# End of file

Added contrib/wmcalclock/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description: A Calendar clock applet with antialiased text.
# URL: http://www.dockapps.org/file.php/id/9
# Maintainer: Mikhail Kolesnik, mike at openbunker dot org
# Depends on: xorg-libxpm

name=wmcalclock
version=1.25
release=2
# author's page is gone
source=(http://www.cs.mun.ca/~gstarkes/wmaker/dockapps/files/wmCalClock-$version.tar.gz\
		wmCalClock-$version-makefile.patch \
		wmCalClock-increase-delay.patch)

build() {
	cd wmCalClock-$version
	patch -p1 -i $SRC/wmCalClock-$version-makefile.patch
	# allows to wake up less frequently
	patch -p1 -i $SRC/wmCalClock-increase-delay.patch
	cd Src
	make
	DEST=$PKG/usr make install
}

Added contrib/wmcalclock/wmCalClock-1.25-makefile.patch.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
diff -ru wmCalClock-1.25-orig/Src/Makefile wmCalClock-1.25/Src/Makefile
--- wmCalClock-1.25-orig/Src/Makefile	1999-03-27 08:46:38.000000000 +0200
+++ wmCalClock-1.25/Src/Makefile	2006-01-05 01:23:25.000000000 +0200
@@ -1,7 +1,7 @@
 CC     = gcc
 CFLAGS = -O2 -Wall
 INCDIR = -I/usr/X11R6/include/X11 -I/usr/X11R6/include
-DESTDIR= /usr/X11R6
+DESTDIR= ${DEST}
 LIBDIR = -L/usr/X11R6/lib
 
 # for Linux
@@ -31,6 +31,6 @@
 	rm -f wmCalClock
 
 install:: wmCalClock
-	install -c -s -m 0755 wmCalClock $(DESTDIR)/bin
-	install -c -m 0644 wmCalClock.1 $(DESTDIR)/man/man1 
+	install -c -s -m 0755 -D wmCalClock $(DESTDIR)/bin/wmCalClock
+	install -c -m 0644 -D wmCalClock.1 $(DESTDIR)/man/man1/wmCalClock.1
 

Added contrib/wmcalclock/wmCalClock-increase-delay.patch.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
diff -Nru wmCalClock-1.25-orig/Src/wmCalClock.c wmCalClock-1.25/Src/wmCalClock.c
--- wmCalClock-1.25-orig/Src/wmCalClock.c	2008-04-14 21:42:35.238408669 +0300
+++ wmCalClock-1.25/Src/wmCalClock.c	2008-04-14 21:44:51.431407346 +0300
@@ -104,7 +104,7 @@
 /* 
  *  Delay between refreshes (in microseconds) 
  */
-#define DELAY 10000L
+#define DELAY 200000L
 #define WMCALCLOCK_VERSION "1.25"
 
 
@@ -729,9 +729,9 @@
 	if( HasExecute == 1) {
 	  usleep(DELAY);
 	} else if( ShowSeconds == 1) {
-	  usleep( 200000L);
-	} else {
 	  usleep( 500000L);
+	} else {
+	  usleep( 1000000L);
 	}
 
 

Added contrib/wmctrl/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: A cli tool to interact with an EWMH/NetWM compatible wm
# URL: http://tomas.styblo.name/wmctrl/
# Maintainer: Mikhail Kolesnik, mike at openbunker dot org
# Depends on: glib xorg-libxmu

name=wmctrl
version=1.07
release=1
source=(http://tomas.styblo.name/wmctrl/dist/$name-$version.tar.gz)

build() {
	cd $name-$version
	./configure --prefix=/usr --disable-nls
	make
	make DESTDIR=$PKG install
}

Added contrib/wmtop/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: A dockapp that is a mini graphical version of the cpu monitoring utility top
# URL: http://wmtop.sourceforge.net/
# Maintainer: Mikhail Kolesnik, mike at openbunker dot org
# Depends on: xorg-libxpm

name=wmtop
version=0.84
release=2
source=(http://www.dockapps.org/files/50/81/$name-$version.tar.bz2 \
		$name-$version-makefile.patch)

build() {
	cd $name-$version
	patch -p1 -i $SRC/$name-$version-makefile.patch
	make linux
	make DESTDIR=$PKG install
}

Added contrib/wmtop/wmtop-0.84-makefile.patch.



























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
diff -ru wmtop-0.84-orig/Makefile wmtop-0.84/Makefile
--- wmtop-0.84-orig/Makefile	2001-03-06 23:30:55.000000000 +0200
+++ wmtop-0.84/Makefile	2006-01-25 22:11:31.000000000 +0200
@@ -3,11 +3,10 @@
 LIBS   = -lXpm -lXext -lX11
 INCS   = -I/usr/X11R6/share/include -I/usr/X11R6/include
 OBJS   = wmtop.o wmgeneral/wmgeneral.o wmgeneral/misc.o wmgeneral/list.o
-OPTS   = -O3 -g -Wall
-FLAGS  = $(DEBUG) $(OPTS) -D$(OS)
+FLAGS  = -Wall -D$(OS) $(CFLAGS)
 MAKE   = make
 CC     = cc
-PREFIX ?= /usr/local
+PREFIX = $(DESTDIR)/usr
 
 default:
 	@echo Use '"make os"' where '"os"' is one of:
@@ -38,9 +37,6 @@
 	rm -f *~
 
 install: wmtop
-	strip wmtop
-	cp -f wmtop $(PREFIX)/bin/
-	chmod 755 $(PREFIX)/bin/wmtop
-	cp -f wmtop.1 $(PREFIX)/man/man1
-	chmod 644 $(PREFIX)/man/man1/wmtop.1
+	/usr/bin/install -D -o 0 -g 0 -m 755 -s wmtop $(PREFIX)/bin/wmtop
+	/usr/bin/install -D -o 0 -g 0 -m 644 wmtop.1 $(PREFIX)/man/man1/wmtop.1
 	@echo "wmtop Installation finished..."

Added contrib/wmxkb/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Shows and controls XKB groups
# URL: http://wmalms.tripod.com/#WMXKB
# Maintainer: Mikhail Kolesnik, mike at openbunker dot org
# Depends on: xorg-libxpm

name=wmxkb
version=1.2.2
release=1
source=(http://wmalms.tripod.com/$name-$version.tar.gz \
		wmxkb-makefile.diff)

build() {
	cd $name-$version
	patch -p1 -i $SRC/wmxkb-makefile.diff
	./configure --prefix=/usr
	make
	make prefix=$PKG/usr install
}

Added contrib/wmxkb/wmxkb-makefile.diff.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
diff -Nru wmxkb-1.2.2-orig/Makefile.in wmxkb-1.2.2/Makefile.in
--- wmxkb-1.2.2-orig/Makefile.in	2007-04-09 00:07:09.000000000 +0300
+++ wmxkb-1.2.2/Makefile.in	2007-04-09 00:10:23.000000000 +0300
@@ -56,16 +56,12 @@
 	$(INSTALL) -d  ${BINDIR}
 	$(INSTALL) -s  ${APPNAME}  ${BINDIR}
 ifneq ("$(WITH_RPM)", "yes")
-	$(INSTALL) -d  ${DOCDIR}
-	$(INSTALL)  README *.html  ${DOCDIR}
 	$(INSTALL) -d  ${IMAGEDIR_DEFAULT}
 	$(INSTALL)  pixmaps/*.xpm  ${IMAGEDIR_DEFAULT}
 	@echo $(SEP)
 	@echo "Installation of ${APPNAME} ${VERSION}  completed."
 	@echo "The binary is installed in '${BINDIR}' directory."
-	@echo "The documents are installed in '${DOCDIR}' directory."
 	@echo "The images are installed in '${IMAGEDIR_DEFAULT}' directory."
-	@echo "See '$(DOCDIR)/manual.html' for config. parameters."
 	@echo "Enjoy!"
 	@echo $(SEP)
 endif	

Added contrib/wol/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description:	Program to send WOL (Wake On Lan) packets
# URL:		http://wake-on-lan.sf.net
# Maintainer:	Alan Mizrahi, alan at mizrahi dot com dot ve
# Depends on:	

name=wol
version=0.7.1
release=1
source=(http://prdownloads.sf.net/wake-on-lan/$name-$version.tar.gz)

build() {
	cd $name-$version
	./configure --prefix=/usr --disable-nls
	make
	make DESTDIR=$PKG install
	rm -rf $PKG/usr/info
}

Added contrib/wop/Pkgfile.























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# Description: Real-time Worms game for Linux.
# URL: http://wormsofprey.org/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: James Mills, prologic at shortcircuit dot net dot au
# Depends on: sdl_net sdl_mixer sdl_image sdl_ttf gcc34

name=wop
version=0.4.3
release=1
source=(http://wormsofprey.org/download/wop-$version-src.tar.bz2
	http://wormsofprey.org/download/wopdata-2005-12-21.tar.bz2
	wop-0.4.3-Makefile.patch
	wop-client wop-server)

build() {
	cd $name-$version
	CXXFLAGS+=' -march=i686'
	find $SRC -name Makefile -exec sed -i -e 's/CXX =.*/CXX = g++-3.4/' {} \;
	patch -p 0 -i $SRC/wop-0.4.3-Makefile.patch
	make clean
	make
	install -d $PKG/usr/share/$name
	cp -r $SRC/wopdata-2005-12-21/* $PKG/usr/share/wop/
	install -D -m 0755 bin/$name $PKG/usr/bin/wop
	install -D -m 0755 $SRC/wop-client $PKG/usr/bin/wop-client
	install -D -m 0755 $SRC/wop-server $PKG/usr/bin/wop-server
}

Added contrib/wop/wop-0.4.3-Makefile.patch.













































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
--- Makefile.orig	2007-04-23 18:27:32 +0000
+++ Makefile	2007-04-23 18:27:50 +0000
@@ -3,22 +3,22 @@
 sinclude Makefile.local
 
 all:
-	+cd sdlwidgets; make
-	+cd src; make
+	+cd sdlwidgets; $(MAKE)
+	+cd src; $(MAKE)
 runc:
-	+cd src; make runc
+	+cd src; $(MAKE) runc
 runs:
-	+cd src; make runs
+	+cd src; $(MAKE) runs
 doc:
-	cd src; make doc
+	cd src; $(MAKE) doc
 clean:
-	cd sdlwidgets; make clean
-	cd src; make clean
+	cd sdlwidgets; $(MAKE) clean
+	cd src; $(MAKE) clean
 	cd doc; rm -rf html
 unison:
-	cd src; make unison
+	cd src; $(MAKE) unison
 gunison:
-	cd src; make gunison
+	cd src; $(MAKE) gunison
 snapshot-src:
 	ln -s . wop;                                           \
 	tar cjvf wop-`date +%F`.tar.bz2                        \
--- src/Makefile.orig	2006-02-13 10:14:01.000000000 +0100
+++ src/Makefile	2007-04-27 18:36:22.000000000 +0200
@@ -18,7 +18,7 @@
             -DUSE_SDL -DNEW=new\(std::nothrow\) \
             -I../sdlwidgets \
             $(shell sdl-config --cflags) # -g
-LDFLAGS  = -L../sdlwidgets -lsdlwidgets -lz \
+LIBS      = -L../sdlwidgets -lsdlwidgets -lz \
            -lm -lSDL_net -lSDL_mixer -lSDL_ttf -lSDL_image \
            $(shell sdl-config --libs) # -g
 
@@ -56,7 +56,7 @@
 
 $(TARGET): $(OBJECT_FILES) Makefile ../sdlwidgets/libsdlwidgets.a
 	-mkdir ../bin
-	$(CXX) $(OBJECT_FILES) -o $(TARGET) $(LDFLAGS)
+	$(CXX) $(LDFLAGS) $(OBJECT_FILES) -o $(TARGET) $(LIBS)
 
 %.o: %.cpp Makefile
 	$(CXX) $(CXXFLAGS) -c $< -o $@

Added contrib/wop/wop-client.







>
>
>
1
2
3
#!/bin/sh

wop m=client c=$HOME/.woprc d=/usr/share/wop v=fullscreen

Added contrib/wop/wop-server.









>
>
>
>
1
2
3
4
#!/bin/sh

GAMEMODE=deathmatch
wop m=server q=yes gm=deathmatch d=/usr/share/wop

Added contrib/wv/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description:	Command line utilities to convert Microsoft Word documents.
# URL:	http://wvware.sourceforge.net/
# Maintainer:	Alan Mizrahi, alan at mizrahi dot com dot ve
# Depends on:	libwmf, libgsf, glib

name=wv
version=1.2.4
release=1
source=(http://download.sourceforge.net/sourceforge/wvware/$name-$version.tar.gz)

build() {
        cd $name-$version
        ./configure --prefix=/usr
        make
        make DESTDIR=$PKG install
}

Added contrib/wxgtk/Pkgfile.





































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# Description: wxWidgets for GTK+.
# URL: http://www.wxwidgets.org/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Antti Nykanen, aon at iki dot fi
# Depends on: glitz gtk

name=wxgtk
version=2.8.12
release=1
source=(http://downloads.sourceforge.net/project/wxwindows/$version/wxGTK-$version.tar.bz2)

build() {
	cd wxGTK-$version
	
	./configure \
		--prefix=/usr \
		--enable-gtk2 \
		--enable-unicode \
		--with-opengl

	make
	make DESTDIR=$PKG install

	cd contrib
	make
	make DESTDIR=$PKG install
	
	ln -sf /usr/lib/wx/config/gtk2-unicode-release-${version%.*} \
		$PKG/usr/bin/wx-config
	
	rm -r \
		$PKG/usr/share/locale \
		$PKG/usr/share/bakefile
}

Added contrib/wxpython/Pkgfile.













































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# Description: Python language bindings for the wxWindows toolkit.
# URL: http://www.wxpython.org/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: sten, nick dot steeves at shaw dot ca
# Depends on: pyopengl pycairo wxgtk

name=wxpython
version=2.8.12.1
release=1
source=(http://downloads.sourceforge.net/project/$name/wxPython/$version/wxPython-src-$version.tar.bz2)

build() {
	cd wxPython-src-$version/wxPython
	install -d $PKG/usr

	export \
		CFLAGS="$CFLAGS -fno-strict-aliasing" \
		CXXFLAGS="$CXXFLAGS -fno-strict-aliasing"

	python setup.py \
		WXPORT=gtk2 \
		UNICODE=1 \
		BUILD_GLCANVAS=1 \
		install --root=$PKG

	find $PKG -type f \
	\( \
		-name 'AUTHORS' \
		-o -name 'COPYING' \
		-o -name 'INSTALL' \
		-o -name 'NEWS' \
		-o -name 'THANKS' \
		-o -name 'TODO' \
		-o -name 'TODO.txt' \
		-o -name 'README' \
		-o -name 'README.txt' \
	\) -delete
}

Added contrib/wyrd/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: Text-based front-end to Remind
# URL:         http://www.eecs.umich.edu/~pelzlpj/wyrd/
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    James Mills, prologic at shortcircuit dot net dot au
# Depends on:  remind, ocaml

name=wyrd
version=1.4.4
release=2
source=(http://pessimization.com/software/$name/$name-$version.tar.gz)

build() {
  cd $name-$version
  ./configure --prefix=/usr \
              --mandir=/usr/man \
              --sysconfdir=/usr/etc
  make
  make DESTDIR=$PKG install
}

Added contrib/x11vnc/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description:	VNC server for real X displays
# URL:		http://www.karlrunge.com/x11vnc/
# Maintainer:	Alan Mizrahi, alan at mizrahi dot com dot ve
# Depends on:	libjpeg xorg-libxdamage xorg-libxinerama xorg-libxrandr xorg-libxtst

name=x11vnc
version=0.9.13
release=1
source=(http://prdownloads.sf.net/libvncserver/$name-$version.tar.gz)

build() {
	cd $name-$version
	./configure --prefix=/usr \
		    --disable-nls \
		    --mandir=$PKG/usr/man
	make
	make prefix=$PKG/usr install
	rm -rf $PKG/usr/{include,share}
}

Added contrib/x264/Pkgfile.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Description: Library for encoding H264/AVC video streams (snapshot).
# URL: http://www.videolan.org/developers/x264.html
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Rouven Schuerch, rs at tegonal dot com
# Depends on: yasm

name=x264
version=20120120
release=1
source=(http://www.hvlinux.net/crux/distfiles/$name/$name-$version-f33c8cb.tar.xz)

build() {
	cd $name

	./configure \
		--prefix=/usr \
		--enable-pic \
		--enable-shared

	make
	make DESTDIR=$PKG install
	chmod a-x $PKG/usr/lib/*.so
}

Added contrib/x86info/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: In-depth CPU information tool.
# URL:         http://www.codemonkey.org.uk/projects/x86info/
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    James Mills, prologic at shortcircuit dot net dot au
# Depends on:

name=x86info
version=1.30
release=1
source=(http://codemonkey.org.uk/projects/$name/$name-$version.tgz)

build() {
   cd $name-$version
   make
   mkdir -p $PKG/usr/{bin,man/man1}
   install -D -m755 -oroot -groot $name $PKG/usr/bin/$name
   install -D -m644 -oroot -groot $name.1 $PKG/usr/man/man1/$name.1
}

Added contrib/x86info/README.





















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
$Id: README 1276 2006-10-03 00:37:19Z romster $

REQUIREMENTS:

	Kernel with the following support:
	* CPU information support
	* Model-specific register support

	Processor type and features  --->
		< > /dev/cpu/*/cpuid - CPU information support
		< > /dev/cpu/*/msr - Model-specific register support

PRECAUTION:

PRE-INSTALL:

POST-INSTALL

PRE-REMOVE:

POST-REMOVE:

NOTES:

James Mills <prologic@shortcircuit.net.au>

Added contrib/xalan-c/Pkgfile.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Description: XSLT processor for transforming XML documents into HTML, text, or other XML document types.
# URL: http://xml.apache.org/xalan-c/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Jose V Beneyto, sepen at crux dot nu
# Depends on: xerces-c 

name=xalan-c
version=1.10.0
release=3
source=(http://www.apache.org/dist/xml/${name}/Xalan-C_1_10_0-src.tar.gz \
        xalandomstring.hpp.patch)

build() {
  patch -p0 -i $SRC/xalandomstring.hpp.patch
  export XALANCROOT=$SRC/xml-xalan/c
  cd ${XALANCROOT}
  autoconf
  ./runConfigure -P/usr \
    -plinux -cgcc -xg++ -minmem -rpthread
  make -j1 CXXFLAGS="$CXXFLAGS"
  make DESTDIR=${PKG} install
  unset XALANCROOT
}

Added contrib/xalan-c/xalandomstring.hpp.patch.























>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
--- xml-xalan/c/src/xalanc/XalanDOM/XalanDOMString.hpp	2005-08-08 12:25:52.000000000 -0300
+++ xml-xalan/c/src/xalanc/XalanDOM/XalanDOMString.hpp.new	2008-12-15 12:38:40.369221435 -0200
@@ -16,7 +16,7 @@
 #if !defined(XALANDOMSTRING_HEADER_GUARD_1357924680)
 #define XALANDOMSTRING_HEADER_GUARD_1357924680
 
-
+#include <string.h>
 
 #include <xalanc/XalanDOM/XalanDOMDefinitions.hpp>
 

Added contrib/xawtv/Pkgfile.



































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# Description: Simple TV Viewer
# URL: http://linux.bytesex.org/xawtv/
# Maintainer: Jose V Beneyto, sepen at users dot sourceforge dot net
# Packager: Christoph Anderegg, ca256 at gmx dot net
# Depends on: xaw3d xorg-libfs xorg-libxaw xorg-libxft libxvid libdv libjpeg

name=xawtv
version=3.95
release=7
source=(http://dl.bytesex.org/releases/$name/$name-$version.tar.gz)

build() {
  cd $name-$version

  sed 's|/usr/X11R6/include/X11|/usr/include/X11|g' -i Makefile.in

  ./configure --prefix=/usr \
              --enable-xfree-ex \
              --enable-xvideo \
              --enable-alsa \
              --enable-dv \
              --enable-mmx \
              --enable-xft \
              --with-x \
              --x-includes=/usr/include/X11 \
              --x-libraries=/usr/lib/X11

  make
  make DESTDIR=$PKG install
  
  rm -rf $PKG/etc/X11/{de*,fr,it} $PKG/usr/man/{es,fr}
}

Added contrib/xdelta/Pkgfile.



















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# Description: Binary diff, differential compression tools.
# URL: http://xdelta.org/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com
# Depends on: glib1

name=xdelta
version=1.1.4
release=2
source=(http://xdelta.googlecode.com/files/xdelta-$version.tar.gz
	xdelta-1.1.4_m4.patch)

build() {
	cd xdelta-$version

	patch -p 1 -i $SRC/xdelta-1.1.4_m4.patch

	./configure \
		--prefix=/usr \
		--disable-static

	make
	make DESTDIR=$PKG install
}

Added contrib/xdelta/xdelta-1.1.4_m4.patch.

























>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
diff -pruN xdelta-1.1.4.orig/xdelta.m4 xdelta-1.1.4/xdelta.m4
--- xdelta-1.1.4.orig/xdelta.m4	2008-10-24 01:21:17.259349462 +1100
+++ xdelta-1.1.4/xdelta.m4	2008-10-24 01:23:04.925100371 +1100
@@ -4,7 +4,7 @@
 dnl AM_PATH_XDELTA([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]])
 dnl Test for XDELTA, and define XDELTA_CFLAGS and XDELTA_LIBS, if "gmodule" or
 dnl
-AC_DEFUN(AM_PATH_XDELTA,
+AC_DEFUN([AM_PATH_XDELTA],
 [dnl
 dnl Get the cflags and libraries from the xdelta-config script
 dnl

Added contrib/xdg-utils/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: Command line tools for desktop integration tasks.
# URL: http://portland.freedesktop.org/ 
# Maintainer: Bartlomiej Palmowski, rotwang at crux dot org dot pl
# Packager: Victor Martinez, pitillo at ono dot com
# Depends on: 

name=xdg-utils
version=1.0.2
release=1
source=(http://portland.freedesktop.org/download/${name}-${version}.tgz)

build() {
  cd ${name}-${version}
  ./configure --prefix=/usr \
              --mandir=/usr/man \
              --disable-nls
  make
  make DESTDIR=${PKG} install
}

Added contrib/xdiskusage/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: GUI disk space viewer.
# URL: http://xdiskusage.sourceforge.net/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com
# Depends on: fltk

name=xdiskusage
version=1.48
release=1
source=(http://xdiskusage.sourceforge.net/xdiskusage-$version.tgz)

build() {
	cd xdiskusage-$version
	./configure --prefix=/usr
	make
	install -D -s -m755 -oroot -groot xdiskusage $PKG/usr/bin/xdiskusage
	install -D -m644 -oroot -groot xdiskusage.1 $PKG/usr/man/man1/xdiskusage.1
}

Added contrib/xerces-c/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: Xerces-C++ validating XML parser
# URL: http://xml.apache.org/xerces-c/
# Maintainer: Jose V Beneyto, sepen at users dot sourceforge dot net
# Packager: Matt Housh, jaeger at morpheus dot net
# Depends on: curl

name=xerces-c
version=3.1.1
release=1
source=(http://www.apache.org/dist/xerces/c/${version%%.*}/sources/$name-$version.tar.gz)

build() {
  cd $name-$version

  ./configure --prefix=/usr \
              --enable-netaccessor-curl

  make -j1
  make DESTDIR=$PKG install
}

Added contrib/xine-lib/Pkgfile.







































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# Description: A free, GPL-licensed video player for UNIX-like systems.
# URL: http://xine.sourceforge.net
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: sten, nick dot steeves at shaw dot ca
# Depends on: ffmpeg gtk libmad libmng libmpcdec vcdimager wavpack xorg-libxi xorg-libxvmc xorg-xvinfo libdvdnav libmodplug libvdpau liba52 libbluray libfame libdca

name=xine-lib
version=1.2.1
release=1
source=(http://downloads.sourceforge.net/project/xine/$name/$version/$name-$version.tar.xz)

build() {
	cd $name-$version

	./configure \
		CFLAGS='' \
		CXXFLAGS='' \
		--prefix=/usr \
		--mandir=/usr/man \
		--disable-nls \
		--disable-oss \
		--enable-bluray \
		--enable-antialiasing \
		--enable-ipv6 \
		--enable-modplug \
		--with-wavpack \
		--with-external-dvdnav \
		--disable-dependency-tracking

	make
	make DESTDIR=$PKG install
	chmod a-x $PKG/usr/lib/*.so
	find $PKG/usr/lib/xine/plugins/ -type f -name '*.so' -exec chmod a-x {} \;
	rm -r $PKG/usr/share/doc
}

Added contrib/xine-ui/Pkgfile.























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# Description: A free, GPL-licensed video player for UNIX-like systems.
# URL: http://xine.sourceforge.net
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: sten, nick dot steeves at shaw dot ca
# Depends on: xine-lib

name=xine-ui
version=0.99.6
release=3
source=(http://downloads.sourceforge.net/project/xine/$name/$version/$name-$version.tar.xz)

build() {
	cd $name-$version
	sed -i -e '31d' src/xitk/download.c

	./configure \
		--prefix=/usr \
		--mandir=/usr/man \
		--disable-nls \
		--disable-dependency-tracking \
		--disable-lirc

	make
	make DESTDIR=$PKG install
	install -d $PKG/usr/share/skins
	rm -fr $PKG/usr/{man/{??,man1/aaxine*},share/doc}
}

Added contrib/xlockmore/Pkgfile.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Description: X Window System Lock Screen
# URL: http://www.tux.org/~bagleyd/xlockmore.html 
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager: Daniel Mueller, daniel at danm dot de
# Depends on: gtk, fortune

name=xlockmore
version=5.30
release=1
source=(http://www.tux.org/~bagleyd/xlock/$name-$version/$name-$version.tar.bz2)

build(){
  cd $name-$version
  ./configure --prefix=/usr --enable-vtlock --enable-syslog \
        --enable-multiple-user --enable-multiple-root \
        --disable-magick --without-motif --with-opengl \
        --without-esound
  make
  make prefix=$PKG/usr xapploaddir=$PKG/etc/X11/app-defaults install
  if [ -d $PKG/usr/lib ]; then
    rm -rf $PKG/usr/lib
  fi
  mv $PKG/usr/share/man $PKG/usr
}

Added contrib/xmbmon/Makefile.in.diff.



































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
--- Makefile.in.orig	2008-11-12 10:42:22.000000000 +0100
+++ Makefile.in	2008-11-12 10:44:11.000000000 +0100
@@ -37,11 +37,12 @@ LINT=lint
 RM=rm -f
 INSTALL=install
 
-INST_DIR=/usr/local/bin
-INST_MANDIR=/usr/local/man/man1
-INST_XDIR=/usr/X11R6/bin
-INST_MANXDIR=/usr/X11R6/man/man1
-INST_XRDIR=/usr/X11R6/lib/X11/app-defaults
+DESTDIR=
+INST_DIR=$(DESTDIR)/usr/bin
+INST_MANDIR=$(DESTDIR)/usr/man/man1
+INST_XDIR=$(DESTDIR)/usr/bin
+INST_MANXDIR=$(DESTDIR)/usr/man/man1
+INST_XRDIR=$(DESTDIR)/usr/lib/X11/app-defaults
  
 .c.o:
 	$(CC) -c $(CFLAGS) $*.c
@@ -133,10 +134,12 @@ distclean: clean
 	$(RM) Makefile config.cache config.log config.h config.status
 
 install: $(PROGRAM)
+	$(INSTALL) -d $(INST_DIR) $(INST_XDIR)
 	$(INSTALL) -o root -g wheel -m 4555 -c -p mbmon $(INST_DIR)
 	$(INSTALL) -o root -g wheel -m 4555 -c -p xmbmon $(INST_XDIR)
 
 install-man: $(MANPAGE)
+	$(INSTALL) -d $(INST_MANDIR) $(INST_MANXDIR)
 	$(INSTALL) -o root -g wheel -m 444 -c -p mbmon.1 $(INST_MANDIR)
 	$(INSTALL) -o root -g wheel -m 444 -c -p xmbmon.1x $(INST_MANXDIR)
 

Added contrib/xmbmon/Pkgfile.























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# Description: Monitoring program for motherboards. Also includes mbmon command line utility.
# URL: http://www.nt.phys.kyushu-u.ac.jp/shimizu/download/download.html
# Maintainer: Jose V Beneyto, sepen at users dot sourceforge dot net
# Packager: Jose V Beneyto, sepen at users dot sourceforge dot net
# Depends on: xorg-libxt

name=xmbmon
version=2.0.5
release=3
source=(http://www.nt.phys.kyushu-u.ac.jp/shimizu/download/$name/${name}205.tar.gz \
        http://www.nt.phys.kyushu-u.ac.jp/shimizu/download/$name/${name}205_A7N8X-VM.patch \
        http://www.nt.phys.kyushu-u.ac.jp/shimizu/download/$name/${name}205_fflush.patch \
        Makefile.in.diff)

build() {
  cd ${name}205

  patch -p0 -i $SRC/${name}205_A7N8X-VM.patch
  patch -p0 -i $SRC/${name}205_fflush.patch
  patch -p0 -i $SRC/Makefile.in.diff

  ./configure --prefix=/usr \
              --with-x
  make
  make DESTDIR=$PKG install
  make DESTDIR=$PKG install-man
}

Added contrib/xmessage/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: A program to display messages from the command line, a file or standard input in a window.
# URL: http://xorg.freedesktop.org/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com
# Depends on: xorg-libxaw

name=xmessage
version=1.0.3
release=1
source=(http://xorg.freedesktop.org/releases/individual/app/$name-$version.tar.bz2)

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added contrib/xmltv/Pkgfile.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Description: Set of utilities to manage your TV viewing.
# URL: http://membled.com/work/apps/xmltv/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: James Mills, prologic at shortcircuit dot net dot au
# Depends on: p5-term-readkey p5-date-manip p5-xml-twig p5-xml-writer p5-xml-parser p5-lwp p5-file-slurp

name=xmltv
version=0.5.59
release=1
source=(http://downloads.sourceforge.net/project/$name/$name/$version/$name-$version.tar.bz2)

build() {
	cd $name-$version
	yes | perl Makefile.PL PREFIX=$PKG/usr
	make
	#make test
	make install

	find $PKG -type f \
		\( -regex ".*perllocal.pod$" -or \
		-name '.packlist' \) -delete

	rm -r $PKG/usr/share/doc
}

Added contrib/xmltvau/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: XML-TV Script for Australia.
# URL: http://www.onlinetractorparts.com.au/rohbags/xmltvau/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: James Mills, prologic at shortcircuit dot net dot au
# Depends on: xmltv

name=xmltvau
version=0.6.2
release=2
source=(http://www.onlinetractorparts.com.au/rohbags/xmltvau/tv_grab_au-$version.tar.gz)

build() {
   install -D -m 0644 -groot -oroot channel_ids $PKG/usr/share/xmltv/tv_grab_au/channel_ids
   install -D -m 0755 -groot -oroot tv_grab_au $PKG/usr/bin/tv_grab_au
}

Added contrib/xmltvau/README.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# $Id:

REQUIREMENTS:

PRECAUTION:

PRE-INSTALL:

POST-INSTALL:

Run: tv_grab_au --configure

PRE-REMOVE:

POST-REMOVE:

NOTES:

Added contrib/xmms2/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: Second generation of the XMMS music player
# URL:         http://xmms2.sourceforge.net
# Maintainer:  Bartlomiej Palmowski, rotwang at crux dot org dot pl
# Packager:    Rene Lengwinat, rugek at dirtyhack dot net
# Depends on:  libmad sqlite3 python 
# Nice2have:   ecore pyrex ruby samba ffmpeg faad2

name=xmms2
version=0.8
release=1
_codename=DrO_o

source=(http://download.sourceforge.net/project/$name/$name/${version}%20$_codename/$name-$version$_codename.tar.bz2)

build () {
    cd $name-$version$_codename
    ./waf --prefix=/usr --mandir=/usr/man configure
    ./waf $(egrep -o '[-]j[[:space:]]*[[:digit:]]+' <<< "${MAKEFLAGS}") build
    ./waf --without-ldconfig --destdir=$PKG install
}

Added contrib/xmms2/README.



















>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
README for XMMS2

see following link to review dependencies list:

http://wiki.xmms2.xmms.se/wiki/Install_instructions#Dependencies

see following link if xmms2d consumes too much cpu:

http://blog.sarine.nl/2008/12/21/dmix-the-pain-or-mpd-high-cpu-usage/

Added contrib/xplanet/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description: Renders an image of the earth into the X root window.
# URL: http://xplanet.sourceforge.net/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com
# Depends on: xorg libtiff libpng libungif

name=xplanet
version=1.3.0
release=1
source=(http://downloads.sourceforge.net/project/$name/$name/$version/$name-$version.tar.gz)

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--mandir=/usr/man

	make
	make DESTDIR=$PKG install
	find $PKG -name "README" -type f -delete
}

Added contrib/xplanet/xplanet-1.2.1.patch.



















































































































































































































































































































































































































































































































































































































































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
http://bugs.gentoo.org/show_bug.cgi?id=277937

diff -ur xplanet-1.2.1.orig/src/libimage/bmp.c xplanet-1.2.1/src/libimage/bmp.c
--- xplanet-1.2.1.orig/src/libimage/bmp.c	2006-03-26 00:50:51.000000000 +0200
+++ xplanet-1.2.1/src/libimage/bmp.c	2009-07-26 21:42:03.000000000 +0300
@@ -61,10 +61,10 @@
     struct BMPHeader bmph;
 
     /* The length of each line must be a multiple of 4 bytes */
-
     bytesPerLine = (3 * (width + 1) / 4) * 4;
 
-    strcpy(bmph.bfType, "BM");
+    /* copy only "BM" without a terminating null byte */
+    strncpy(bmph.bfType, "BM", 2);
     bmph.bfOffBits = 54;
     bmph.bfSize = bmph.bfOffBits + bytesPerLine * height;
     bmph.bfReserved = 0;
diff -ur xplanet-1.2.1.orig/src/libmultiple/addOrbits.cpp xplanet-1.2.1/src/libmultiple/addOrbits.cpp
--- xplanet-1.2.1.orig/src/libmultiple/addOrbits.cpp	2008-11-14 01:46:12.000000000 +0200
+++ xplanet-1.2.1/src/libmultiple/addOrbits.cpp	2009-07-26 21:42:06.000000000 +0300
@@ -86,9 +86,13 @@
     const double period = p->Period();
     if (period == 0) return;
 
+    // Units of orbit circumference
     const double startOrbit = currentProperties->StartOrbit();
     const double stopOrbit = currentProperties->StopOrbit();
+
+    // degrees
     const double delOrbit = currentProperties->DelOrbit();
+
     const unsigned char *color = currentProperties->OrbitColor();
     const int thickness = currentProperties->ArcThickness();
 
@@ -103,10 +107,11 @@
     const double startTime = jd0 + startOrbit * period;
     const double stopTime = jd0 + stopOrbit * period;
 
-    const int numTimes = (int) (180/delOrbit + 0.5);
-
+    int numTimes = (int) abs(360 * startOrbit / delOrbit + 0.5);
     addArc(startTime, jd0, numTimes, color, thickness, view, width, height, 
            Prx, Pry, Prz, p, annotationMap);
+
+    numTimes = (int) abs(360 * stopOrbit / delOrbit + 0.5);
     addArc(jd0, stopTime, numTimes, color, thickness, view, width, height, 
            Prx, Pry, Prz, p, annotationMap);
 }
diff -ur xplanet-1.2.1.orig/src/Satellite.cpp xplanet-1.2.1/src/Satellite.cpp
--- xplanet-1.2.1.orig/src/Satellite.cpp	2006-03-26 02:34:21.000000000 +0200
+++ xplanet-1.2.1/src/Satellite.cpp	2009-07-26 21:42:17.000000000 +0300
@@ -1,4 +1,5 @@
 #include <clocale>
+#include <cstdio>
 #include <cstring>
 #include <iostream>
 using namespace std;
diff -ur xplanet-1.2.1.orig/src/Separation.cpp xplanet-1.2.1/src/Separation.cpp
--- xplanet-1.2.1.orig/src/Separation.cpp	2008-11-14 02:19:05.000000000 +0200
+++ xplanet-1.2.1/src/Separation.cpp	2009-07-26 21:42:17.000000000 +0300
@@ -1,4 +1,5 @@
 #include <cmath>
+#include <cstdio>
 #include <iostream>
 
 #include "Separation.h"
diff -ur xplanet-1.2.1.orig/xplanet.1 xplanet-1.2.1/xplanet.1
--- xplanet-1.2.1.orig/xplanet.1	2007-12-27 01:48:50.000000000 +0200
+++ xplanet-1.2.1/xplanet.1	2009-07-26 21:42:17.000000000 +0300
@@ -31,7 +31,7 @@
 .sp
 .fi
 where declination is in degrees and right ascension is in hours.  This
-option has no effect if -projection is specified.
+option has no effect if \-projection is specified.
 
 .TP
 .B \-arc_spacing spacing
@@ -48,8 +48,8 @@
 .TP
 .B \-background background_file
 Use background_file as the background image, with the planet to be
-superimposed upon it.  A color may also be supplied (e.g. -background
-"navy blue" or -background 0xff00ff).
+superimposed upon it.  A color may also be supplied (e.g. \-background
+"navy blue" or \-background 0xff00ff).
 
 .TP
 .B \-base_magnitude magnitude
@@ -67,20 +67,20 @@
 pluto, charon, random, and major.  
 
 The field of view can also be centered on a satellite location using
-"naif" or "norad", along with the satellite id.  For example, "-body
-naif-82" will center the field of view on NAIF ID -82, which is the
+"naif" or "norad", along with the satellite id.  For example, "\-body
+naif-82" will center the field of view on NAIF ID \-82, which is the
 Cassini orbiter.  Xplanet must be compiled with SPICE support and the
 required kernels must be present.  See the README in the spice
-subdirectory for more details.  Using "-body norad20580" will center
+subdirectory for more details.  Using "\-body norad20580" will center
 the field of view on NORAD ID 20580, which is the Hubble Space
 Telescope.  The appropriate TLE files must be present in this case.
 See the README in the satellites subdirectory for more information.
 
 Using "path" will center the field of view on the direction of motion
 of the origin.  This direction is relative to the direction of motion
-of the body specified by -path_relative_to.
+of the body specified by \-path_relative_to.
 
-Earth is the default body.  This option is the same as -target.
+Earth is the default body.  This option is the same as \-target.
 
 .TP
 .B \-center +x+y
@@ -92,13 +92,13 @@
 .B \-color color
 Set the color for the label.  The default is "red".  Any color in the
 rgb.txt file may be used.  Colors may also be specified by RGB hex
-values; for example -color 0xff and -color blue mean the same thing,
-as do -color 0xff0000 and -color red.
+values; for example \-color 0xff and \-color blue mean the same thing,
+as do \-color 0xff0000 and \-color red.
 
 .TP
 .B \-config config_file
 Use the configuration file config_file.  The format of config_file is
-described in README.config.  See the description of -searchdir to see
+described in README.config.  See the description of \-searchdir to see
 where xplanet looks in order to find the configuration file.
 
 .TP
@@ -116,7 +116,7 @@
 .TP
 .B \-dynamic_origin file
 Specify an observer location.  The location is relative to the body
-specified with -origin (by default, this is the Sun).  The last line
+specified with \-origin (by default, this is the Sun).  The last line
 of the file must be of the form
 .nf
 .sp
@@ -126,7 +126,7 @@
 For example,
 .nf
 .sp
-19951207.120000     10.328   -3.018   97.709    9.595
+19951207.120000     10.328   \-3.018   97.709    9.595
 .sp
 .fi
 The specified time is ignored and the current time is used.  The range
@@ -134,7 +134,7 @@
 hours) is optional, but if present, it will be used in place of the
 longitude.  Only the last line of the file is used.  This file may be
 updated between renderings using a script executed with the
--prev_command or -post_command options.
+\-prev_command or \-post_command options.
 
 .TP
 .B \-ephemeris_file filename
@@ -144,13 +144,13 @@
 little endian binary files.  The ephemeris files found at
 ftp://ssd.jpl.nasa.gov/pub/eph/export/unix are big endian files, but
 you do not need to do any additional byte-swapping to use them.  See
-the description of -searchdir to see where xplanet looks in order to
+the description of \-searchdir to see where xplanet looks in order to
 find the ephemeris file.
 
 .TP
 .B \-font fontname 
 Set the font for the label.  Only TrueType fonts are supported.  If
-the -pango option is used, fontname is taken to be the font family
+the \-pango option is used, fontname is taken to be the font family
 name (e.g. "Arial").
 
 .TP
@@ -168,9 +168,9 @@
 
 .TP
 .B \-fov
-Specify the field of view, in degrees.  This option and the -radius
+Specify the field of view, in degrees.  This option and the \-radius
 option are mutually exclusive.  This option has no effect if the
--projection option is used.
+\-projection option is used.
 
 .TP
 .B \-geometry string
@@ -179,7 +179,7 @@
 (e.g. 256x256-10+10 puts a window 256x256 pixels in size 10 pixels
 away from the right side and 10 pixels below the top of the root
 window).  The root window outside of the image will be black.  This
-option may be used with -window or -output.
+option may be used with \-window or \-output.
 
 .TP
 .B \-glare radius
@@ -188,7 +188,7 @@
 
 .TP
 .B \-gmtlabel
-Same as the -label option, but show GMT instead of local time.
+Same as the \-label option, but show GMT instead of local time.
 
 .TP
 .B \-grs_longitude lon
@@ -213,7 +213,7 @@
 
 .TP
 .B \-interpolate_origin_file
-This option is only useful in conjunction with -origin_file.  It
+This option is only useful in conjunction with \-origin_file.  It
 computes the observer position at the current time by interpolating
 between values specified in the origin file.  This is useful if you
 have spacecraft positions tabulated in an origin file, but want a real
@@ -232,12 +232,12 @@
 Specify the location of the label using the standard X window geometry
 syntax.  The default position is "-15+15", or 15 pixels to the left
 and below the top right corner of the display.  This option implies
--label. 
+\-label. 
 
 .TP
 .B \-label_body body
 Use the specified body to calculate the sub-observer, sub-solar, and
-illumination values in the label.  This is useful with the -separation
+illumination values in the label.  This is useful with the \-separation
 option.
 
 .TP
@@ -268,17 +268,17 @@
 .B \-longitude longitude 
 Place the observer above the specified longitude (in degrees).
 Longitude is positive going east, negative going west (for the earth
-and moon), so for example Los Angeles is at -118 or 242.  The default
+and moon), so for example Los Angeles is at \-118 or 242.  The default
 value is 0.
 
 .TP
 .B \-make_cloud_maps
 If there is an entry in the config file for cloud_map, xplanet will
 output a day and night image with clouds overlaid and then exit.  The
-images will be created in the directory specified by -tmpdir, or in
-the current directory if -tmpdir is not used.  The names of the output
+images will be created in the directory specified by \-tmpdir, or in
+the current directory if \-tmpdir is not used.  The names of the output
 images default to day_clouds.jpg and night_clouds.jpg, but may be
-changed by the -output option.  If "-output filename.extension" is
+changed by the \-output option.  If "\-output filename.extension" is
 specified, the output images will be named "day_filename.extension"
 and "night_filename.extension".  The dimensions of the output images
 are the same as the day image.
@@ -290,11 +290,11 @@
 declination, right ascension, string, as in the example below:
 .nf
 .sp
--16.7161 6.7525 "Sirius"
+\-16.7161 6.7525 "Sirius"
 .sp
 .fi
 For additional options which may be specified, see the marker_file
-entry in README.config.  This option has no effect if -projection is
+entry in README.config.  This option has no effect if \-projection is
 specified.  This option is not meant for city markers; for that use
 the marker_file option in the configuration file.
 
@@ -321,9 +321,9 @@
 body:        body's north pole
 galactic:    galactic north pole
 orbit:       body's orbital north pole (perpendicular to the orbit plane)
-path:        origin's velocity vector  (also see -path_relative_to option)
+path:        origin's velocity vector  (also see \-path_relative_to option)
 separation:  perpendicular to the line of sight and the
-	     target-separation target line (see -separation option)
+	     target-separation target line (see \-separation option)
 .sp
 .fi
 The default value is "body".
@@ -335,7 +335,7 @@
 .TP
 .B \-origin body
 Place the observer at the center of the specified body.  Valid values
-are the same as for -target.  In addition, "above", "below", or
+are the same as for \-target.  In addition, "above", "below", or
 "system" may be specified.  Using "above" or "below" centers the view
 on the body's primary and the field of view is large enough to show
 the body's orbit.  Using "system" places the observer at the center of
@@ -351,15 +351,15 @@
 If the body name is preceded by a dash, the observer is placed on the
 opposite side of the target from the specified body at a distance
 equal to the distance between the target and body.  For example,
--target earth -origin sun places the observer at the center of the
-sun.  If -target earth -origin -sun is used, the observer is placed on
+\-target earth \-origin sun places the observer at the center of the
+sun.  If \-target earth \-origin \-sun is used, the observer is placed on
 a line connecting the centers of the earth and sun at a distance of 1
 AU farther from the sun than the earth.
 
 .TP
 .B \-origin_file origin_file
 Specify a list of observer positions in origin_file.  The positions
-are relative to the body specified with -origin (by default, this is
+are relative to the body specified with \-origin (by default, this is
 the Sun).  Each line should be of the form
 .nf
 .sp
@@ -369,14 +369,14 @@
 For example,
 .nf
 .sp
-19951207.120000     10.328   -3.018   97.709    9.595
+19951207.120000     10.328   \-3.018   97.709    9.595
 .sp
 .fi
 Range is in planetary radii, and lat and lon are in degrees.  The date
 is the only required value.  If the localtime (in hours) is supplied,
 it will be used in place of the longitude.  For each line in the
 origin file, the observer is placed at the specified position,
-relative to the body specified with -origin.  This option is useful
+relative to the body specified with \-origin.  This option is useful
 for showing spacecraft flybys or orbiting around a planet.  Any line
 with a # in the first column is ignored.
 
@@ -386,8 +386,8 @@
 taken from the extension. Currently .gif, .jpg, .ppm, .png, and .tiff
 images can be created, if xplanet has been compiled with the
 appropriate libraries.  The image size defaults to 512 by 512 pixels
-but this may be changed by the -geometry flag. If used with the
--num_times option, each output file will be numbered sequentially.
+but this may be changed by the \-geometry flag. If used with the
+\-num_times option, each output file will be numbered sequentially.
 
 .TP
 .B \-output_start_index index
@@ -404,7 +404,7 @@
 
 .TP
 .B \-path_relative_to body
-Only used with -north path or -target path.  The origin's velocity
+Only used with \-north path or \-target path.  The origin's velocity
 vector is calculated relative to the specified body.  By default, this
 is the Sun.
 
@@ -416,7 +416,7 @@
 On MS Windows, you may need to use unix-style paths.  For example:
 .nf
 .sp
-xplanet.exe -prev_command ./prev.bat
+xplanet.exe \-prev_command ./prev.bat
 .sp
 .fi
 
@@ -471,8 +471,8 @@
 .TP
 .B \-rotate angle 
 Rotate the globe by angle degrees counterclockwise so that north (as
-defined by the -north argument) isn't at the top.  The default value
-is 0.  My friends in the Southern Hemisphere can use -rotate 180 to
+defined by the \-north argument) isn't at the top.  The default value
+is 0.  My friends in the Southern Hemisphere can use \-rotate 180 to
 make the earth look like it should!  For non-orthographic projections,
 the globe is rotated and then projected, if that helps you visualize
 what to expect.
@@ -481,7 +481,7 @@
 .B \-save_desktop_file
 On Microsoft Windows and Mac OS X, xplanet creates an intermediate
 image file which is used to set the desktop.  This file will be
-created in the -tmpdir directory.  By default, this image is removed
+created in the \-tmpdir directory.  By default, this image is removed
 after the desktop has been set.  Specifying this option will leave the
 file in place.
 
@@ -507,14 +507,14 @@
 .TP
 .B \-separation body:dist
 Place the observer at a location where the target body and the
-separation body are dist degrees apart.  For example "-target earth
--separation moon:-3" means place the observer at a location where the
+separation body are dist degrees apart.  For example "\-target earth
+\-separation moon:-3" means place the observer at a location where the
 moon appears 3 degrees to the left of the earth.
 
 .TP
 .B \-spice_ephemeris index
 Use SPICE kernels to compute the position of the named body.  The
-index is the naif ID code (e.g. 599 for Jupiter).  The -spice_file
+index is the naif ID code (e.g. 599 for Jupiter).  The \-spice_file
 option must be used to supply the names of the kernel files.  This
 option may be used more than once for different bodies.
 
@@ -544,15 +544,15 @@
 decimal hours.  For example, the entry for Sirius is
 .nf
 .sp
--16.7161  6.7525 -1.46
+\-16.7161  6.7525 \-1.46
 .sp
 .fi
-See the description of -searchdir to see where xplanet looks in order
+See the description of \-searchdir to see where xplanet looks in order
 to find the star map.
 
 .TP
 .B \-target target
-Same as -body.
+Same as \-body.
 
 .TP
 .B \-tt
@@ -568,13 +568,13 @@
 .TP
 .B \-tmpdir tmpdir
 Specify a directory that xplanet will use to place images created
-using -make_cloud_maps.  On Microsoft Windows, xplanet will write
+using \-make_cloud_maps.  On Microsoft Windows, xplanet will write
 a bitmap file called xplanet.bmp to the specified directory.  The
 default is the result of the GetWindowsDirectory call (C:\WINDOWS on
 Win95).  On Mac OS X, xplanet will create an intermediate PNG file in
 order to set the background.  The default value is /tmp.  On Windows
 and Mac OS X, the intermediate file will be removed unless the
--save_desktop_file option is specified.
+\-save_desktop_file option is specified.
 
 .TP
 .B \-transparency
@@ -583,12 +583,12 @@
 
 .TP
 .B \-transpng filename
-Same as the -output option, except set the background to be
+Same as the \-output option, except set the background to be
 transparent when writing a PNG file.  
 
 .TP
 .B \-utclabel
-Same as -gmtlabel.
+Same as \-gmtlabel.
 
 .TP
 .B \-verbosity level
@@ -624,13 +624,13 @@
 .TP
 .B \-window
 Render the image to its own X window.  The size defaults to 512 by 512
-pixels but this may be set by the -geometry flag.
+pixels but this may be set by the \-geometry flag.
 
 .TP
 .B \-window_title title
-Set the window's title to title.  This option implies -window.
+Set the window's title to title.  This option implies \-window.
 
 .TP
 .B \-xscreensaver
-Same as -vroot.
+Same as \-vroot.
 

Added contrib/xscreensaver/Pkgfile.



















































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# Description: A screen saver and locker daemon for xorg.
# URL: http://www.jwz.org/xscreensaver/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Jay Dolan, jdolan at jdolan dot dyndns dot org
# Depends on: bc fortune libglade libungif netpbm xorg-libxmu mesa3d

name=xscreensaver
version=5.15
release=1
source=(http://www.jwz.org/$name/$name-$version.tar.gz)

build() {
	cd $name-$version
	
	sed -i configure \
	-e 's/USE_NLS=yes/USE_NLS=no/' \
	-e 's/ENABLE_NLS 1/ENABLE_NLS 0/'

	./configure \
		--prefix=/usr \
		--libexecdir=/usr/lib \
		--mandir=/usr/man \
		--with-x-app-defaults='/etc/X11/app-defaults' \
		--enable-locking \
		--enable-root-passwd \
		--with-dpms-ext \
		--with-xinerama-ext \
		--with-xshm-ext \
		--with-proc-interrupts \
		--with-shadow \
		--with-pixbuf \
		--with-jpeg \
		--without-motif \
		--without-gle \
		--without-setuid-hacks

	make
	make install_prefix=$PKG install
	rm $PKG/usr/share/xscreensaver/config/README
	install -d $PKG/usr/share/wallpapers
}

Added contrib/xtables-addons/Pkgfile.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Description: Xtables-addons is the proclaimed successor to patch-o-matic(-ng). It contains extensions that were not accepted in the main Xtables package.
# URL: http://jengelh.medozas.de/projects/xtables/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com
# Depends on: iptables libmnl

name=xtables-addons
version=1.41
release=1
source=(http://downloads.sourceforge.net/project/$name/Xtables-addons/$version/$name-$version.tar.xz)

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--libexecdir=/usr/lib \
		--mandir=/usr/man \
		--disable-dependency-tracking

	make
	make DESTDIR=$PKG install
}

Added contrib/xtables-addons/README.















>
>
>
>
>
>
>
1
2
3
4
5
6
7
20120107

echo build_ipset6=m >>mconfig

If you really need ipset in xtables-addons that supports kernel = 3.2.x

Or prt-get depinst ipset if your using a kernel <= 3.1.x

Added contrib/xtables-geoip/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: GeoIP database files for xt_geoip in xtables-addons.
# URL: http://www.maxmind.com/app/geoip_country
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Danny Rawlins, monster dot romster at gmail dot com
# Depends on: p5-text-csv-xs xtables-addons

name=xtables-geoip
version=20120210
release=1
source=(http://www.hvlinux.net/crux/distfiles/$name/GeoIPCountryCSV-20120209.zip
	http://www.hvlinux.net/crux/distfiles/$name/GeoIPv6-20120210.csv.gz)

build() {
	gunzip $SRC/GeoIPv6-*.csv.gz

	install -d $PKG/usr/share/xt_geoip

	/usr/lib/xtables-addons/xt_geoip_build \
		-D $PKG/usr/share/xt_geoip/ $SRC/*.csv
}

Added contrib/zabbix_agentd/Pkgfile.

































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# Description: zabbix agent daemon
# URL: http://www.zabbix.com
# Maintainer: Mikhail Kolesnik, mike at openbunker dot org
# Depends on:

name=zabbix_agentd
version=1.8.6
release=1
source=(http://download.sourceforge.net/zabbix/ZABBIX%20Latest%20Stable/$version/zabbix-$version.tar.gz \
		$name.conf $name)

build() {
	cd zabbix-$version
	./configure --prefix=/usr \
				--enable-agent
	make
	mkdir -p $PKG/{var/log/$name,var/run/$name,usr/bin}
	
	touch $PKG/var/log/$name/{zabbix_agentd.log,zabbix_agentd.log.old}
	chown -R daemon:daemon $PKG/var/log/$name
	find $PKG/var/log/$name -type f | xargs chmod 600
	find $PKG/var/log/$name -type d | xargs chmod 700
	
	touch $PKG/var/run/$name/$name.pid
	chown -R daemon:daemon $PKG/var/run/$name
	find $PKG/var/run/$name -type f | xargs chmod 600
	find $PKG/var/run/$name -type d | xargs chmod 700

	install -m 755 src/zabbix_agent/$name $PKG/usr/bin
	install -D -m 640 -o daemon -g daemon $SRC/$name.conf $PKG/etc/zabbix/$name.conf
	install -D -m 755 $SRC/$name $PKG/etc/rc.d/$name
}

Added contrib/zabbix_agentd/README.



























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
README for zabbix agent daemon

REQUIREMENTS

PRE-INSTALL
This port include zabbix_agentd. For other apps see my zabbix_utils port.

POST-INSTALL
1. Change Hostname, ListenIP and Server in /etc/zabbix_agentd.conf to
something useful.

2. On the client (monitored) machines, you may add the following lines to
 /etc/services:
  zabbix_agent 10050/tcp
  zabbix_trap 10051/tcp

3. Run post-install to create dedicated user for the agent instead of 'daemon'.

PRECAUTION
Starting from version 1.6.3 linux agent suppports 'iowait', 'interrupt',
'softirq' and 'steal' for 'system.cpu.util' out of the box. The patch is no
longer provided.

After upgrading from version 1.6.4 log default file location was changed,
adjust /etc/zabbix/zabbix_agentd.conf file:
 LogFile=/var/log/zabbix_agentd/zabbix_agentd.log
and change it's permissions, and possibly delete old log dir.

RESOURCES

Added contrib/zabbix_agentd/post-install.



































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#!/bin/sh
#
# - add $ADD_USER user, $ADD_GROUP group
# - change files permissions
# - reflect changes in config
#
# We'll assume 'passwd', 'group' and 'shadow' files are in sync.

ADD_GID=70
ADD_UID=70
ADD_USER=zbxagent
ADD_USER_HOME=/var/empty
ADD_USER_SHELL=/bin/bash
ADD_GROUP=zabbix

ADD_STATUS=0
if [ -z `getent group | gawk -F: '{ print $1 }' | grep ^$ADD_GROUP$` ]; then
	while [ `getent group | gawk -F: '{ print $3 }' | grep ^$ADD_GID$` ]
	do
		let ADD_GID+=1
	done
	/usr/sbin/groupadd -g $ADD_GID $ADD_GROUP || exit 1
	echo "$0: Created $ADD_GROUP group, GID=$ADD_GID"
	else
		echo "$0: $ADD_GROUP group already exists, trying to create user..."
fi

if [ -z `getent passwd | gawk -F: '{ print $1 }' | grep ^$ADD_USER$` ]; then
	while [ `getent passwd | gawk -F: '{ print $3 }' | grep ^$ADD_UID$` ]
	do
		let ADD_UID+=1
	done
	/usr/sbin/useradd -d $ADD_USER_HOME -s $ADD_USER_SHELL -u $ADD_UID -g $ADD_GROUP $ADD_USER || exit 1
	echo "$0: Created $ADD_USER user, UID=$ADD_UID"
	else
		echo "$0: $ADD_USER user already exists"
		if  [[ `getent passwd | grep ^$ADD_USER: | gawk -F: '{ print $4 }'` != `getent group | grep ^$ADD_GROUP: | gawk -F: '{ print $3 }'` ]]; then
			echo "$0: existing $ADD_USER user is not in $ADD_GROUP group (fix it by hand)."
			ADD_STAUS=2
		fi
fi

# additional
chown -R $ADD_USER:$ADD_GROUP /var/log/zabbix_agentd
chown -R $ADD_USER:$ADD_GROUP /var/run/zabbix_agentd
chown $ADD_USER:$ADD_GROUP /etc/zabbix/zabbix_agentd.conf
sed -i "s|su daemon -c /usr/bin/zabbix_agentd|su $ADD_USER -c /usr/bin/zabbix_agentd|" /etc/rc.d/zabbix_agentd

exit $ADD_STATUS

Added contrib/zabbix_agentd/zabbix_agentd.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/bin/sh
#
# /etc/rc.d/zabbix_agentd: start/stop zabbix agent daemon
#

case $1 in
start)
	su daemon -c /usr/bin/zabbix_agentd
	;;
stop)
	kill `cat /var/run/zabbix_agentd/zabbix_agentd.pid`
	;;
restart)
	$0 stop
	sleep 2
	$0 start
	;;
*)
	echo "usage: $0 [start|stop|restart]"
	;;
esac

# End of file

Added contrib/zabbix_agentd/zabbix_agentd.conf.

















































































































































































































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
# This is a config file for Zabbix Agent (Unix)
# To get more information about Zabbix, visit http://www.zabbix.com

############ GENERAL PARAMETERS #################

### Option: PidFile
#	Name of PID file.
#
# Mandatory: no
# Default:
# PidFile=/tmp/zabbix_agentd.pid

PidFile=/var/run/zabbix_agentd/zabbix_agentd.pid

### Option: LogFile
#	Name of log file.
#	If not set, syslog is used.
#
# Mandatory: no
# Default:
# LogFile=

LogFile=/var/log/zabbix_agentd/zabbix_agentd.log

### Option: LogFileSize
#	Maximum size of log file in MB.
#	0 - disable automatic log rotation.
#
# Mandatory: no
# Range: 0-1024
# Default:
# LogFileSize=1

LogFileSize=10

### Option: DebugLevel
#	Specifies debug level
#	0 - no debug
#	1 - critical information
#	2 - error information
#	3 - warnings
#	4 - for debugging (produces lots of information)
#
# Mandatory: no
# Range: 0-4
# Default:
# DebugLevel=3

### Option: SourceIP
#	Source IP address for outgoing connections.
#
# Mandatory: no
# Default:
# SourceIP=

### Option: EnableRemoteCommands
#	Whether remote commands from Zabbix server are allowed.
#	0 - not allowed
#	1 - allowed
#
# Mandatory: no
# Default:
# EnableRemoteCommands=0

### Option: LogRemoteCommands
#	Enable logging of executed shell commands as warnings.
#	0 - disabled
#	1 - enabled
#
# Mandatory: no
# Default:
# LogRemoteCommands=0

##### Passive checks related

### Option: Server
#	List of comma delimited IP addresses (or hostnames) of Zabbix servers.
#	No spaces allowed. First entry is used for receiving list of and sending active checks.
#	If IPv6 support is enabled then '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' are treated equally.
#
# Mandatory: yes
# Default:
# Server=

Server=127.0.0.1

### Option: Hostname
#	Unique, case sensitive hostname.
#	Required for active checks and must match hostname as configured on the server.
#	Value is acquired from HostnameItem if undefined.
#
# Mandatory: no
# Default:
# Hostname=

Hostname=localhost

### Option: HostnameItem
#	Item used for generating Hostname if it is undefined.
#	Ignored if Hostname is defined.
#
# Mandatory: no
# Default:
# HostnameItem=system.hostname

### Option: ListenPort
#	Agent will listen on this port for connections from the server.
#
# Mandatory: no
# Range: 1024-32767
# Default:
# ListenPort=10050

### Option: ListenIP
#	List of comma delimited IP addresses that the agent should listen on.
#
# Mandatory: no
# Default:
# ListenIP=0.0.0.0

### Option: DisablePassive
#	Disable passive checks. The agent will not listen on any TCP port.
#	Only active checks will be processed.
#	0 - do not disable
#	1 - disable
#
# Mandatory: no
# Default:
# DisablePassive=0

##### Active checks related

### Option: DisableActive
#	Disable active checks. The agent will work in passive mode listening for server.
#
# Mandatory: no
# Default:
# DisableActive=0

### Option: ServerPort
#	Server port for retrieving list of and sending active checks.
#
# Mandatory: no
# Default:
# ServerPort=10051

### Option: RefreshActiveChecks
#	How often list of active checks is refreshed, in seconds.
#
# Mandatory: no
# Range: 60-3600
# Default:
# RefreshActiveChecks=120

### Option: BufferSend
#	Do not keep data longer than N seconds in buffer.
#
# Mandatory: no
# Range: 1-3600
# Default:
# BufferSend=5

### Option: BufferSize
#	Maximum number of values in a memory buffer. The agent will send
#	all collected data to Zabbix Server or Proxy if the buffer is full.
#
# Mandatory: no
# Range: 2-65535
# Default:
# BufferSize=100

### Option: MaxLinesPerSecond
#	Maximum number of new lines the agent will send per second to Zabbix Server
#	or Proxy processing 'log' and 'logrt' active checks.
#	The provided value will be overridden by the parameter 'maxlines',
#	provided in 'log' or 'logrt' item keys.
#
# Mandatory: no
# Range: 1-1000
# Default:
# MaxLinesPerSecond=100

### Option: AllowRoot
#	Allow the agent to run as 'root'. If disabled and the agent is started by 'root', the agent
#       will try to switch to user 'zabbix' instead. Has no effect if started under a regular user.
#	0 - do not allow
#	1 - allow
#
# Mandatory: no
# Default:
# AllowRoot=0

############ ADVANCED PARAMETERS #################

### Option: Alias
#	Sets an alias for parameter. It can be useful to substitute long and complex parameter name with a smaller and simpler one.
#
# Mandatory: no
# Range:
# Default:

### Option: StartAgents
#	Number of pre-forked instances of zabbix_agentd that process passive checks.
#
# Mandatory: no
# Range: 1-100
# Default:
# StartAgents=3

### Option: Timeout
#	Spend no more than Timeout seconds on processing
#
# Mandatory: no
# Range: 1-30
# Default:
# Timeout=3

### Option: Include
#	You may include individual files or all files in a directory in the configuration file.
#
# Mandatory: no
# Default:
# Include=

# Include=/etc/zabbix/zabbix_agentd.userparams.conf
# Include=/etc/zabbix/zabbix_agentd/

####### USER-DEFINED MONITORED PARAMETERS #######

### Option: UnsafeUserParameters
#	Allow all characters to be passed in arguments to user-defined parameters.
#	0 - do not allow
#	1 - allow
#
# Mandatory: no
# Range: 0-1
# Default:
# UnsafeUserParameters=0

### Option: UserParameter
#	User-defined parameter to monitor. There can be several user-defined parameters.
#	Format: UserParameter=<key>,<shell command>
#	Note that shell command must not return empty string or EOL only.
#	See 'zabbix_agentd' directory for examples.
#
# Mandatory: no
# Default:
# UserParameter=

Added contrib/zabbix_server/Pkgfile.















































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# Description: Applications, network and servers monitoring software
# URL: http://www.zabbix.com
# Maintainer: Mikhail Kolesnik, mike at openbunker dot org
# Depends on: net-snmp fping mysql

name=zabbix_server
version=1.8.6
release=1
source=(http://download.sourceforge.net/zabbix/ZABBIX%20Latest%20Stable/$version/zabbix-$version.tar.gz \
		$name.conf $name)

build() {
	cd zabbix-$version
	./configure --prefix=/usr \
				--mandir=/usr/man \
				--enable-server \
				--with-net-snmp \
				--with-libcurl \
				--with-mysql
	# replace '--with-mysql' with '--with-pgsql' to build with postgresql support
	
	make
	make DESTDIR=$PKG install
	
	mkdir -p $PKG/{var/log/$name,var/run/$name}
	
	touch $PKG/var/log/$name/$name.log
	chown -R daemon:daemon $PKG/var/log/$name
	find $PKG/var/log/$name -type f | xargs chmod 600
	find $PKG/var/log/$name -type d | xargs chmod 700
	
	touch $PKG/var/run/$name/$name.pid
	chown -R daemon:daemon $PKG/var/run/$name
	find $PKG/var/run/$name -type f | xargs chmod 600
	find $PKG/var/run/$name -type d | xargs chmod 700
	
	install -D -m 640 -o daemon -g daemon $SRC/$name.conf $PKG/etc/zabbix/$name.conf
	install -D -m 755 $SRC/$name $PKG/etc/rc.d/$name
}

Added contrib/zabbix_server/README.



























>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
README for zabbix server

Contents of this file were wikified, see current version at:
http://crux.nu/Wiki/InstallingZabbix

PRECAUTION
For detailed upgrade instructions please refer to
http://www.zabbix.com/documentation/1.8/manual/about/installation_and_upgrade

After upgrading from version 1.6.4 default log file location was changed,
adjust /etc/zabbix/zabbix_server.conf:
 LogFile=/var/log/zabbix_server/zabbix_server.log
and change it's permissions, and possibly delete old log dir.

Added contrib/zabbix_server/post-install.



































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#!/bin/sh
#
# - add $ADD_USER user, $ADD_GROUP group
# - change files permissions
# - reflect changes in config
#
# We'll assume 'passwd', 'group' and 'shadow' files are in sync.

ADD_GID=72
ADD_UID=72
ADD_USER=zabbix
ADD_USER_HOME=/var/empty
ADD_USER_SHELL=/bin/bash
ADD_GROUP=zabbix

ADD_STATUS=0
if [ -z `getent group | gawk -F: '{ print $1 }' | grep ^$ADD_GROUP$` ]; then
	while [ `getent group | gawk -F: '{ print $3 }' | grep ^$ADD_GID$` ]
	do
		let ADD_GID+=1
	done
	/usr/sbin/groupadd -g $ADD_GID $ADD_GROUP || exit 1
	echo "$0: Created $ADD_GROUP group, GID=$ADD_GID"
	else
		echo "$0: $ADD_GROUP group already exists, trying to create user..."
fi

if [ -z `getent passwd | gawk -F: '{ print $1 }' | grep ^$ADD_USER$` ]; then
	while [ `getent passwd | gawk -F: '{ print $3 }' | grep ^$ADD_UID$` ]
	do
		let ADD_UID+=1
	done
	/usr/sbin/useradd -d $ADD_USER_HOME -s $ADD_USER_SHELL -u $ADD_UID -g $ADD_GROUP $ADD_USER || exit 1
	echo "$0: Created $ADD_USER user, UID=$ADD_UID"
	else
		echo "$0: $ADD_USER user already exists"
		if  [[ `getent passwd | grep ^$ADD_USER: | gawk -F: '{ print $4 }'` != `getent group | grep ^$ADD_GROUP: | gawk -F: '{ print $3 }'` ]]; then
			echo "$0: existing $ADD_USER user is not in $ADD_GROUP group (fix it by hand)."
			ADD_STAUS=2
		fi
fi

# additional
chown -R $ADD_USER:$ADD_GROUP /var/log/zabbix_server
chown -R $ADD_USER:$ADD_GROUP /var/run/zabbix_server
chown $ADD_USER:$ADD_GROUP /etc/zabbix/zabbix_server.conf
sed -i "s|su daemon -c /usr/sbin/zabbix_server|su $ADD_USER -c /usr/sbin/zabbix_server|" /etc/rc.d/zabbix_server

exit $ADD_STATUS

Added contrib/zabbix_server/zabbix_server.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/bin/sh
#
# /etc/rc.d/zabbix_server: start/stop zabbix server
#

case $1 in
start)
	su daemon -c /usr/sbin/zabbix_server
	;;
stop)
	kill `cat /var/run/zabbix_server/zabbix_server.pid`
	;;
restart)
	$0 stop
	sleep 1
	$0 start
	;;
*)
	echo "usage: $0 [start|stop|restart]"
	;;
esac

# End of file

Added contrib/zabbix_server/zabbix_server.conf.

























































































































































































































































































































































































































































































































































































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
# This is a configuration file for Zabbix Server process
# To get more information about Zabbix,
# visit http://www.zabbix.com

############ GENERAL PARAMETERS #################

### Option: NodeID
#	Unique NodeID in distributed setup.
#	0 - standalone server
#
# Mandatory: no
# Range: 0-999
# Default:
# NodeID=0

### Option: ListenPort
#	Listen port for trapper.
#
# Mandatory: no
# Range: 1024-32767
# Default:
# ListenPort=10051

### Option: SourceIP
#	Source IP address for outgoing connections.
#
# Mandatory: no
# Default:
# SourceIP=

### Option: LogFile
#	Name of log file.
#	If not set, syslog is used.
#
# Mandatory: no
# Default:
# LogFile=

LogFile=/var/log/zabbix_server/zabbix_server.log

### Option: LogFileSize
#	Maximum size of log file in MB.
#	0 - disable automatic log rotation.
#
# Mandatory: no
# Range: 0-1024
# Default:
# LogFileSize=1

LogFileSize=5

### Option: DebugLevel
#	Specifies debug level
#	0 - no debug
#	1 - critical information
#	2 - error information
#	3 - warnings
#	4 - for debugging (produces lots of information)
#
# Mandatory: no
# Range: 0-4
# Default:
# DebugLevel=3

### Option: PidFile
#	Name of PID file.
#
# Mandatory: no
# Default:
# PidFile=/tmp/zabbix_server.pid

PidFile=/var/run/zabbix_server/zabbix_server.pid

### Option: DBHost
#	Database host name.
#	If set to localhost, socket is used for MySQL.
#
# Mandatory: no
# Default:
# DBHost=localhost

### Option: DBName
#	Database name.
#	For SQLite3 path to database file must be provided. DBUser and DBPassword are ignored.
#
# Mandatory: yes
# Default:
# DBName=

DBName=zabbix

### Option: DBSchema
#	Schema name. Used for IBM DB2.
#
# Mandatory: no
# Default:
# DBSchema=

### Option: DBUser
#	Database user. Ignored for SQLite.
#
# Mandatory: no
# Default:
# DBUser=

DBUser=root

### Option: DBPassword
#	Database password. Ignored for SQLite.
#	Comment this line if no password is used.
#
# Mandatory: no
# Default:
# DBPassword=

### Option: DBSocket
#	Path to MySQL socket.
#
# Mandatory: no
# Default:
# DBSocket=/tmp/mysql.sock

### Option: DBPort
#	Database port when not using local socket. Ignored for SQLite.
#
# Mandatory: no
# Range: 1024-65535
# Default (for MySQL):
# DBPort=3306

############ ADVANCED PARAMETERS ################

### Option: StartPollers
#	Number of pre-forked instances of pollers.
#
# Mandatory: no
# Range: 0-1000
# Default:
# StartPollers=5

### Option: StartIPMIPollers
#	Number of pre-forked instances of IPMI pollers.
#
# Mandatory: no
# Range: 0-1000
# Default:
# StartIPMIPollers=0

### Option: StartPollersUnreachable
#	Number of pre-forked instances of pollers for unreachable hosts (including IPMI).
#
# Mandatory: no
# Range: 0-1000
# Default:
# StartPollersUnreachable=1

### Option: StartTrappers
#	Number of pre-forked instances of trappers.
#
# Mandatory: no
# Range: 0-1000
# Default:
# StartTrappers=5

### Option: StartPingers
#	Number of pre-forked instances of ICMP pingers.
#
# Mandatory: no
# Range: 0-1000
# Default:
# StartPingers=1

### Option: StartDiscoverers
#	Number of pre-forked instances of discoverers.
#
# Mandatory: no
# Range: 0-250
# Default:
# StartDiscoverers=1

### Option: StartHTTPPollers
#	Number of pre-forked instances of HTTP pollers.
#
# Mandatory: no
# Range: 0-1000
# Default:
# StartHTTPPollers=1

### Option: ListenIP
#	List of comma delimited IP addresses that the trapper should listen on.
#	Trapper will listen on all network interfaces if this parameter is missing.
#
# Mandatory: no
# Default:
# ListenIP=0.0.0.0

# ListenIP=127.0.0.1

### Option: HousekeepingFrequency
#	How often Zabbix will perform housekeeping procedure (in hours).
#	Housekeeping is removing unnecessary information from history, alert, and alarms tables.
#
# Mandatory: no
# Range: 1-24
# Default:
# HousekeepingFrequency=1

### Option: MaxHousekeeperDelete
#	The table "housekeeper" contains "tasks" for housekeeping procedure in the format:
#	[housekeeperid], [tablename], [field], [value].
#	No more than 'MaxHousekeeperDelete' rows (corresponding to [tablename], [field], [value])
#	will be deleted per one task in one housekeeping cycle.
#	SQLite3 does not use this parameter, deletes all corresponding rows without a limit.
#	If set to 0 then no limit is used at all. In this case you must know what you are doing!
#
# Mandatory: no
# Range: 0-1048576
# Default:
# MaxHousekeeperDelete=500

### Option: DisableHousekeeping
#	If set to 1, disables housekeeping.
#
# Mandatory: no
# Range: 0-1
# Default:
# DisableHousekeeping=0

### Option: SenderFrequency
#	How often Zabbix will try to send unsent alerts (in seconds).
#
# Mandatory: no
# Range: 5-3600
# Default:
# SenderFrequency=30

### Option: CacheSize
#	Size of configuration cache, in bytes.
#	Shared memory size for storing hosts and items data.
#
# Mandatory: no
# Range: 128K-1G
# Default:
# CacheSize=8M

### Option: CacheUpdateFrequency
#	How often Zabbix will perform update of configuration cache, in seconds.
#
# Mandatory: no
# Range: 1-3600
# Default:
# CacheUpdateFrequency=60

### Option: HistoryCacheSize
#	Size of history cache, in bytes.
#	Shared memory size for storing history data.
#
# Mandatory: no
# Range: 128K-1G
# Default:
# HistoryCacheSize=8M

### Option: TrendCacheSize
#	Size of trend cache, in bytes.
#	Shared memory size for storing trends data.
#
# Mandatory: no
# Range: 128K-1G
# Default:
# TrendCacheSize=4M

### Option: HistoryTextCacheSize
#	Size of text history cache, in bytes.
#	Shared memory size for storing character, text or log history data.
#
# Mandatory: no
# Range: 128K-1G
# Default:
# HistoryTextCacheSize=16M

### Option: NodeNoEvents
#	If set to '1' local events won't be sent to master node.
#	This won't impact ability of this node to propagate events from its child nodes.
#
# Mandatory: no
# Range: 0-1
# Default:
# NodeNoEvents=0

### Option: NodeNoHistory
#	If set to '1' local history won't be sent to master node.
#	This won't impact ability of this node to propagate history from its child nodes.
#
# Mandatory: no
# Range: 0-1
# Default:
# NodeNoHistory=0

### Option: Timeout
#	Specifies how long we wait for agent, SNMP device or external check (in seconds).
#
# Mandatory: no
# Range: 1-30
# Default:
# Timeout=3
Timeout=5

### Option: TrapperTimeout
#	Specifies how many seconds trapper may spend processing new data.
#
# Mandatory: no
# Range: 1-300
# Default:
# TrapperTimeout=300

### Option: UnreachablePeriod
#	After how many seconds of unreachability treat a host as unavailable.
#
# Mandatory: no
# Range: 1-3600
# Default:
# UnreachablePeriod=45

### Option: UnavailableDelay
#	How often host is checked for availability during the unavailability period, in seconds.
#
# Mandatory: no
# Range: 1-3600
# Default:
# UnavailableDelay=60

### Option: UnreachableDelay
#	How often host is checked for availability during the unreachability period, in seconds.
#
# Mandatory: no
# Range: 1-3600
# Default:
# UnreachableDelay=15

### Option: AlertScriptsPath
#	Location of custom alert scripts
#
# Mandatory: no
# Default:
# AlertScriptsPath=/home/zabbix/bin/

### Option: ExternalScripts
#	Location of external scripts
#
# Mandatory: no
# Default:
# ExternalScripts=/etc/zabbix/externalscripts

### Option: FpingLocation
#	Location of fping.
#	Make sure that fping binary has root ownership and SUID flag set.
#
# Mandatory: no
# Default:
# FpingLocation=/usr/sbin/fping

### Option: Fping6Location
#	Location of fping6.
#	Make sure that fping6 binary has root ownership and SUID flag set.
#	Make empty if your fping utility is capable to process IPv6 addresses.
#
# Mandatory: no
# Default:
# Fping6Location=/usr/sbin/fping6

### Option: SSHKeyLocation
#	Location of public keys for SSH checks
#
# Mandatory: no
# Default:
# SSHKeyLocation=

### Option: LogSlowQueries
#	How long a database query may take before being logged (in milliseconds).
#	0 - don't log slow queries.
#
# Mandatory: no
# Range: 1-3600000
# Default:
# LogSlowQueries=0

### Option: TmpDir
#	Temporary directory.
#
# Mandatory: no
# Default:
# TmpDir=/tmp

### Option: Include
#	You may include individual files or all files in a directory in the configuration file.
#
# Mandatory: no
# Default:
# Include=

# Include=/etc/zabbix/zabbix_server.general.conf
# Include=/etc/zabbix/zabbix_server/

### Option: StartProxyPollers
#	Number of pre-forked instances of pollers for passive proxies.
#
# Mandatory: no
# Range: 0-250
# Default:
# StartProxyPollers=1

### Option: ProxyConfigFrequency
#	How often Zabbix Server sends configuration data to a Zabbix Proxy in seconds.
#	This parameter is used only for proxies in the passive mode.
#
# Mandatory: no
# Range: 1-3600*24*7
# Default:
# ProxyConfigFrequency=3600

### Option: ProxyDataFrequency
#	How often Zabbix Server requests history data from a Zabbix Proxy in seconds.
#	This parameter is used only for proxies in the passive mode.
#
# Mandatory: no
# Range: 1-3600
# Default:
# ProxyDataFrequency=1

Added contrib/zabbix_utils/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: zabbix utils (sender, agent, get)
# URL: http://www.zabbix.com
# Maintainer: Mikhail Kolesnik, mike at openbunker dot org
# Depends on:

name=zabbix_utils
version=1.8.6
release=1
source=(http://download.sourceforge.net/zabbix/ZABBIX%20Latest%20Stable/$version/zabbix-$version.tar.gz)

build() {
	cd zabbix-$version
	./configure --prefix=/usr \
				--enable-agent
	make
	mkdir -p $PKG/usr/bin
	install -m 755 src/zabbix_agent/zabbix_agent $PKG/usr/bin
	install -m 755 src/zabbix_sender/zabbix_sender $PKG/usr/bin
	install -m 755 src/zabbix_get/zabbix_get $PKG/usr/bin
	install -D -m 644 misc/conf/zabbix_agent.conf $PKG/etc/zabbix/zabbix_agent.conf
}

Added contrib/zabbix_utils/README.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
README for zabbix utils

REQUIREMENTS

PRE-INSTALL

POST-INSTALL
1. Change Hostname, ListenIP and Server in /etc/zabbix_agent.conf to
something useful.

2. On the client (monitored) machines, you may add the following lines to
 /etc/services:
  zabbix_agent 10050/tcp
  zabbix_trap 10051/tcp

3. Run post-install to create dedicated user for the agent instead of 'daemon'.

RESOURCES

Added contrib/zabbix_utils/post-install.























































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#!/bin/sh
#
# - add $ADD_USER user, $ADD_GROUP group
# - change files permissions
# - reflect changes in config
#
# We'll assume 'passwd', 'group' and 'shadow' files are in sync.

ADD_GID=70
ADD_UID=70
ADD_USER=zbxagent
ADD_USER_HOME=/var/empty
ADD_USER_SHELL=/bin/bash
ADD_GROUP=zabbix

ADD_STATUS=0
if [ -z `getent group | gawk -F: '{ print $1 }' | grep ^$ADD_GROUP$` ]; then
	while [ `getent group | gawk -F: '{ print $3 }' | grep ^$ADD_GID$` ]
	do
		let ADD_GID+=1
	done
	/usr/sbin/groupadd -g $ADD_GID $ADD_GROUP || exit 1
	echo "$0: Created $ADD_GROUP group, GID=$ADD_GID"
	else
		echo "$0: $ADD_GROUP group already exists, trying to create user..."
fi

if [ -z `getent passwd | gawk -F: '{ print $1 }' | grep ^$ADD_USER$` ]; then
	while [ `getent passwd | gawk -F: '{ print $3 }' | grep ^$ADD_UID$` ]
	do
		let ADD_UID+=1
	done
	/usr/sbin/useradd -d $ADD_USER_HOME -s $ADD_USER_SHELL -u $ADD_UID -g $ADD_GROUP $ADD_USER || exit 1
	echo "$0: Created $ADD_USER user, UID=$ADD_UID"
	else
		echo "$0: $ADD_USER user already exists"
		if  [[ `getent passwd | grep ^$ADD_USER: | gawk -F: '{ print $4 }'` != `getent group | grep ^$ADD_GROUP: | gawk -F: '{ print $3 }'` ]]; then
			echo "$0: existing $ADD_USER user is not in $ADD_GROUP group (fix it by hand)."
			ADD_STAUS=2
		fi
fi

exit $ADD_STATUS

Added contrib/zaptel/Pkgfile.





















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# Description:	Zaptel driver for various telephony cards
# URL:		http://www.voip-info.org/wiki/view/Zaptel
# Maintainer:	Alan Mizrahi, alan at mizrahi dot com dot ve
# Depends on:	libusb

name=zaptel
version=1.4.11
release=1
source=(http://ftp.digium.com/pub/$name/releases/$name-$version.tar.gz zaptel-mmx.patch)

build () {
	mkdir -p $PKG/usr/share/man/man8
	cd $name-$version
	./configure --prefix=/usr --disable-nls
        # Check if this processor supports MMX instruction set
	if [ -n "`grep '^flags.*mmx' /proc/cpuinfo`" ]; then
		patch -p1 < $SRC/zaptel-mmx.patch
	fi
	make
	make prefix=/usr DESTDIR=$PKG install
	rm -rf $PKG/dev $PKG/lib/modules/*/modules.*
	mkdir -p $PKG/etc/udev/rules.d
	./build_tools/genudevrules > $PKG/etc/udev/rules.d/50-zaptel.rules
	cp zaptel.conf.sample $PKG/etc/zaptel.conf
	mv $PKG/usr/share/man $PKG/usr
}

Added contrib/zaptel/zaptel-mmx.patch.























>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
--- zaptel-1.4.11/kernel/zconfig.h.orig	2008-07-08 07:10:28.134773466 -0430
+++ zaptel-1.4.11/kernel/zconfig.h	2008-07-08 07:10:43.616179234 -0430
@@ -52,7 +52,7 @@
  * processors and can cause system instability!
  * 
  */
-/* #define CONFIG_ZAPTEL_MMX */
+#define CONFIG_ZAPTEL_MMX
 
 /** If defined: the user must define exactly one ECHO_CAN_ var: */
 #ifndef ECHO_CAN_FROMENV 

Added contrib/zope.interface/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: Zope3 interface library.
# URL: http://pypi.python.org/pypi/zope.interface/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Lucas Hazel, lucas at die dot net dot au
# Depends on: setuptools
	
name=zope.interface
version=3.8.0
release=1
source=(http://pypi.python.org/packages/source/z/$name/$name-$version.tar.gz)
	
build() {
	cd $name-$version
	python setup.py install --root=$PKG --prefix=/usr
	rm $PKG/usr/lib/python*/site-packages/zope/interface/README{,.ru}.txt
	find $PKG -name '*egg-info' | xargs rm -rf
}

Added contrib/zsync/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Optimized client-side rsync algorithm like rsync -z, that no requires a remote server application
# URL: http://zsync.moria.org.uk/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Jose V Beneyto, sepen at crux dot nu
# Depends on:

name=zsync
version=0.6.1
release=1
source=(http://zsync.moria.org.uk/download/$name-$version.tar.bz2)

build() {
	cd $name-$version
	./configure --prefix=/usr
	make
	make DESTDIR=$PKG install
	rm -rf $PKG/usr/share
}

Added core-x86_64/README.



>
1
This is the core ports repository for the x86_64 architecture.

Added core-x86_64/bin86/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: 8086 assembler and loader which can generate 32-bit code for the 386+ processors
# URL:         http://www.debath.co.uk/
# Maintainer:  CRUX System Team, core-ports at crux dot nu

name=bin86
version=0.16.18
release=1
source=(http://rdebath.nfshost.com/dev86/$name-$version.tar.gz \
        $name-x86_64.patch)

build() {
    cd $name-$version
    patch -p1 < ../$name-x86_64.patch
    make -j1 CFLAGS="$CFLAGS -D_POSIX_SOURCE" PREFIX=/usr
    mkdir -p $PKG/usr/bin
    mkdir -p $PKG/usr/man/man1
    make PREFIX=$PKG/usr install
}

Added core-x86_64/bin86/bin86-x86_64.patch.





























>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
diff -urN bin86-0.16.14-orig/ld/x86_aout.h bin86-0.16.14/ld/x86_aout.h
--- bin86-0.16.14-orig/ld/x86_aout.h    2004-11-07 20:07:31.506442000 +0100
+++ bin86-0.16.14/ld/x86_aout.h 2004-11-07 20:07:41.106982496 +0100
@@ -12,6 +12,9 @@
 #if defined(i386) || defined(__BCC__) || defined(MSDOS)
 typedef long Long;
 #define __OUT_OK 1
+#elif defined(__x86_64__)
+typedef int Long;
+#define __OUT_OK 1
 #else
 typedef char Long[4];
 #endif

Added core-x86_64/binutils/Pkgfile.























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# Description: The GNU Binutils are a collection of binary tools
# URL:         http://sources.redhat.com/binutils/
# Maintainer:  CRUX System Team, core-ports at crux dot nu
# Arch Maintainer: Fredrik Rinnestam, fredrik at rinnestam dot se
# Depends on:  zlib

name=binutils
version=2.20.1
release=1
source=(ftp://ftp.gnu.org/gnu/$name/$name-${version}a.tar.bz2)

build() {
    sed -i '/^SUBDIRS/s/doc//' $name-2.20.1/bfd/Makefile.in
    sed -i '/^# RELEASE=y/s/#//' $name-2.20.1/bfd/Makefile.in
    mkdir build
    cd build
    ../$name-2.20.1/configure --prefix=/usr \
                                --mandir=/usr/man \
                                --enable-shared \
                                --disable-nls
    make tooldir=/usr
    make check
    make tooldir=/usr DESTDIR=$PKG install
    install -m 0644  ../$name-$version/include/libiberty.h $PKG/usr/include
    rm -r $PKG/usr/share
    sed -i "s|-L$SRC[^ ]* ||g" $PKG/usr/lib/libbfd.la
}

Added core-x86_64/filesystem/Pkgfile.





































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
# Description: Root filesystem package
# URL:         http://crux.nu
# Maintainer:  CRUX System Team, core-ports at crux dot nu

name=filesystem
version=2.7
release=1
source=(issue motd shells group passwd shadow securetty fstab mime.types)

build() {
    # Directory structure
    mkdir $PKG/bin
    mkdir $PKG/sbin
    mkdir $PKG/boot
    mkdir $PKG/dev
    mkdir $PKG/proc
    mkdir $PKG/sys
    mkdir $PKG/etc
    mkdir $PKG/tmp
    mkdir $PKG/mnt
    mkdir $PKG/root
    mkdir $PKG/lib
    mkdir $PKG/lib/modules
    mkdir $PKG/opt
    mkdir $PKG/opt/bin
    mkdir $PKG/opt/sbin
    mkdir $PKG/usr
    mkdir $PKG/usr/{bin,include,lib,sbin,share,src,man}
    mkdir $PKG/usr/man/man{1,2,3,4,5,6,7,8}
    ln -s ../var $PKG/usr/var
    ln -s ../lib $PKG/lib64
    mkdir $PKG/var
    mkdir $PKG/var/cache
    mkdir $PKG/var/lib
    mkdir $PKG/var/lib/pkg
    mkdir $PKG/var/lock
    mkdir $PKG/var/log
    mkdir $PKG/var/log/old
    mkdir $PKG/var/run
    touch $PKG/var/run/utmp
    mkdir $PKG/var/spool
    mkdir $PKG/var/spool/mail
    mkdir $PKG/var/tmp
    mkdir $PKG/var/ftp
    mkdir $PKG/var/www
    mkdir $PKG/var/empty
    ln -s spool/mail $PKG/var/mail
    mkdir $PKG/home

    chmod 1777 $PKG/var/spool/mail
    chmod 1777 $PKG/tmp
    chmod 1777 $PKG/var/lock
    chmod 1777 $PKG/var/tmp
    chmod 0750 $PKG/root

    # /dev
    mknod $PKG/dev/console c 5 1
    chmod 0600 $PKG/dev/console

    # /etc
    cp issue $PKG/etc
    cp motd $PKG/etc
    cp shells $PKG/etc
    cp group $PKG/etc
    cp passwd $PKG/etc
    cp shadow $PKG/etc
    cp securetty $PKG/etc
    cp fstab $PKG/etc
    cp mime.types $PKG/etc
    touch $PKG/etc/mtab
    chmod 640 $PKG/etc/shadow

    # /usr/bin/crux
cat > $PKG/usr/bin/crux << EOF
#!/bin/sh

echo "CRUX version $version x86_64"

# End of file
EOF
    chmod 755 $PKG/usr/bin/crux
}

Added core-x86_64/filesystem/fstab.























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#
# /etc/fstab: static file system information
#
# <file system>        <dir>     <type>    <options>              <dump> <pass>

#/dev/#REISERFS_ROOT#  /         reiserfs  defaults               0      0
#/dev/#EXT3FS_ROOT#    /         ext3      defaults               0      1
#/dev/#EXT4FS_ROOT#    /         ext4      defaults               0      1
#/dev/#JFS_ROOT#       /         jfs       defaults               1      1
#/dev/#XFS_ROOT#       /         xfs       defaults               0      0
#/dev/#SWAP#           swap      swap      defaults               0      0
#/dev/#REISERFS_HOME#  /home     reiserfs  defaults               0      0
#/dev/#EXT3FS_HOME#    /home     ext3      defaults               0      2
#/dev/#EXT4FS_HOME#    /home     ext4      defaults               0      2
#/dev/#JFS_HOME#       /home     jfs       defaults               1      2
#/dev/#XFS_HOME#       /home     xfs       defaults               0      0
#/dev/cdrom            /cdrom    iso9660   ro,user,noauto,unhide  0      0
#/dev/dvd              /dvd      udf       ro,user,noauto,unhide  0      0
#/dev/floppy/0         /floppy   vfat      user,noauto,unhide     0      0
devpts                 /dev/pts  devpts    defaults               0      0
none                   /sys      sysfs     defaults               0      0
none                   /proc     proc      defaults               0      0
#tmp                   /tmp      tmpfs     defaults               0      0
#shm                   /dev/shm  tmpfs     defaults               0      0
#usb                   /proc/bus/usb usbfs defaults               0      0

# End of file

Added core-x86_64/filesystem/group.



















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
root::0:root
bin::1:root,bin,daemon
daemon::2:root,bin,daemon
sys::3:root,bin
adm::4:root,daemon
tty::5:
disk::6:root
lp::7:daemon
mem::8:
kmem::9:
wheel::10:root
ftp::11:
mail::12:
mlocate::13:
dialout::14:
www::15:
audio::16:
video::17:
floppy::18:
tape::19:
scanner::20:
cdrom::21:
nobody::99:
messagebus::81:
users::100:

Added core-x86_64/filesystem/issue.







>
>
>
1
2
3

CRUX  (\n) (\l)

Added core-x86_64/filesystem/mime.types.









































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#
# /etc/mime.types: mime types
#

application/andrew-inset	ez
application/excel		xls
application/octet-stream	bin
application/oda			oda
application/pdf			pdf
application/pgp			pgp
application/postscript		ps PS eps
application/rtf			rtf
application/x-arj-compressed	arj
application/x-bcpio		bcpio
application/x-chess-pgn		pgn
application/x-cpio		cpio
application/x-csh		csh
application/x-debian-package	deb
application/x-msdos-program	com exe bat
application/x-dvi		dvi
application/x-gtar		gtar
application/x-gunzip		gz
application/x-hdf		hdf
application/x-latex		latex
application/x-mif		mif
application/x-netcdf		cdf nc
application/x-perl		pl pm
application/x-rar-compressed	rar
application/x-sh		sh
application/x-shar		shar
application/x-sv4cpio		sv4cpio
application/x-sv4crc		sv4crc
application/x-tar		tar
application/x-tar-gz		tgz tar.gz
application/x-tcl		tcl
application/x-tex		tex
application/x-texinfo		texi texinfo
application/x-troff		t tr roff
application/x-troff-man		man
application/x-troff-me		me
application/x-troff-ms		ms
application/x-ustar		ustar
application/x-wais-source	src
application/x-zip-compressed	zip

audio/basic			snd
audio/midi			mid midi
audio/ulaw			au
audio/x-aiff			aif aifc aiff
audio/x-wav			wav

image/gif			gif
image/ief			ief
image/jpeg			jpe jpeg jpg
image/png			png
image/tiff			tif tiff
image/x-cmu-raster		ras
image/x-portable-anymap		pnm
image/x-portable-bitmap		pbm
image/x-portable-graymap	pgm
image/x-portable-pixmap		ppm
image/x-rgb			rgb
image/x-xbitmap			xbm
image/x-xpixmap			xpm
image/x-xwindowdump		xwd

text/html			html htm
text/plain			asc txt
text/css			css
text/richtext			rtx
text/tab-separated-values	tsv
text/x-setext			etx

video/dl			dl
video/fli			fli
video/gl			gl
video/mpeg			mp2 mpe mpeg mpg
video/quicktime			mov qt
video/x-msvideo			avi
video/x-sgi-movie		movie

x-world/x-vrml			vrm vrml wrl

# End of file

Added core-x86_64/filesystem/motd.

Added core-x86_64/filesystem/passwd.

















>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:
daemon:x:2:2:daemon:/sbin:
mail:x:8:12:mail:/var/spool/mail:
ftp:x:14:11:ftp:/var/ftp:
www:x:15:15:www:/var/www:/bin/false
messagebus:x:81:81::/var/empty:/bin/false
nobody:x:99:99:nobody:/:

Added core-x86_64/filesystem/securetty.





























>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#
# /etc/securetty: defines which devices root can log in on
#

console
ttyS0
tty1
tty2
tty3
tty4
tty5
tty6

# End of file

Added core-x86_64/filesystem/shadow.

















>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
root::0::::::
bin:x:0::::::
daemon:x:0::::::
mail:x:0::::::
ftp:x:0::::::
www:x:0::::::
messagebus:x:0::::::
nobody:x:0::::::

Added core-x86_64/filesystem/shells.

















>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
#
# /etc/shells: defines valid login shells
#

/bin/sh
/bin/bash

# End of file

Added core-x86_64/gcc/Pkgfile.



































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# Description: The GNU Compiler Collection
# URL:         http://gcc.gnu.org
# Maintainer:  CRUX System Team, core-ports at crux dot nu
# Depends on:  zlib libmpc

name=gcc
version=4.5.3
release=1
source=(ftp://sources.redhat.com/pub/gcc/releases/$name-$version/$name-{core,g++,objc}-$version.tar.bz2
        $name-nocheck-fixincludes.patch gcc-pure64.patch)


build() {
    patch -d $name-$version -p1 -i $SRC/$name-nocheck-fixincludes.patch
    patch -d $name-$version -p1 -i $SRC/gcc-pure64.patch

    mkdir build
    cd build
    ../$name-$version/configure --prefix=/usr \
                                --mandir=/usr/man \
                                --libexecdir=/usr/lib \
                                --enable-languages=c,c++,objc \
                                --enable-threads=posix \
                                --enable-__cxa_atexit \
                                --enable-clocale=gnu \
                                --enable-shared \
                                --disable-nls \
                                --with-x=no \
                                --with-system-zlib \
                                --with-pkgversion="CRUX" \
                                --disable-multilib

    make bootstrap
    make -j1 DESTDIR=$PKG install

    mkdir $PKG/lib
    ln -sf ../usr/bin/cpp $PKG/lib/cpp
    ln -sf gcc $PKG/usr/bin/cc
    ln -sf g++ $PKG/usr/bin/c++

    mv $PKG/usr/lib/gcc/*/$version/include-fixed/{limits.h,syslimits.h} $PKG/usr/lib/gcc/*/$version/include/

    rm $PKG/usr/lib/{libiberty.a,libstdc++.so.6.0.14-gdb.py}
    rm -r $PKG/usr/share 
    rm -r $PKG/usr/bin/*-linux-gnu-*
    rm -r $PKG/usr/lib/gcc/*/$version/{install-tools,include-fixed} 

    sed -i "s|-L$SRC[^ ]* ||g" $PKG/usr/lib/{libstdc++.la,libsupc++.la}
}

Added core-x86_64/gcc/gcc-nocheck-fixincludes.patch.





























>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
diff -Nru gcc-4.2.1.orig/fixincludes/Makefile.in gcc-4.2.1/fixincludes/Makefile.in
--- gcc-4.2.1.orig/fixincludes/Makefile.in	2007-08-15 13:45:59.000000000 +0200
+++ gcc-4.2.1/fixincludes/Makefile.in	2007-08-15 14:21:16.000000000 +0200
@@ -169,9 +169,7 @@
 	cp $(srcdir)/../gcc/aclocal.m4 .
 
 check : all
-	autogen -T $(srcdir)/check.tpl $(srcdir)/inclhack.def
-	$(SHELL) ./check.sh $(srcdir)/tests/base
-	@rm -f ./check.sh
+	echo "No check here.."
 
 install : all
 	-rm -rf $(DESTDIR)$(itoolsdir)

Added core-x86_64/gcc/gcc-pure64.patch.























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
diff -Naur gcc-4.2.0.orig/gcc/config/i386/linux64.h gcc-4.2.0/gcc/config/i386/linux64.h
--- gcc-4.2.0.orig/gcc/config/i386/linux64.h	2007-05-16 19:21:19.000000000 -0400
+++ gcc-4.2.0/gcc/config/i386/linux64.h	2007-05-18 17:04:05.000000000 -0400
@@ -49,8 +49,8 @@
    When the -shared link option is used a final link is not being
    done.  */
 
-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
+#define GLIBC_DYNAMIC_LINKER32 "/lib32/ld-linux.so.2"
+#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux-x86-64.so.2"
 
 #undef	LINK_SPEC
 #define LINK_SPEC "%{!m32:-m elf_x86_64} %{m32:-m elf_i386} \
diff -Naur gcc-4.2.0.orig/gcc/config/i386/t-linux64 gcc-4.2.0/gcc/config/i386/t-linux64
--- gcc-4.2.0.orig/gcc/config/i386/t-linux64	2007-05-16 19:21:19.000000000 -0400
+++ gcc-4.2.0/gcc/config/i386/t-linux64	2007-05-18 17:04:36.000000000 -0400
@@ -6,7 +6,7 @@
 
 MULTILIB_OPTIONS = m64/m32
 MULTILIB_DIRNAMES = 64 32 
-MULTILIB_OSDIRNAMES = ../lib64 $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)
+MULTILIB_OSDIRNAMES = ../lib ../lib32
 
 LIBGCC = stmp-multilib
 INSTALL_LIBGCC = install-multilib

Added core-x86_64/glibc/Optimize-__getpagesize-a-bit.patch.































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
This is the important part of 8f4a5048eea6536ee85c0f2670adbb97d71e427d.
Unfortunately the assertion fails in statically linked binaries.
 
diff --git a/sysdeps/unix/sysv/linux/getpagesize.c b/sysdeps/unix/sysv/linux/getpagesize.c
index 6d03b3b..0866079 100644
--- a/sysdeps/unix/sysv/linux/getpagesize.c
+++ b/sysdeps/unix/sysv/linux/getpagesize.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991,1992,1995-1997,2000,2002,2004
+/* Copyright (C) 1991,1992,1995-1997,2000,2002,2004,2010
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -17,30 +17,37 @@
    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
    02111-1307 USA.  */
 
+#include <assert.h>
 #include <unistd.h>
 #include <sys/param.h>
 
 #include <ldsodefs.h>
+#include <kernel-features.h>
 
 /* Return the system page size.  */
 int
 __getpagesize ()
 {
+#ifdef __ASSUME_AT_PAGESIZE
+  assert (GLRO(dl_pagesize) != 0);
+  return GLRO(dl_pagesize);
+#else
   if (GLRO(dl_pagesize) != 0)
     return GLRO(dl_pagesize);
 
-#ifdef	EXEC_PAGESIZE
+# ifdef	EXEC_PAGESIZE
   return EXEC_PAGESIZE;
-#else	/* No EXEC_PAGESIZE.  */
-#ifdef	NBPG
-#ifndef	CLSIZE
-#define	CLSIZE	1
-#endif	/* No CLSIZE.  */
+# else	/* No EXEC_PAGESIZE.  */
+#  ifdef NBPG
+#   ifndef CLSIZE
+#    define CLSIZE	1
+#   endif	/* No CLSIZE.  */
   return NBPG * CLSIZE;
-#else	/* No NBPG.  */
+#  else	/* No NBPG.  */
   return NBPC;
-#endif	/* NBPG.  */
-#endif	/* EXEC_PAGESIZE.  */
+#  endif	/* NBPG.  */
+# endif	/* EXEC_PAGESIZE.  */
+#endif
 }
 libc_hidden_def (__getpagesize)
 weak_alias (__getpagesize, getpagesize)
-- 
1.7.2.1

Added core-x86_64/glibc/Pkgfile.







































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# Description: The C library used in the GNU system
# URL:         http://www.gnu.org/software/libc/
# Maintainer:  CRUX System Team, core-ports at crux dot nu

name=glibc
version=2.12.2
release=1
source=(http://ftp.gnu.org/gnu/glibc/glibc-$version.tar.bz2
        http://crux.nu/~rehabdoll/distfiles/kernel-headers-2.6.35.tar.xz
        glibc-ignore_origin.patch
        Optimize-__getpagesize-a-bit.patch
        hosts resolv.conf nsswitch.conf host.conf ld.so.conf)

build() {
    # install kernel headers
    mkdir $PKG/usr/
    cp -r kernel-headers-2.6.35/include $PKG/usr
    chown root:root $PKG/usr

    patch -R -p1 -d $name-$version -i $SRC/Optimize-__getpagesize-a-bit.patch
    patch -p1 -d $name-$version -i $SRC/$name-ignore_origin.patch

    #fix stupid /lib64
    sed -i 's|/lib64|/lib|' $name-$version/sysdeps/unix/sysv/linux/configure
    sed -i 's|/lib64|/lib|' $name-$version/sysdeps/unix/sysv/linux/x86_64/ldconfig.h

    sed -i '/^all-subdirs/,+6s/manual//' $name-$version/Makeconfig

    mkdir build
    cd build
    ../$name-$version/configure --prefix=/usr \
                                --libexecdir=/usr/lib \
                                --libdir=/usr/lib \
                                --with-headers=$PKG/usr/include \
                                --with-tls \
                                --enable-kernel=2.6.27 \
                                --disable-profile \
                                --without-gd
    make
    #make check
    make install_root=$PKG install

    cp $SRC/{hosts,resolv.conf,nsswitch.conf,host.conf,ld.so.conf} $PKG/etc
    ln -sf ../usr/share/zoneinfo/UTC $PKG/etc/localtime
    mkdir -p $PKG/etc/ld.so.conf.d $PKG/usr/lib/locale

    #fix path in ldd
    sed -i 's|/lib64|/lib|' $PKG/usr/bin/ldd

    rm -rf $PKG/usr/share/{info,locale}
}

Added core-x86_64/glibc/glibc-ignore_origin.patch.





















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# http://sourceware.org/ml/libc-hacker/2010-12/msg00001.html
# new fix for http://seclists.org/fulldisclosure/2010/Oct/257

2010-12-09  Andreas Schwab  <schwab@redhat.com>

	* elf/dl-object.c (_dl_new_object): Ignore origin of privileged
	program.
---
 elf/dl-object.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/elf/dl-object.c b/elf/dl-object.c
index 5d15ce1..a34e902 100644
--- a/elf/dl-object.c
+++ b/elf/dl-object.c
@@ -220,6 +220,9 @@ _dl_new_object (char *realname, const char *libname, int type,
     out:
       new->l_origin = origin;
     }
+  else if (INTUSE(__libc_enable_secure) && type == lt_executable)
+    /* The origin of a privileged program cannot be trusted.  */
+    new->l_origin = (char *) -1;
 
   return new;
 }

Added core-x86_64/glibc/host.conf.

















>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
#
# /etc/host.conf: resolver configuration file
#

order hosts,bind
multi on

# End of file

Added core-x86_64/glibc/hosts.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#
# /etc/hosts: static lookup table for host names
#

# IPv4
127.0.0.1	localhost
#<ip-address>	<hostname.domain.org>	<aliases>

# IPv6
#::1		ip6-localhost	ip6-loopback
#fe00::0	ip6-localnet
#ff00::0	ip6-mcastprefix
#ff02::1	ip6-allnodes
#ff02::2	ip6-allrouters
#ff02::3	ip6-allhosts

# End of file

Added core-x86_64/glibc/ld.so.conf.















>
>
>
>
>
>
>
1
2
3
4
5
6
7
#
# /etc/ld.so.conf: dynamic linker configuration file
#

include /etc/ld.so.conf.d/*.conf

# End of file

Added core-x86_64/glibc/nsswitch.conf.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#
# /etc/nsswitch.conf: name service switch configuration file
#

passwd:      files
group:       files
shadow:      files

hosts:       files dns
networks:    files

services:    files
protocols:   files
rpc:         files
publickey:   files
ethers:      files
netmasks:    files
netgroup:    files
bootparams:  files

automount:   files
aliases:     files

# End of file

Added core-x86_64/glibc/resolv.conf.

















>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
#
# /etc/resolv.conf: resolver configuration file
#

#search <domain.org>
#nameserver <ip-address>

# End of file

Added core-x86_64/kbd/Pkgfile.























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# Description: Keytable files and keyboard utilities
# URL:         ftp://ftp.win.tue.nl/pub/linux-local/utils/kbd/
# Maintainer:  CRUX System Team, core-ports at crux dot nu

name=kbd
version=1.15.3
release=1
source=(ftp://ftp.altlinux.org/pub/people/legion/kbd/$name-$version.tar.gz)

build() {
    cd $name-$version

    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --datadir=/usr/share/kbd \
                --disable-nls
    make
    make DESTDIR=$PKG install

    ln -sf default8x16.psfu.gz $PKG/usr/share/kbd/consolefonts/default.gz

    rm -r $PKG/usr/share/kbd/keymaps/{ppc,mac,atari,amiga,sun}
    rm $PKG/usr/bin/{loadunimap,mapscrn,psf*table}
    rm $PKG/usr/man/man8/{loadunimap,mapscrn,resizecons}.8
    rm $PKG/usr/man/man1/psf*table.1
    find $PKG/usr/share/kbd/ -type f -name "README*" -delete
}

Added core-x86_64/libgmp/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Free library for arbitrary precision arithmetic
# URL:         http://gmplib.org/
# Maintainer:  CRUX System Team, core-ports at crux dot nu

name=libgmp
version=5.0.4
release=1
source=(ftp://ftp.gnu.org/gnu/gmp/gmp-$version.tar.bz2)

build() {
    cd gmp-$version
    ./configure --prefix=/usr \
                       --enable-cxx \
                       --build=x86_64-unknown-linux-gnu
    make
    make DESTDIR=$PKG install
    rm -r $PKG/usr/share
}

Added core-x86_64/pkgutils/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: A set of utilities to manage software packages 
# URL:         http://www.fukt.bsnet.se/~per/pkgutils/
# Maintainer:  CRUX System Team, core-ports at crux dot nu
# Depends on:  libarchive

name=pkgutils
version=5.35.2
release=1
source=(http://crux.nu/files/$name-$version.tar.gz \
        pkgmk.conf.patch)

build () {
        cd $name-$version
        patch -p1 -i ../pkgmk.conf.patch
        make DESTDIR=$PKG install
}

Added core-x86_64/pkgutils/pkgmk.conf.patch.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
--- pkgutils-5.32.0/pkgmk.conf-orig 2008-09-07 12:25:57.831216608 +0200
+++ pkgutils-5.32.0/pkgmk.conf  2008-09-07 12:26:50.821337115 +0200
@@ -2,8 +2,9 @@
 # /etc/pkgmk.conf: pkgmk(8) configuration
 #
 
-export CFLAGS="-O2 -march=i686 -pipe"
-export CXXFLAGS="-O2 -march=i686 -pipe"
+export CFLAGS="-O2 -march=x86-64 -pipe"
+export CXXFLAGS="-O2 -march=x86-64 -pipe"
+export MAKEFLAGS="-j 5"
 
 # PKGMK_SOURCE_MIRRORS=()
 # PKGMK_SOURCE_DIR="$PWD"

Added core-x86_64/ports/Pkgfile.





















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# Description: CRUX ports system tools
# URL:         http://crux.nu
# Maintainer:  CRUX System Team, core-ports at crux dot nu

name=ports
version=1.5
release=11
source=(http://crux.nu/files/tools/ports/$name-$version.tar.gz \
        core.rsync opt.rsync xorg.rsync contrib.rsync.inactive \
        core-x86_64.rsync opt-x86_64.rsync contrib-x86_64.rsync.inactive)

build () {
    cd $name-$version
    make
    make DESTDIR=$PKG install

    install -m 0644 ../core.rsync $PKG/etc/ports/core.rsync
    install -m 0644 ../opt.rsync $PKG/etc/ports/opt.rsync
    install -m 0644 ../xorg.rsync $PKG/etc/ports/xorg.rsync
    install -m 0644 ../core-x86_64.rsync $PKG/etc/ports/core-x86_64.rsync
    install -m 0644 ../opt-x86_64.rsync $PKG/etc/ports/opt-x86_64.rsync
    install -m 0644 ../contrib.rsync.inactive \
        $PKG/etc/ports/contrib.rsync.inactive
    install -m 0644 ../contrib-x86_64.rsync.inactive \
        $PKG/etc/ports/contrib-x86_64.rsync.inactive
}

Added core-x86_64/ports/contrib-x86_64.rsync.inactive.







>
>
>
1
2
3
host=crux.nu
collection=ports/crux-2.7/contrib-x86_64/
destination=/usr/ports/contrib-x86_64

Added core-x86_64/ports/contrib.rsync.inactive.







>
>
>
1
2
3
host=crux.nu
collection=ports/crux-2.7/contrib/
destination=/usr/ports/contrib

Added core-x86_64/ports/core-x86_64.rsync.







>
>
>
1
2
3
host=crux.nu
collection=ports/crux-2.7/core-x86_64/
destination=/usr/ports/core-x86_64

Added core-x86_64/ports/core.rsync.







>
>
>
1
2
3
host=crux.nu
collection=ports/crux-2.7/core/
destination=/usr/ports/core

Added core-x86_64/ports/opt-x86_64.rsync.







>
>
>
1
2
3
host=crux.nu
collection=ports/crux-2.7/opt-x86_64/
destination=/usr/ports/opt-x86_64

Added core-x86_64/ports/opt.rsync.







>
>
>
1
2
3
host=crux.nu
collection=ports/crux-2.7/opt/
destination=/usr/ports/opt

Added core-x86_64/ports/xorg.rsync.







>
>
>
1
2
3
host=crux.nu
collection=ports/crux-2.7/xorg/
destination=/usr/ports/xorg

Added core-x86_64/prt-get/Pkgfile.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Description: A utility to simplify ports searching/installing
# URL:         http://jw.smts.ch/files/crux/prt-get_quickstart.html
# Maintainer:  CRUX System Team, core-ports at crux dot nu

name=prt-get
version=5.18
release=2
source=(http://jw.smts.ch/files/crux/prt-get-$version.tar.gz
	prt-get.conf prt-get.aliases prt-get.diff)

build() {
    cd ${name}-${version}

    patch -p1 -i $SRC/$name.diff

    ./configure \
		--prefix=/usr \
		-mandir=/usr/man
    make
    make DESTDIR=$PKG install

    install -m 644 $SRC/prt-get.conf $PKG/etc/
    install -D -m 644 $SRC/prt-get.aliases $PKG/var/lib/pkg/prt-get.aliases
}

Added core-x86_64/prt-get/README.



















>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
NOTE:

Some people have reported problems when using optimizations larger than
-O2; typical symptoms are "prt-get install X" saying that a package is
installed while "prt-get update X" saying it's not, or "prt-get listinst"
printing just nothing.

If you experience strange effects, please try recompiling with 
   CXXFLAGS="-O2 -march=i686 -pipe"

Added core-x86_64/prt-get/prt-get.aliases.



















>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
j2sdk: j2re
j2sdk: jre
jdk: jre 
openmotif: lesstif
postfix: sendmail
exim: sendmail
qmail: sendmail
masqmail: sendmail
xorg: x11

Added core-x86_64/prt-get/prt-get.conf.





































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
###
### prt-get conf
###

# note: the order matters: the package found first is used
prtdir /usr/ports/core-x86_64
prtdir /usr/ports/opt-x86_64
prtdir /usr/ports/core
prtdir /usr/ports/opt
prtdir /usr/ports/xorg

# the following line enables the user maintained contrib collection
#prtdir /usr/ports/contrib

### use mypackage form local directory
# prtdir /home/packages/build:mypackage

### log options:
# writelog enabled         # (enabled|disabled)
# logmode  overwrite       # (append|overwrite)
# rmlog_on_success yes     # (no|yes)
logfile  /var/log/pkgbuild/%n.log
                           # path, %p=path to port dir, %n=port name
                           #       %v=version, %r=release

### use alternate cache file (default: /var/lib/pkg/prt-get.cache
# cachefile /mnt/nfs/cache

### print README information:
# readme verbose           # (verbose|compact|disabled)

### prefer higher versions in sysup / diff
# preferhigher no      # (yes|no)

### use regexp search
# useregex no        # (yes|no)

### run pre- and post-installs scripts; yes is equivalent to the
### --install-scripts option
# runscripts no            # (no|yes)


### EXPERT SECTION ###

### alternative commands
# makecommand      pkgmk
# addcommand       pkgadd
# removecommand    pkgrm
# runscriptcommand sh

Added core-x86_64/prt-get/prt-get.diff.



























>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
diff --git a/src/installtransaction.cpp b/src/installtransaction.cpp
index 849931a..70e5e37 100644
--- a/src/installtransaction.cpp
+++ b/src/installtransaction.cpp
@@ -658,5 +658,7 @@ string InstallTransaction::getPkgmkPackageDir()
 
 string InstallTransaction::getPkgmkCompressionMode()
 {
-    return getPkgmkSetting("PKGMK_COMPRESSION_MODE");
+    string value = getPkgmkSetting("PKGMK_COMPRESSION_MODE");
+
+    return value.size() ? value : "gz";
 }

Added core-x86_64/util-linux-ng/Pkgfile.

























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# Description: Miscellaneous system utilities
# URL:         http://userweb.kernel.org/~kzak/util-linux-ng/
# Maintainer:  CRUX System Team, core-ports at crux dot nu
# Arch Maintainer: Fredrik Rinnestam, fredrik at crux dot nu
# Depends on:  ncurses zlib

name=util-linux-ng
version=2.21.1
release=1
source=(http://ftp.kernel.org/pub/linux/utils/util-linux/v2.21/util-linux-$version.tar.xz)

build() {
    cd util-linux-$version

    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --disable-{nls,wall,mountpoint} \
                --enable-{write,raw,kill}
    make
    make DESTDIR=$PKG install

    install -d $PKG/{etc,var/{lib/libuuid,run/uuidd}}
    touch $PKG/etc/adjtime

    rm -r $PKG/usr/{share,man/ru}
    rm $PKG/sbin/{mkfs.bfs,mkfs.minix,fsck.minix}
    rm $PKG/usr/man/man8/{fsck.minix,mkfs.bfs,mkfs.minix}.8
}

Added core/README.



>
1
Add info about the core repository

Added core/acl/Pkgfile.































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# Description: Access Control Lists library
# URL:         http://savannah.nongnu.org/projects/acl
# Maintainer:  CRUX System Team, core-ports at crux dot nu
# Depends on:  attr

name=acl
version=2.2.51
release=1
source=(http://download-mirror.savannah.gnu.org/releases/$name/$name-$version.src.tar.gz)

build() {
    cd $name-$version

    export DEBUG=-DNDEBUG
    export OPTIMIZER=$CFLAGS

    ./configure --prefix=/usr \
                --bindir=/bin \
                --libexecdir=/usr/lib \
                --mandir=/usr/man 

    make
    make DIST_ROOT=$PKG install install-lib install-dev 

    install -d $PKG/lib
    mv $PKG/usr/lib/libacl.so.* $PKG/lib
    rm $PKG/usr/lib/libacl.so
    ln -s ../../lib/libacl.so.1.1.0 $PKG/usr/lib/libacl.so

    rm -r $PKG/usr/share
}

Added core/attr/Pkgfile.

































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# Description: Extented attributes library
# URL:         http://savannah.nongnu.org/projects/attr/
# Maintainer:  CRUX System Team, core-ports at crux dot nu

name=attr
version=2.4.46
release=1
source=(http://download-mirror.savannah.gnu.org/releases/$name/$name-$version.src.tar.gz)

build() {
    cd $name-$version

    export DEBUG=-DNDEBUG
    export OPTIMIZER=$CFLAGS

    ./configure --prefix=/usr \
                --bindir=/bin \
                --libexecdir=/usr/lib \
                --mandir=/usr/man
    make
    make DIST_ROOT=$PKG install install-lib install-dev

    install -d $PKG/lib
    mv $PKG/usr/lib/libattr.so.* $PKG/lib
    rm $PKG/usr/lib/libattr.so
    ln -s ../../lib/libattr.so.1.1.0 $PKG/usr/lib/libattr.so

    # category 2 manuals are included in core/man-pages
    rm -r $PKG/usr/man/man2

    rm -r $PKG/usr/share
}

Added core/autoconf/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: A package of M4 macros to produce scripts to automatically configure sourcecode
# URL:         http://www.gnu.org/software/autoconf
# Maintainer:  CRUX System Team, core-ports at crux dot nu

name=autoconf
version=2.68
release=1
source=(ftp://ftp.gnu.org/gnu/$name/$name-$version.tar.xz)

build () {
    cd $name-$version
    ./configure --prefix=/usr --mandir=$PKG/usr/man
    make
    make prefix=$PKG/usr install
    rm -r $PKG/usr/share/info 
}

Added core/automake/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: A tool for automatically generating Makefiles
# URL:         http://www.gnu.org/software/automake/
# Maintainer:  CRUX System Team, core-ports at crux dot nu
# Depends on:  gawk, perl, autoconf

name=automake
version=1.11.4
release=1
source=(http://ftp.gnu.org/gnu/$name/$name-$version.tar.xz)

build () {
    cd $name-$version

    ./configure --prefix=/usr --mandir=/usr/man

    make
    make DESTDIR=$PKG install

    rm -r  $PKG/usr/share/{info,doc}
    rm $PKG/usr/share/automake-*/texinfo.tex
}

Added core/bash/Pkgfile.































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# Description: An sh-compatible command language interpreter
# URL:         http://cnswww.cns.cwru.edu/~chet/bash/bashtop.html
# Maintainer:  CRUX System Team, core-ports at crux dot nu
# Depends on:  ncurses readline

name=bash
version=4.2.24
release=1
source=(http://ftp.gnu.org/gnu/$name/$name-${version::3}.tar.gz \
        $name-$version.patch.gz profile)

build() {
    cd $name-${version::3}

    gunzip -c $SRC/$name-$version.patch.gz | patch -p0

    ./configure --prefix=/usr \
                --exec-prefix= \
                --mandir=/usr/man \
                --disable-nls \
                --with-curses \
                --with-installed-readline
    make -j1

    install -D -m 755 bash $PKG/bin/bash
    install -D -m 644 doc/bash.1 $PKG/usr/man/man1/bash.1
    install -D -m 644 $SRC/profile $PKG/etc/profile

    ln -s bash $PKG/bin/sh
    ln -s bash.1 $PKG/usr/man/man1/sh.1
}

Added core/bash/bash-4.2.24.patch.gz.

cannot compute difference between binary files

Added core/bash/profile.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#
# /etc/profile: system-wide defaults for bash(1) login shells
#

if [ "$UID" = "0" ]; then
	export PATH="/sbin:/usr/sbin:/opt/sbin:/bin:/usr/bin:/opt/bin"
else
	export PATH="/bin:/usr/bin:/opt/bin"
fi

if [ ! -f ~/.inputrc ]; then
	export INPUTRC="/etc/inputrc"
fi

export LESSCHARSET="latin1"
export LESS="-R"
export CHARSET="ISO-8859-1"
export PS1="\[\033[1m\]\\$ \[\033[0m\]"
export PS2="\[\033[1m\]> \[\033[0m\]"

umask 022

# End of file

Added core/bc/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: An arbitrary precision calculator language
# URL:         http://www.gnu.org/software/bc/bc.html
# Maintainer:  CRUX System Team, core-ports at crux dot nu
# Depends on:  ncurses, readline

name=bc
version=1.06
release=3
source=(http://ftp.gnu.org/gnu/$name/$name-$version.tar.gz \
        $name-$version-compile_fixes.patch $name-$version-fixes-1.patch)

build() { 
    cd $name-$version
    patch -p1 < ../$name-$version-compile_fixes.patch
    patch -p1 < ../$name-$version-fixes-1.patch
    
    ./configure --prefix=/usr --with-readline
    make
    make DESTDIR=$PKG install
    rm -rf $PKG/usr/info
}

Added core/bc/bc-1.06-compile_fixes.patch.





























































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
diff -ru bc-1.06/bc/load.c bc-1.06-new/bc/load.c
--- bc-1.06/bc/load.c	2000-09-13 20:22:38.000000000 +0200
+++ bc-1.06-new/bc/load.c	2004-05-01 14:25:08.164146592 +0200
@@ -34,7 +34,7 @@
 
 /* Load variables. */
 
-program_counter load_adr;
+static program_counter load_adr;
 char load_str;
 char load_const;
 
diff -ru bc-1.06/bc/scan.l bc-1.06-new/bc/scan.l
--- bc-1.06/bc/scan.l	2000-09-13 20:25:47.000000000 +0200
+++ bc-1.06-new/bc/scan.l	2004-05-01 14:21:02.765452864 +0200
@@ -143,7 +143,6 @@
 
 /* Definitions for readline access. */
 extern FILE *rl_instream;
-_PROTOTYPE(char *readline, (char *));
 
 /* rl_input puts upto MAX characters into BUF with the number put in
    BUF placed in *RESULT.  If the yy input file is the same as
diff -ru bc-1.06/configure bc-1.06-new/configure
--- bc-1.06/configure	2000-10-03 20:34:24.000000000 +0200
+++ bc-1.06-new/configure	2004-05-01 14:21:27.159744368 +0200
@@ -2245,7 +2245,7 @@
 
 
 if test "$LEX" = "flex" ; then
- LEX="flex -I8"
+ LEX="flex -I"
 else
  if test "$bcrl" = "y" ; then
   echo "configure: warning: readline works only with flex." 1>&2
diff -ru bc-1.06/lib/number.c bc-1.06-new/lib/number.c
--- bc-1.06/lib/number.c	2000-10-03 20:34:25.000000000 +0200
+++ bc-1.06-new/lib/number.c	2004-05-01 14:24:41.028271872 +0200
@@ -30,6 +30,7 @@
 *************************************************************************/
 
 #include <stdio.h>
+#include <string.h>
 #include <config.h>
 #include <number.h>
 #include <assert.h>

Added core/bc/bc-1.06-fixes-1.patch.























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Submitted By: Jim Gifford (jim at linuxfromscratch dot org)
Date: 2003-09-26
Initial Package Version: 1.06
Origin: Mandrake CVS
Description: Fixes a few typos
 
--- bc-1.06/lib/number.c.orig	2003-09-26 21:14:02.000000000 +0000
+++ bc-1.06/lib/number.c	2003-09-26 21:14:26.000000000 +0000
@@ -34,6 +34,7 @@
 #include <number.h>
 #include <assert.h>
 #include <stdlib.h>
+#include <string.h>
 #include <ctype.h>/* Prototypes needed for external utility routines. */
 
 #define bc_rt_warn rt_warn
--- bc-1.06/bc/load.c.orig	2003-09-26 21:14:14.000000000 +0000
+++ bc-1.06/bc/load.c	2003-09-26 21:14:26.000000000 +0000
@@ -156,7 +156,7 @@
   long  label_no;
   long  vaf_name;	/* variable, array or function number. */
   long  func;
-  program_counter save_adr;
+  static program_counter save_adr;
 
   /* Initialize. */
   str = code;

Added core/bin86/Pkgfile.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Description: 8086 assembler and loader which can generate 32-bit code for the 386+ processors
# URL:         http://www.debath.co.uk/
# Maintainer:  CRUX System Team, core-ports at crux dot nu

name=bin86
version=0.16.18
release=1
source=(http://rdebath.nfshost.com/dev86/$name-$version.tar.gz)

build() {
    cd $name-$version
    make CFLAGS="$CFLAGS -D_POSIX_SOURCE" PREFIX=/usr
    mkdir -p $PKG/usr/{bin,man/man1}
    make PREFIX=$PKG/usr install
}

Added core/bindutils/Pkgfile.



















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# Description: Bind tools
# URL:         http://www.isc.org/software/bind
# Maintainer:  CRUX System Team, core-ports at crux dot nu
# Depends on:  openssl

name=bindutils
version=9.8.1
release=1
source=(ftp://ftp.isc.org/isc/bind9/$version/bind-$version.tar.gz)

build() {
    cd bind-$version

    ./configure --prefix=/usr \
                --disable-linux-caps \
                --with-libxml2=no

    make -C lib
    make -C bin/dig

    install -D -m 755 bin/dig/host $PKG/usr/bin/host
    install -D -m 644 bin/dig/host.1 $PKG/usr/man/man1/host.1
    install -D -m 755 bin/dig/dig $PKG/usr/bin/dig
    install -D -m 644 bin/dig/dig.1 $PKG/usr/man/man1/dig.1
}

Added core/binutils/Pkgfile.





















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# Description: The GNU Binutils are a collection of binary tools
# URL:         http://sources.redhat.com/binutils/
# Maintainer:  CRUX System Team, core-ports at crux dot nu
# Depends on:  zlib

name=binutils
version=2.20.1
release=1
source=(ftp://ftp.gnu.org/gnu/$name/$name-${version}a.tar.bz2)

build() {
    sed -i '/^SUBDIRS/s/doc//' $name-$version/bfd/Makefile.in
    sed -i '/^# RELEASE=y/s/#//' $name-$version/bfd/Makefile.in
    mkdir build
    cd build
    ../$name-$version/configure --prefix=/usr \
                                --mandir=/usr/man \
                                --enable-shared \
                                --disable-nls 
    make tooldir=/usr
    make check
    make tooldir=/usr DESTDIR=$PKG install
    install -m 0644  ../$name-$version/include/libiberty.h $PKG/usr/include
    rm -r $PKG/usr/share
    sed -i "s|-L$SRC[^ ]* ||g" $PKG/usr/lib/libbfd.la
}

Added core/bison/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: The GNU Project parser generator
# URL:         http://www.gnu.org/software/bison/
# Maintainer:  CRUX System Team, core-ports at crux dot nu

name=bison
version=2.5
release=1
source=(ftp://ftp.gnu.org/gnu/$name/$name-$version.tar.bz2)

build() {
    cd $name-$version
    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --disable-nls
    make
    make DESTDIR=$PKG install
    rm -r $PKG/usr/share/info
    rm $PKG/usr/share/bison/README
}

Added core/btrfs-progs/Pkgfile.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Description: Filesystem utilities for btrfs
# URL:         http://btrfs.wiki.kernel.org
# Maintainer:  CRUX System Team, core-ports at crux dot nu
# Depends on:  util-linux-ng

name=btrfs-progs
version=20120328
release=1
source=(http://crux.s3.amazonaws.com/dist/$name-$version.tar.xz)

build() {
    cd $name-$version
    make CFLAGS="$CFLAGS"
    make prefix=/usr bindir=/sbin DESTDIR=$PKG install
}

Added core/bzip2/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: Very high-quality data compression program
# URL: http://www.bzip.org/
# Maintainer: CRUX System Team, core-ports at crux dot nu

name=bzip2
version=1.0.6
release=1
source=(http://www.bzip.org/$version/$name-$version.tar.gz \
        $name.patch)

build() {
	cd $name-$version

	patch -Np1 -i $SRC/$name.patch

	make
	make PREFIX=$PKG/usr install

	make -f Makefile-libbz2_so
	make -f Makefile-libbz2_so PREFIX=$PKG/usr install
}

Added core/bzip2/bzip2.patch.





































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
diff -aur bzip2-1.0.6.orig/Makefile bzip2-1.0.6/Makefile
--- bzip2-1.0.6.orig/Makefile	2008-02-14 13:39:18.000000000 +0100
+++ bzip2-1.0.6/Makefile	2009-06-14 13:49:03.889599030 +0200
@@ -21,7 +21,7 @@
 LDFLAGS=
 
 BIGFILES=-D_FILE_OFFSET_BITS=64
-CFLAGS=-Wall -Winline -O2 -g $(BIGFILES)
+CFLAGS+=-fpic -Wall -Winline $(BIGFILES)
 
 # Where you want it installed when you do 'make install'
 PREFIX=/usr/local
@@ -70,43 +70,36 @@
 	@cat words3
 
 install: bzip2 bzip2recover
-	if ( test ! -d $(PREFIX)/bin ) ; then mkdir -p $(PREFIX)/bin ; fi
-	if ( test ! -d $(PREFIX)/lib ) ; then mkdir -p $(PREFIX)/lib ; fi
-	if ( test ! -d $(PREFIX)/man ) ; then mkdir -p $(PREFIX)/man ; fi
-	if ( test ! -d $(PREFIX)/man/man1 ) ; then mkdir -p $(PREFIX)/man/man1 ; fi
-	if ( test ! -d $(PREFIX)/include ) ; then mkdir -p $(PREFIX)/include ; fi
-	cp -f bzip2 $(PREFIX)/bin/bzip2
-	cp -f bzip2 $(PREFIX)/bin/bunzip2
-	cp -f bzip2 $(PREFIX)/bin/bzcat
-	cp -f bzip2recover $(PREFIX)/bin/bzip2recover
-	chmod a+x $(PREFIX)/bin/bzip2
-	chmod a+x $(PREFIX)/bin/bunzip2
-	chmod a+x $(PREFIX)/bin/bzcat
-	chmod a+x $(PREFIX)/bin/bzip2recover
-	cp -f bzip2.1 $(PREFIX)/man/man1
-	chmod a+r $(PREFIX)/man/man1/bzip2.1
-	cp -f bzlib.h $(PREFIX)/include
-	chmod a+r $(PREFIX)/include/bzlib.h
-	cp -f libbz2.a $(PREFIX)/lib
-	chmod a+r $(PREFIX)/lib/libbz2.a
-	cp -f bzgrep $(PREFIX)/bin/bzgrep
-	ln -s -f $(PREFIX)/bin/bzgrep $(PREFIX)/bin/bzegrep
-	ln -s -f $(PREFIX)/bin/bzgrep $(PREFIX)/bin/bzfgrep
-	chmod a+x $(PREFIX)/bin/bzgrep
-	cp -f bzmore $(PREFIX)/bin/bzmore
-	ln -s -f $(PREFIX)/bin/bzmore $(PREFIX)/bin/bzless
-	chmod a+x $(PREFIX)/bin/bzmore
-	cp -f bzdiff $(PREFIX)/bin/bzdiff
-	ln -s -f $(PREFIX)/bin/bzdiff $(PREFIX)/bin/bzcmp
-	chmod a+x $(PREFIX)/bin/bzdiff
-	cp -f bzgrep.1 bzmore.1 bzdiff.1 $(PREFIX)/man/man1
-	chmod a+r $(PREFIX)/man/man1/bzgrep.1
-	chmod a+r $(PREFIX)/man/man1/bzmore.1
-	chmod a+r $(PREFIX)/man/man1/bzdiff.1
-	echo ".so man1/bzgrep.1" > $(PREFIX)/man/man1/bzegrep.1
-	echo ".so man1/bzgrep.1" > $(PREFIX)/man/man1/bzfgrep.1
-	echo ".so man1/bzmore.1" > $(PREFIX)/man/man1/bzless.1
-	echo ".so man1/bzdiff.1" > $(PREFIX)/man/man1/bzcmp.1
+	install -d $(PREFIX)/bin \
+	           $(PREFIX)/lib \
+	           $(PREFIX)/man/man1 \
+	           $(PREFIX)/include
+	install -m 755 bzip2 \
+	               bzip2recover \
+	               bzgrep \
+	               bzmore \
+	               bzdiff \
+	               $(PREFIX)/bin
+	install -m 644 bzlib.h $(PREFIX)/include
+	install -m 644 libbz2.a $(PREFIX)/lib
+	ln -sf bzip2 $(PREFIX)/bin/bunzip2
+	ln -sf bzip2 $(PREFIX)/bin/bzcat
+	ln -sf bzgrep $(PREFIX)/bin/bzegrep
+	ln -sf bzgrep $(PREFIX)/bin/bzfgrep
+	ln -sf bzmore $(PREFIX)/bin/bzless
+	ln -sf bzdiff $(PREFIX)/bin/bzcmp
+	install -m 644 bzip2.1 \
+	               bzgrep.1 \
+	               bzmore.1 \
+	               bzdiff.1 \
+	               $(PREFIX)/man/man1
+	ln -sf bzgrep.1 $(PREFIX)/man/man1/bzegrep.1
+	ln -sf bzgrep.1 $(PREFIX)/man/man1/bzfgrep.1
+	ln -sf bzmore.1 $(PREFIX)/man/man1/bzless.1
+	ln -sf bzdiff.1 $(PREFIX)/man/man1/bzcmp.1
+	ln -sf bzip2.1 $(PREFIX)/man/man1/bunzip2.1
+	ln -sf bzip2.1 $(PREFIX)/man/man1/bzcat.1
+	ln -sf bzip2.1 $(PREFIX)/man/man1/bzip2recover.1
 
 clean: 
 	rm -f *.o libbz2.a bzip2 bzip2recover \
diff -aur bzip2-1.0.6.orig/Makefile-libbz2_so bzip2-1.0.6/Makefile-libbz2_so
--- bzip2-1.0.6.orig/Makefile-libbz2_so	2007-12-09 14:00:50.000000000 +0100
+++ bzip2-1.0.6/Makefile-libbz2_so	2009-06-14 13:48:27.519580669 +0200
@@ -24,7 +24,7 @@
 SHELL=/bin/sh
 CC=gcc
 BIGFILES=-D_FILE_OFFSET_BITS=64
-CFLAGS=-fpic -fPIC -Wall -Winline -O2 -g $(BIGFILES)
+CFLAGS+=-fpic -Wall -Winline $(BIGFILES)
 
 OBJS= blocksort.o  \
       huffman.o    \
@@ -37,11 +37,15 @@
 all: $(OBJS)
 	$(CC) -shared -Wl,-soname -Wl,libbz2.so.1.0 -o libbz2.so.1.0.6 $(OBJS)
 	$(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.1.0.6
-	rm -f libbz2.so.1.0
-	ln -s libbz2.so.1.0.6 libbz2.so.1.0
+
+install:
+	install -d $(PREFIX)/lib
+	install -m 755 libbz2.so.1.0.6 $(PREFIX)/lib
+	ln -sf libbz2.so.1.0.6 $(PREFIX)/lib/libbz2.so.1.0
+	ln -sf libbz2.so.1.0 $(PREFIX)/lib/libbz2.so
 
 clean: 
-	rm -f $(OBJS) bzip2.o libbz2.so.1.0.6 libbz2.so.1.0 bzip2-shared
+	rm -f $(OBJS) bzip2.o libbz2.so.1.0.6 bzip2-shared
 
 blocksort.o: blocksort.c
 	$(CC) $(CFLAGS) -c blocksort.c
diff -aur bzip2-1.0.6.orig/bzlib_private.h bzip2-1.0.6/bzlib_private.h
--- bzip2-1.0.6.orig/bzlib_private.h	2007-12-09 15:00:46.000000000 +0100
+++ bzip2-1.0.6/bzlib_private.h	2009-06-14 13:53:28.200579230 +0200
@@ -128,7 +128,7 @@
 
 /*-- Stuff for randomising repetitive blocks. --*/
 
-extern Int32 BZ2_rNums[512];
+extern const Int32 BZ2_rNums[512];
 
 #define BZ_RAND_DECLS                          \
    Int32 rNToGo;                               \
@@ -152,7 +152,7 @@
 
 /*-- Stuff for doing CRCs. --*/
 
-extern UInt32 BZ2_crc32Table[256];
+extern const UInt32 BZ2_crc32Table[256];
 
 #define BZ_INITIALISE_CRC(crcVar)              \
 {                                              \
diff -aur bzip2-1.0.6.orig/crctable.c bzip2-1.0.6/crctable.c
--- bzip2-1.0.6.orig/crctable.c	2007-12-09 13:29:49.000000000 +0100
+++ bzip2-1.0.6/crctable.c	2009-06-14 13:52:33.248830630 +0200
@@ -28,7 +28,7 @@
   comp.compression FAQ.
 --*/
 
-UInt32 BZ2_crc32Table[256] = {
+const UInt32 BZ2_crc32Table[256] = {
 
    /*-- Ugly, innit? --*/
 
diff -aur bzip2-1.0.6.orig/randtable.c bzip2-1.0.6/randtable.c
--- bzip2-1.0.6.orig/randtable.c	2007-12-09 13:32:55.000000000 +0100
+++ bzip2-1.0.6/randtable.c	2009-06-14 13:53:38.063580427 +0200
@@ -23,7 +23,7 @@
 
 
 /*---------------------------------------------*/
-Int32 BZ2_rNums[512] = { 
+const Int32 BZ2_rNums[512] = { 
    619, 720, 127, 481, 931, 816, 813, 233, 566, 247, 
    985, 724, 205, 454, 863, 491, 741, 242, 949, 214, 
    733, 859, 335, 708, 621, 574, 73, 654, 730, 472, 

Added core/coreutils/Pkgfile.































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# Description: A collection of core GNU utilities
# URL:         http://www.gnu.org/software/coreutils/
# Maintainer:  CRUX System Team, core-ports at crux dot nu
# Depends on:  libgmp acl libcap

name=coreutils
version=8.16
release=1
source=(http://ftp.gnu.org/pub/gnu/$name/$name-$version.tar.xz
        coreutils-uname.patch)

build() {
    cd $name-$version

    patch -p1 -i $SRC/coreutils-uname.patch
    export FORCE_UNSAFE_CONFIGURE=1
    
    ./configure --prefix=/usr \
                --libexecdir=/usr/lib \
                --mandir=/usr/man \
                --disable-nls \
                --disable-assert \
                --enable-no-install-program=uptime,kill,chcon,runcon,groups
    make
    make DESTDIR=$PKG install 

    mkdir $PKG/bin
    mv $PKG/usr/bin/{cat,chgrp,chmod,chown,cp,date,dd,df,echo,false,ln,ls,mkdir,sleep} $PKG/bin
    mv $PKG/usr/bin/{mknod,mv,pwd,readlink,rm,rmdir,stty,sync,touch,true,uname} $PKG/bin
    rm -r $PKG/usr/share
}

Added core/coreutils/coreutils-uname.patch.

































































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
# http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/coreutils/7.5/

On linux platforms, grok /proc/cpuinfo for the CPU/vendor info.

Prob not suitable for upstream seeing as how it's 100% linux-specific
http://lists.gnu.org/archive/html/bug-coreutils/2005-09/msg00063.html

Patch originally by Carlos E. Gorges <carlos@techlinux.com.br>, but 
heavily reworked to suck less.

To add support for additional platforms, check out the show_cpuinfo()
func in the linux/arch/<ARCH>/ source tree of the kernel.

diff -Nru coreutils-7.6.orig/src/uname.c coreutils-7.6/src/uname.c
--- coreutils-7.6.orig/src/uname.c	2009-09-11 16:34:48.000000000 +0200
+++ coreutils-7.6/src/uname.c	2009-09-11 16:40:29.000000000 +0200
@@ -50,6 +50,11 @@
 # include <mach-o/arch.h>
 #endif
 
+#if defined(__linux__)
+# define USE_PROCINFO
+# define UNAME_HARDWARE_PLATFORM
+#endif
+
 #include "system.h"
 #include "error.h"
 #include "quote.h"
@@ -155,6 +160,117 @@
   exit (status);
 }
 
+#if defined(USE_PROCINFO)
+
+# if defined(__s390__) || defined(__s390x__)
+#  define CPUINFO_FILE    "/proc/sysinfo"
+#  define CPUINFO_FORMAT  "%64[^\t :]%*[ :]%256[^\n]%c"
+# else
+#  define CPUINFO_FILE    "/proc/cpuinfo"
+#  define CPUINFO_FORMAT  "%64[^\t:]\t:%256[^\n]%c"
+# endif
+
+# define PROCINFO_PROCESSOR      0
+# define PROCINFO_HARDWARE_PLATFORM 1
+
+static void __eat_cpuinfo_space(char *buf)
+{
+	/* first eat trailing space */
+	char *tmp = buf + strlen(buf) - 1;
+	while (tmp > buf && isspace(*tmp))
+		*tmp-- = '\0';
+	/* then eat leading space */
+	tmp = buf;
+	while (*tmp && isspace(*tmp))
+		tmp++;
+	if (tmp != buf)
+		memmove(buf, tmp, strlen(tmp)+1);
+	/* finally collapse whitespace */
+	tmp = buf;
+	while (tmp[0] && tmp[1]) {
+		if (isspace(tmp[0]) && isspace(tmp[1])) {
+			memmove(tmp, tmp+1, strlen(tmp));
+			continue;
+		}
+		++tmp;
+	}
+}
+
+static int __linux_procinfo(int x, char *fstr, size_t s)
+{
+	FILE *fp;
+
+	char *procinfo_keys[] = {
+		/* --processor --hardware-platform */
+		#if defined(__alpha__)
+			"cpu model", "system type"
+		#elif defined(__arm__)
+			"Processor", "Hardware"
+		#elif defined(__avr32__)
+			"processor", "cpu family"
+		#elif defined(__bfin__)
+			"CPU", "BOARD Name"
+		#elif defined(__cris__)
+			"cpu", "cpu model"
+		#elif defined(__frv__)
+			"CPU-Core", "System"
+		#elif defined(__i386__) || defined(__x86_64__)
+			"model name", "vendor_id"
+		#elif defined(__ia64__)
+			"family", "vendor"
+		#elif defined(__hppa__)
+			"cpu", "model"
+		#elif defined(__m68k__)
+			"CPU", "MMU"
+		#elif defined(__mips__)
+			"cpu model", "system type"
+		#elif defined(__powerpc__) || defined(__powerpc64__)
+			"cpu", "machine"
+		#elif defined(__s390__) || defined(__s390x__)
+			"Type", "Manufacturer"
+		#elif defined(__sh__)
+			"cpu type", "machine"
+		#elif defined(sparc) || defined(__sparc__)
+			"type", "cpu"
+		#elif defined(__vax__)
+			"cpu type", "cpu"
+		#else
+			"unknown", "unknown"
+		#endif
+	};
+
+	if ((fp = fopen(CPUINFO_FILE, "r")) != NULL) {
+		char key[65], value[257], eol, *ret = NULL;
+
+		while (fscanf(fp, CPUINFO_FORMAT, key, value, &eol) != EOF) {
+			__eat_cpuinfo_space(key);
+			if (!strcmp(key, procinfo_keys[x])) {
+				__eat_cpuinfo_space(value);
+				ret = value;
+				break;
+			}
+			if (eol != '\n') {
+				/* we need two fscanf's here in case the previous
+				 * length limit caused us to read right up to the
+				 * newline ... doing "%*[^\n]\n" wont eat the newline
+				 */
+				fscanf(fp, "%*[^\n]");
+				fscanf(fp, "\n");
+			}
+		}
+		fclose(fp);
+
+		if (ret) {
+			strncpy(fstr, ret, s);
+			return 0;
+		}
+	}
+
+	return -1;
+}
+
+#endif
+
 /* Print ELEMENT, preceded by a space if something has already been
    printed.  */
 
@@ -302,10 +418,14 @@
   if (toprint & PRINT_PROCESSOR)
     {
       char const *element = unknown;
-#if HAVE_SYSINFO && defined SI_ARCHITECTURE
+#if ( HAVE_SYSINFO && defined SI_ARCHITECTURE ) || defined(USE_PROCINFO)
       {
         static char processor[257];
+#if defined(USE_PROCINFO)
+	if (0 <= __linux_procinfo (PROCINFO_PROCESSOR, processor, sizeof processor))
+#else
         if (0 <= sysinfo (SI_ARCHITECTURE, processor, sizeof processor))
+#endif
           element = processor;
       }
 #endif
@@ -358,9 +478,13 @@
       if (element == unknown)
         {
           static char hardware_platform[257];
+#if defined(USE_PROCINFO)
+	  if (0 <= __linux_procinfo (PROCINFO_HARDWARE_PLATFORM, hardware_platform, sizeof hardware_platform))
+#else
           size_t s = sizeof hardware_platform;
           static int mib[] = { CTL_HW, UNAME_HARDWARE_PLATFORM };
           if (sysctl (mib, 2, hardware_platform, &s, 0, 0) >= 0)
+#endif
             element = hardware_platform;
         }
 #endif

Added core/cpio/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: A tool to copy files into or out of a cpio or tar archive
# URL:         http://www.gnu.org/software/cpio/
# Maintainer:  CRUX System Team, core-ports at crux dot nu

name=cpio
version=2.11
release=1
source=(http://ftp.gnu.org/gnu/$name/$name-$version.tar.bz2)

build() {
    cd $name-$version
    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --disable-nls
    make
    make DESTDIR=$PKG install
    rm -r $PKG/usr/{share,libexec}
    rm $PKG/usr/man/man1/mt.1
}

Added core/curl/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: A tool for transfering files with URL syntax
# Maintainer:  CRUX System Team, core-ports at crux dot nu
# URL:         http://curl.haxx.se 
# Depends on:  openssl, zlib

name=curl
version=7.25.0
release=1
source=(http://curl.haxx.se/download/$name-$version.tar.lzma)

build() {
    cd $name-$version
    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --enable-ipv6 \
                --without-libidn \
                --enable-threaded-resolver
    make
    make DESTDIR=$PKG install
}

Added core/db/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: Berkeley DB
# URL:         http://www.oracle.com/database/berkeley-db/index.html
# Maintainer:  CRUX System Team, core-ports at crux dot nu

name=db
version=4.8.30
release=1
source=(http://download.oracle.com/berkeley-db/$name-$version.tar.gz)

build() {
    cd $name-$version/build_unix
    ../dist/configure --prefix=/usr \
                      --enable-compat185 \
                      --enable-shared \
                      --enable-static \
                      --enable-cxx
    make
    make DESTDIR=$PKG install
    rm -r $PKG/usr/docs
    chmod -R +w $PKG
}

Added core/dcron/Pkgfile.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Description: Multi-user cron daemon
# URL:         http://www.jimpryor.net/linux/dcron.html
# Maintainer:  CRUX System Team, core-ports at crux dot nu

name=dcron
version=4.5
release=1
source=(http://www.jimpryor.net/linux/releases/$name-$version.tar.gz \
        crontab runjobs crond)

build() {
    cd $name-$version

    make PREFIX=/usr
    make DESTDIR=$PKG MANDIR=/usr/man CRONTAB_GROUP=users install

    install -m 600 $SRC/crontab $PKG/var/spool/cron/crontabs/root
    ln -s ../var/spool/cron/crontabs/root $PKG/etc/crontab
    install -D -m 755 $SRC/crond $PKG/etc/rc.d/crond
    install -D -m 755 $SRC/runjobs $PKG/usr/sbin/runjobs

    install -d $PKG/etc/cron/{hourly,daily,weekly,monthly}
}

Added core/dcron/crond.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/bin/sh
#
# /etc/rc.d/crond: start/stop cron daemon
#

case $1 in
start)
	/usr/sbin/crond -S -l info
	;;
stop)
	killall -q /usr/sbin/crond
	;;
restart)
	$0 stop
	sleep 2
	$0 start
	;;
*)
	echo "usage: $0 [start|stop|restart]"
	;;
esac

# End of file

Added core/dcron/crontab.





















>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
#
# /etc/crontab: crond(8) configuration
#

@hourly   ID=sys.hourly   /usr/sbin/runjobs /etc/cron/hourly
@daily    ID=sys.daily    /usr/sbin/runjobs /etc/cron/daily
@weekly   ID=sys.weekly   /usr/sbin/runjobs /etc/cron/weekly
@monthly  ID=sys.monthly  /usr/sbin/runjobs /etc/cron/monthly

# End of file

Added core/dcron/runjobs.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/bin/bash
#
# /usr/sbin/runjobs: run all executables in specified directory
#

if [ "$1" = "" ]; then
	echo "usage: $0 <dir>"
	exit 1
fi

cd $1 || exit 1

for file in ./*; do
	if [ -f $file ] && [ -x $file ]; then
		nice -n 19 $file
	fi
done

# End of file

Added core/dhcpcd/Pkgfile.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Description: An RFC2131-compliant DHCP client daemon
# URL:         http://roy.marples.name/dhcpcd
# Maintainer:  CRUX System Team, core-ports at crux dot nu

name=dhcpcd
version=5.5.6
release=1
source=(http://roy.marples.name/downloads/dhcpcd/$name-$version.tar.bz2)

build () {
    cd $name-$version

    ./configure --prefix= \
                --libexecdir=/lib/dhcpcd \
                --dbdir=/var/lib/dhcpcd \
                --mandir=/usr/man \
                --sysconfdir=/etc/dhcpcd \
                --os=linux \
                --with-hooks=none

    make 
    make DESTDIR=$PKG install
    chmod -R u+w $PKG
}

Added core/diffutils/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Package with the GNU diff, diff3, sdiff, and cmp utilities
# URL:         http://www.gnu.org/software/diffutils/
# Maintainer:  CRUX System Team, core-ports at crux dot nu

name=diffutils
version=3.2
release=1
source=(http://ftp.gnu.org/gnu/$name/$name-$version.tar.xz)

build() {
    cd $name-$version
    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --disable-nls
    make
    make DESTDIR=$PKG install
    rm -r $PKG/usr/share
}

Added core/e2fsprogs/Pkgfile.









































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# Description: Ext2 Filesystem Utilities
# URL:         http://e2fsprogs.sourceforge.net/
# Maintainer:  CRUX System Team, core-ports at crux dot nu
# Depends on:  util-linux-ng

name=e2fsprogs
version=1.42.2
release=1
source=(http://downloads.sourceforge.net/project/$name/$name/v$version/$name-$version.tar.gz)

build() {
    cd $name-$version

    ./configure --prefix=/usr \
                --with-root-prefix= \
                --mandir=/usr/man \
                --enable-symlink-install \
                --enable-elf-shlibs \
                --disable-e2initrd-helper \
                --disable-nls \
                --disable-fsck \
                --disable-libblkid \
                --disable-libuuid \
                --disable-uuidd

    make
    make -j1 DESTDIR=$PKG install install-libs

    # quota support is disabled by default
    rm -r $PKG/usr/include/quota
    rm $PKG/usr/lib/{libquota.a,pkgconfig/quota.pc}
    
    rm -r $PKG/usr/share/info

    chmod +w -R $PKG
}

Added core/ed/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: An 8-bit clean, POSIX-compliant line editor
# URL:         http://www.gnu.org/software/ed/ed.html
# Maintainer:  CRUX System Team, core-ports at crux dot nu

name=ed
version=1.6
release=1
source=(ftp://ftp.gnu.org/gnu/$name/$name-$version.tar.gz)

build() {
    cd $name-$version

    ./configure --prefix=/usr \
                --exec-prefix=/ \
                --mandir=/usr/man \
                CFLAGS="$CFLAGS"

    make
    make DESTDIR=$PKG install
    rm -r $PKG/usr/share
}

Added core/exim/Pkgfile.









































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# Description: Mail transfer agent
# URL:         http://www.exim.org
# Maintainer:  CRUX System Team, core-ports at crux dot nu
# Depends on:  db openssl libpcre tcp_wrappers

name=exim
version=4.77
release=1
source=(ftp://ftp.exim.org/pub/exim/exim4/$name-$version.tar.bz2 \
        $name $name-config.patch
        $name-$version-compile_number.patch)

build() {
    cd $name-$version

    patch -p1 -i $SRC/$name-$version-compile_number.patch

    sed "s/#CFLAGS#/$CFLAGS/" $SRC/$name-config.patch | patch -p1
    cp src/EDITME Local/Makefile

    make -j1
    make DESTDIR=$PKG install

    install -D -m 755 $SRC/exim $PKG/etc/rc.d/exim
    install -D -m 644 doc/exim.8 $PKG/usr/man/man8/exim.8

    install -d $PKG/var/{log,spool} $PKG/usr/bin
    install -d -m 0750 -o mail -g mail $PKG/var/{log,spool}/exim

    touch $PKG/var/log/exim/exim_{mainlog,paniclog,rejectlog}
    chown mail:mail $PKG/var/log/exim/*
    chmod 640 $PKG/var/log/exim/*

    ln -sf $name-$version-1 $PKG/usr/sbin/sendmail
    ln -sf ../sbin/$name-$version-1 $PKG/usr/bin/mailq
}

Added core/exim/exim.





















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/bin/sh
#
# /etc/rc.d/exim: start/stop exim daemon
#

case $1 in
start)
	/usr/sbin/exim -bd -q15m
	;;
stop)
	killall -q /usr/sbin/exim
	;;
restart)
	$0 stop
	sleep 2
	$0 start
	;;
reload)
	kill -s HUP $(pidof exim)
	;;
*)
	echo "usage: $0 [start|stop|restart|reload]"
	;;
esac

# End of file

Added core/exim/exim-4.77-compile_number.patch.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
diff -Nru exim-4.77.orig/OS/Makefile-Base exim-4.77/OS/Makefile-Base
--- exim-4.77.orig/OS/Makefile-Base	2011-10-10 08:45:22.289284198 +0200
+++ exim-4.77/OS/Makefile-Base	2011-10-10 11:22:38.007450668 +0200
@@ -455,7 +455,7 @@
 
 # Update Exim's version information and build the version object.
 
-version.h::
+version.h:
 	@../scripts/reversion
 
 version.o: $(HDRS) cnumber.h version.h version.c
diff -Nru exim-4.77.orig/src/version.sh exim-4.77/src/version.sh
--- exim-4.77.orig/src/version.sh	2011-10-10 08:45:22.279284561 +0200
+++ exim-4.77/src/version.sh	2011-10-10 11:22:53.783546108 +0200
@@ -1,4 +1,4 @@
 # automatically generated file - see ../scripts/reversion
 EXIM_RELEASE_VERSION="4.77"
 EXIM_VARIANT_VERSION=""
-EXIM_COMPILE_NUMBER="1"
+EXIM_COMPILE_NUMBER="0"

Added core/exim/exim-config.patch.

















































































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
diff -Nru exim-4.77.orig/src/EDITME exim-4.77/src/EDITME
--- exim-4.77.orig/src/EDITME	2011-10-10 08:45:22.282617774 +0200
+++ exim-4.77/src/EDITME	2011-10-10 08:45:36.068785496 +0200
@@ -72,7 +72,7 @@
 # this would be wanted.
 ###############################################################################
 
-
+CFLAGS=#CFLAGS#
 
 ###############################################################################
 #                    THESE ARE THINGS YOU MUST SPECIFY                        #
@@ -98,7 +98,7 @@
 # /usr/local/sbin. The installation script will try to create this directory,
 # and any superior directories, if they do not exist.
 
-BIN_DIRECTORY=/usr/exim/bin
+BIN_DIRECTORY=/usr/sbin
 
 
 #------------------------------------------------------------------------------
@@ -114,7 +114,7 @@
 # don't exist. It will also install a default runtime configuration if this
 # file does not exist.
 
-CONFIGURE_FILE=/usr/exim/configure
+CONFIGURE_FILE=/etc/exim/exim.conf
 
 # It is possible to specify a colon-separated list of files for CONFIGURE_FILE.
 # In this case, Exim will use the first of them that exists when it is run.
@@ -131,7 +131,7 @@
 # deliveries. (Local deliveries run as various non-root users, typically as the
 # owner of a local mailbox.) Specifying these values as root is not supported.
 
-EXIM_USER=
+EXIM_USER=ref:mail
 
 # If you specify EXIM_USER as a name, this is looked up at build time, and the
 # uid number is built into the binary. However, you can specify that this
@@ -241,7 +241,7 @@
 # MBX, is included only when requested. If you do not know what this is about,
 # leave these settings commented out.
 
-# SUPPORT_MAILDIR=yes
+SUPPORT_MAILDIR=yes
 # SUPPORT_MAILSTORE=yes
 # SUPPORT_MBX=yes
 
@@ -284,8 +284,8 @@
 LOOKUP_LSEARCH=yes
 LOOKUP_DNSDB=yes
 
-# LOOKUP_CDB=yes
-# LOOKUP_DSEARCH=yes
+LOOKUP_CDB=yes
+LOOKUP_DSEARCH=yes
 # LOOKUP_IBASE=yes
 # LOOKUP_LDAP=yes
 # LOOKUP_MYSQL=yes
@@ -355,7 +355,7 @@
 # files are defaulted in the OS/Makefile-Default file, but can be overridden in
 # local OS-specific make files.
 
-EXIM_MONITOR=eximon.bin
+# EXIM_MONITOR=eximon.bin
 
 
 #------------------------------------------------------------------------------
@@ -550,10 +550,10 @@
 # included in the Exim binary. You will then need to set up the run time
 # configuration to make use of the mechanism(s) selected.
 
-# AUTH_CRAM_MD5=yes
+AUTH_CRAM_MD5=yes
 # AUTH_CYRUS_SASL=yes
 # AUTH_DOVECOT=yes
-# AUTH_PLAINTEXT=yes
+AUTH_PLAINTEXT=yes
 # AUTH_SPA=yes
 
 
@@ -653,10 +653,10 @@
 # leave these settings commented out.
 
 # This setting is required for any TLS support (either OpenSSL or GnuTLS)
-# SUPPORT_TLS=yes
+SUPPORT_TLS=yes
 
 # Uncomment this setting if you are using OpenSSL
-# TLS_LIBS=-lssl -lcrypto
+TLS_LIBS=-lssl -lcrypto
 
 # Uncomment these settings if you are using GnuTLS
 # USE_GNUTLS=yes
@@ -720,7 +720,7 @@
 # %s. This will be replaced by one of the strings "main", "panic", or "reject"
 # to form the final file names. Some installations may want something like this:
 
-# LOG_FILE_PATH=/var/log/exim_%slog
+LOG_FILE_PATH=/var/log/exim/exim_%slog
 
 # which results in files with names /var/log/exim_mainlog, etc. The directory
 # in which the log files are placed must exist; Exim does not try to create
@@ -769,7 +769,7 @@
 # files. Both the name of the command and the suffix that it adds to files
 # need to be defined here. See also the EXICYCLOG_MAX configuration.
 
-COMPRESS_COMMAND=/usr/bin/gzip
+COMPRESS_COMMAND=/bin/gzip
 COMPRESS_SUFFIX=gz
 
 
@@ -777,7 +777,7 @@
 # If the exigrep utility is fed compressed log files, it tries to uncompress
 # them using this command.
 
-ZCAT_COMMAND=/usr/bin/zcat
+ZCAT_COMMAND=/bin/zcat
 
 
 #------------------------------------------------------------------------------
@@ -887,9 +887,9 @@
 # You may well also have to specify a local "include" file and an additional
 # library for TCP wrappers, so you probably need something like this:
 #
-# USE_TCP_WRAPPERS=yes
+USE_TCP_WRAPPERS=yes
 # CFLAGS=-O -I/usr/local/include
-# EXTRALIBS_EXIM=-L/usr/local/lib -lwrap
+EXTRALIBS_EXIM=-lwrap
 #
 # but of course there may need to be other things in CFLAGS and EXTRALIBS_EXIM
 # as well.
@@ -922,7 +922,7 @@
 # aliases). The following setting can be changed to specify a different
 # location for the system alias file.
 
-SYSTEM_ALIASES_FILE=/etc/aliases
+SYSTEM_ALIASES_FILE=/etc/exim/aliases
 
 
 #------------------------------------------------------------------------------
@@ -968,13 +968,13 @@
 # haven't got Perl, Exim will still build and run; you just won't be able to
 # use those utilities.
 
-# CHOWN_COMMAND=/usr/bin/chown
-# CHGRP_COMMAND=/usr/bin/chgrp
-# CHMOD_COMMAND=/usr/bin/chmod
-# MV_COMMAND=/bin/mv
-# RM_COMMAND=/bin/rm
-# TOUCH_COMMAND=/usr/bin/touch
-# PERL_COMMAND=/usr/bin/perl
+CHOWN_COMMAND=/bin/chown
+CHGRP_COMMAND=/bin/chgrp
+CHMOD_COMMAND=/bin/chmod
+MV_COMMAND=/bin/mv
+RM_COMMAND=/bin/rm
+TOUCH_COMMAND=/bin/touch
+PERL_COMMAND=/usr/bin/perl
 
 
 #------------------------------------------------------------------------------
@@ -1168,7 +1168,7 @@
 # (process id) to a file so that it can easily be identified. The path of the
 # file can be specified here. Some installations may want something like this:
 
-# PID_FILE_PATH=/var/lock/exim.pid
+PID_FILE_PATH=/var/run/exim.pid
 
 # If PID_FILE_PATH is not defined, Exim writes a file in its spool directory
 # using the name "exim-daemon.pid".
diff -Nru exim-4.77.orig/src/configure.default exim-4.77/src/configure.default
--- exim-4.77.orig/src/configure.default	2011-10-10 08:45:22.279284561 +0200
+++ exim-4.77/src/configure.default	2011-10-10 08:45:36.068785496 +0200
@@ -54,7 +54,7 @@
 # +local_domains, +relay_to_domains, and +relay_from_hosts, respectively. They
 # are all colon-separated lists:
 
-domainlist local_domains = @
+domainlist local_domains = @ : localhost
 domainlist relay_to_domains =
 hostlist   relay_from_hosts = 127.0.0.1
 

Added core/file/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: File type identification utility
# URL:         http://www.darwinsys.com/file/
# Maintainer:  CRUX System Team, core-ports at crux dot nu
# Depends on:  zlib

name=file
version=5.11
release=1
source=(ftp://ftp.fu-berlin.de/unix/tools/file/$name-$version.tar.gz)

build() {
    cd $name-$version
    ./configure --prefix=/usr --mandir=/usr/man --enable-fsect-man5 
    make
    make DESTDIR=$PKG install
    rmdir $PKG/usr/man/man4
}

Added core/filesystem/Pkgfile.



































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# Description: Root filesystem package
# URL:         http://crux.nu
# Maintainer:  CRUX System Team, core-ports at crux dot nu

name=filesystem
version=2.7
release=1
source=(issue motd shells group passwd shadow securetty fstab mime.types)

build() {
    # Directory structure
    mkdir $PKG/bin
    mkdir $PKG/sbin
    mkdir $PKG/boot
    mkdir $PKG/dev
    mkdir $PKG/proc
    mkdir $PKG/sys
    mkdir $PKG/etc
    mkdir $PKG/tmp
    mkdir $PKG/mnt
    mkdir $PKG/root
    mkdir $PKG/lib
    mkdir $PKG/lib/modules
    mkdir $PKG/opt
    mkdir $PKG/opt/bin
    mkdir $PKG/opt/sbin
    mkdir $PKG/usr
    mkdir $PKG/usr/{bin,include,lib,sbin,share,src,man}
    mkdir $PKG/usr/man/man{1,2,3,4,5,6,7,8}
    ln -s ../var $PKG/usr/var
    mkdir $PKG/var
    mkdir $PKG/var/cache
    mkdir $PKG/var/lib
    mkdir $PKG/var/lib/pkg
    mkdir $PKG/var/lock
    mkdir $PKG/var/log
    mkdir $PKG/var/log/old
    mkdir $PKG/var/run
    touch $PKG/var/run/utmp
    mkdir $PKG/var/spool
    mkdir $PKG/var/spool/mail
    mkdir $PKG/var/tmp
    mkdir $PKG/var/ftp
    mkdir $PKG/var/www
    mkdir $PKG/var/empty
    ln -s spool/mail $PKG/var/mail
    mkdir $PKG/home

    chmod 1777 $PKG/var/spool/mail
    chmod 1777 $PKG/tmp
    chmod 1777 $PKG/var/lock
    chmod 1777 $PKG/var/tmp
    chmod 0750 $PKG/root

    # /dev
    mknod $PKG/dev/console c 5 1
    chmod 0600 $PKG/dev/console

    # /etc
    cp issue $PKG/etc
    cp motd $PKG/etc
    cp shells $PKG/etc
    cp group $PKG/etc
    cp passwd $PKG/etc
    cp shadow $PKG/etc
    cp securetty $PKG/etc
    cp fstab $PKG/etc
    cp mime.types $PKG/etc
    touch $PKG/etc/mtab
    chmod 640 $PKG/etc/shadow

    # /usr/bin/crux
cat > $PKG/usr/bin/crux << EOF
#!/bin/sh

echo "CRUX version $version"

# End of file
EOF
    chmod 755 $PKG/usr/bin/crux
}

Added core/filesystem/fstab.























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#
# /etc/fstab: static file system information
#
# <file system>        <dir>     <type>    <options>              <dump> <pass>

#/dev/#REISERFS_ROOT#  /         reiserfs  defaults               0      0
#/dev/#EXT3FS_ROOT#    /         ext3      defaults               0      1
#/dev/#EXT4FS_ROOT#    /         ext4      defaults               0      1
#/dev/#JFS_ROOT#       /         jfs       defaults               1      1
#/dev/#XFS_ROOT#       /         xfs       defaults               0      0
#/dev/#SWAP#           swap      swap      defaults               0      0
#/dev/#REISERFS_HOME#  /home     reiserfs  defaults               0      0
#/dev/#EXT3FS_HOME#    /home     ext3      defaults               0      2
#/dev/#EXT4FS_HOME#    /home     ext4      defaults               0      2
#/dev/#JFS_HOME#       /home     jfs       defaults               1      2
#/dev/#XFS_HOME#       /home     xfs       defaults               0      0
#/dev/cdrom            /cdrom    iso9660   ro,user,noauto,unhide  0      0
#/dev/dvd              /dvd      udf       ro,user,noauto,unhide  0      0
#/dev/floppy/0         /floppy   vfat      user,noauto,unhide     0      0
devpts                 /dev/pts  devpts    defaults               0      0
none                   /sys      sysfs     defaults               0      0
none                   /proc     proc      defaults               0      0
#tmp                   /tmp      tmpfs     defaults               0      0
#shm                   /dev/shm  tmpfs     defaults               0      0
#usb                   /proc/bus/usb usbfs defaults               0      0

# End of file

Added core/filesystem/group.



















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
root::0:root
bin::1:root,bin,daemon
daemon::2:root,bin,daemon
sys::3:root,bin
adm::4:root,daemon
tty::5:
disk::6:root
lp::7:daemon
mem::8:
kmem::9:
wheel::10:root
ftp::11:
mail::12:
mlocate::13:
dialout::14:
www::15:
audio::16:
video::17:
floppy::18:
tape::19:
scanner::20:
cdrom::21:
nobody::99:
messagebus::81:
users::100:

Added core/filesystem/issue.







>
>
>
1
2
3

CRUX  (\n) (\l)

Added core/filesystem/mime.types.









































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#
# /etc/mime.types: mime types
#

application/andrew-inset	ez
application/excel		xls
application/octet-stream	bin
application/oda			oda
application/pdf			pdf
application/pgp			pgp
application/postscript		ps PS eps
application/rtf			rtf
application/x-arj-compressed	arj
application/x-bcpio		bcpio
application/x-chess-pgn		pgn
application/x-cpio		cpio
application/x-csh		csh
application/x-debian-package	deb
application/x-msdos-program	com exe bat
application/x-dvi		dvi
application/x-gtar		gtar
application/x-gunzip		gz
application/x-hdf		hdf
application/x-latex		latex
application/x-mif		mif
application/x-netcdf		cdf nc
application/x-perl		pl pm
application/x-rar-compressed	rar
application/x-sh		sh
application/x-shar		shar
application/x-sv4cpio		sv4cpio
application/x-sv4crc		sv4crc
application/x-tar		tar
application/x-tar-gz		tgz tar.gz
application/x-tcl		tcl
application/x-tex		tex
application/x-texinfo		texi texinfo
application/x-troff		t tr roff
application/x-troff-man		man
application/x-troff-me		me
application/x-troff-ms		ms
application/x-ustar		ustar
application/x-wais-source	src
application/x-zip-compressed	zip

audio/basic			snd
audio/midi			mid midi
audio/ulaw			au
audio/x-aiff			aif aifc aiff
audio/x-wav			wav

image/gif			gif
image/ief			ief
image/jpeg			jpe jpeg jpg
image/png			png
image/tiff			tif tiff
image/x-cmu-raster		ras
image/x-portable-anymap		pnm
image/x-portable-bitmap		pbm
image/x-portable-graymap	pgm
image/x-portable-pixmap		ppm
image/x-rgb			rgb
image/x-xbitmap			xbm
image/x-xpixmap			xpm
image/x-xwindowdump		xwd

text/html			html htm
text/plain			asc txt
text/css			css
text/richtext			rtx
text/tab-separated-values	tsv
text/x-setext			etx

video/dl			dl
video/fli			fli
video/gl			gl
video/mpeg			mp2 mpe mpeg mpg
video/quicktime			mov qt
video/x-msvideo			avi
video/x-sgi-movie		movie

x-world/x-vrml			vrm vrml wrl

# End of file

Added core/filesystem/motd.

Added core/filesystem/passwd.

















>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:
daemon:x:2:2:daemon:/sbin:
mail:x:8:12:mail:/var/spool/mail:
ftp:x:14:11:ftp:/var/ftp:
www:x:15:15:www:/var/www:/bin/false
messagebus:x:81:81::/var/empty:/bin/false
nobody:x:99:99:nobody:/:

Added core/filesystem/securetty.





























>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#
# /etc/securetty: defines which devices root can log in on
#

console
ttyS0
tty1
tty2
tty3
tty4
tty5
tty6

# End of file

Added core/filesystem/shadow.

















>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
root::0::::::
bin:x:0::::::
daemon:x:0::::::
mail:x:0::::::
ftp:x:0::::::
www:x:0::::::
messagebus:x:0::::::
nobody:x:0::::::

Added core/filesystem/shells.

















>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
#
# /etc/shells: defines valid login shells
#

/bin/sh
/bin/bash

# End of file

Added core/findutils/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: Basic directory searching utilities
# URL:         http://www.gnu.org/software/findutils/
# Maintainer:  CRUX System Team, core-ports at crux dot nu

name=findutils
version=4.4.2
release=1
source=(http://ftp.gnu.org/pub/gnu/$name/$name-$version.tar.gz)

build() {
    cd $name-$version
    ./configure --prefix=/usr \
                --disable-nls \
                --mandir=/usr/man
    make
    make DESTDIR=$PKG install
    rm $PKG/usr/bin/{updatedb,locate}
    rm $PKG/usr/man/man1/{updatedb.1,locate.1}
    rm -r $PKG/usr/{libexec,share,var,man/man5}
}

Added core/flex/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: Fast Lexical Analyzer Generator
# URL:         http://flex.sourceforge.net/
# Maintainer:  CRUX System Team, core-ports at crux dot nu

name=flex
version=2.5.35
release=2
source=(http://downloads.sourceforge.net/project/$name/$name/$name-$version/$name-$version.tar.bz2
        $name-$version-gcc44-1.patch)

build() {
    cd $name-$version
    patch -p1 -i $SRC/$name-$version-gcc44-1.patch
    ./configure --prefix=/usr --disable-nls
    make
    make DESTDIR=$PKG install
    ln -sf flex $PKG/usr/bin/lex
    ln -sf flex.1.gz $PKG/usr/man/man1/lex.1.gz
    rm -rf $PKG/usr/info
}

Added core/flex/flex-2.5.35-gcc44-1.patch.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Submitted by: Matt Burgess (matthew at linuxfromscratch dot org)
Date: 2009-05-03
Initial Package Version: 2.5.35
Origin: Matt Burgess
Upstream Status: Submitted (attached to sourceforge bug 2178663)
Description: Fixes an error caused by header cleanups in GCC 4.4.0 that is
             evident from the test suite and would affect any C++ lexers
             generated by Flex.  Without this patch, Flex will generate lexers
             containing references to the 'EOF' symbol without including the
             necessary C++ header file, leading to:

             error: 'EOF' was not declared in this scope 

diff -Naur flex-2.5.35.orig/skel.c flex-2.5.35/skel.c
--- flex-2.5.35.orig/skel.c	2008-02-26 21:34:19.000000000 +0000
+++ flex-2.5.35/skel.c	2009-05-03 15:18:14.000000000 +0000
@@ -284,6 +284,7 @@
   "/* begin standard C++ headers. */",
   "#include <iostream> ",
   "#include <errno.h>",
+  "#include <cstdio>",
   "#include <cstdlib>",
   "#include <cstring>",
   "/* end standard C++ headers. */",

Added core/gawk/Pkgfile.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Description: A pattern scanning and processing language
# URL:         http://www.gnu.org/software/gawk/gawk.html
# Maintainer:  CRUX System Team, core-ports at crux dot nu

name=gawk
version=4.0.1
release=1
source=(http://ftp.gnu.org/gnu/$name/$name-$version.tar.xz)

build() {
    cd $name-$version
    ./configure --prefix=/usr \
                --libexecdir=/usr/lib \
                --mandir=/usr/man \
                --disable-nls
    make
    make DESTDIR=$PKG install

    rm -r $PKG/usr/share/info
    rm $PKG/usr/bin/{gawk,pgawk}-$version \
       $PKG/usr/man/man1/pgawk.1
    
    ln -sf gawk.1.gz $PKG/usr/man/man1/awk.1.gz
}

Added core/gcc/Pkgfile.





























































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# Description: The GNU Compiler Collection
# URL:         http://gcc.gnu.org
# Maintainer:  CRUX System Team, core-ports at crux dot nu
# Depends on:  zlib libmpc

name=gcc
version=4.5.3
release=1
source=(http://ftp.gnu.org/gnu/gcc/$name-$version/$name-{core,g++,objc}-$version.tar.bz2
        $name-nocheck-fixincludes.patch)


build() {
    patch -d $name-$version -p1 -i $SRC/$name-nocheck-fixincludes.patch

    mkdir build
    cd build
    ../$name-$version/configure --prefix=/usr \
                                --mandir=/usr/man \
                                --libexecdir=/usr/lib \
                                --enable-languages=c,c++,objc \
                                --enable-threads=posix \
                                --enable-__cxa_atexit \
                                --enable-clocale=gnu \
                                --enable-shared \
                                --disable-nls \
                                --with-x=no \
                                --with-system-zlib \
                                --with-pkgversion="CRUX"
    make bootstrap
    make -j1 DESTDIR=$PKG install

    mkdir $PKG/lib
    ln -sf ../usr/bin/cpp $PKG/lib/cpp
    ln -sf gcc $PKG/usr/bin/cc
    ln -sf g++ $PKG/usr/bin/c++

    mv $PKG/usr/lib/gcc/*/$version/include-fixed/{limits.h,syslimits.h} $PKG/usr/lib/gcc/*/$version/include/

    rm $PKG/usr/lib/{libiberty.a,libstdc++.so.6.0.14-gdb.py}
    rm -r $PKG/usr/share 
    rm -r $PKG/usr/bin/*-linux-gnu-*
    rm -r $PKG/usr/lib/gcc/*/$version/{install-tools,include-fixed} 

    sed -i "s|-L$SRC[^ ]* ||g" $PKG/usr/lib/{libstdc++.la,libsupc++.la}
}

Added core/gcc/gcc-nocheck-fixincludes.patch.





























>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
diff -Nru gcc-4.2.1.orig/fixincludes/Makefile.in gcc-4.2.1/fixincludes/Makefile.in
--- gcc-4.2.1.orig/fixincludes/Makefile.in	2007-08-15 13:45:59.000000000 +0200
+++ gcc-4.2.1/fixincludes/Makefile.in	2007-08-15 14:21:16.000000000 +0200
@@ -169,9 +169,7 @@
 	cp $(srcdir)/../gcc/aclocal.m4 .
 
 check : all
-	autogen -T $(srcdir)/check.tpl $(srcdir)/inclhack.def
-	$(SHELL) ./check.sh $(srcdir)/tests/base
-	@rm -f ./check.sh
+	echo "No check here.."
 
 install : all
 	-rm -rf $(DESTDIR)$(itoolsdir)

Added core/gdbm/Pkgfile.























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# Description: GNU database library for C
# URL:         http://www.gnu.org/software/gdbm/gdbm.html
# Maintainer:  CRUX System Team, core-ports at crux dot nu

name=gdbm
version=1.8.3
release=3
source=(http://ftp.gnu.org/gnu/$name/$name-$version.tar.gz
        $name-$version-compat-linking.patch)

build() {
    cd $name-$version
    
    patch -p1 -i $SRC/$name-$version-compat-linking.patch
    
    ./configure --prefix=/usr \
                --includedir=/usr/include/gdbm 
    
    make
    make -j1 INSTALL_ROOT=$PKG install install-compat
    ln -sf gdbm/gdbm.h $PKG/usr/include/gdbm.h

    sed -i "/dependency_libs/s|=.*$|='/usr/lib/libgdbm.la'|" $PKG/usr/lib/libgdbm_compat.la

    rm -r $PKG/usr/info
    chown -R root.root $PKG
}

Added core/gdbm/gdbm-1.8.3-compat-linking.patch.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Since libgdbm_compat uses libgdbm, make sure we link it in.

http://bugs.gentoo.org/165263

--- gdbm-1.8.3/Makefile.in
+++ gdbm-1.8.3/Makefile.in
@@ -161,10 +161,10 @@
 	$(LIBTOOL) --mode=link $(CC) -o libgdbm.la -rpath $(libdir) \
 		-version-info $(SHLIB_VER) $(LOBJS)
 
-libgdbm_compat.la: $(C_LOBJS) gdbm.h
+libgdbm_compat.la: $(C_LOBJS) gdbm.h libgdbm.la
 	rm -f libgdbm_compat.la
 	$(LIBTOOL) --mode=link $(CC) -o libgdbm_compat.la -rpath $(libdir) \
-		-version-info $(SHLIB_VER) $(C_LOBJS)
+		-version-info $(SHLIB_VER) $(C_LOBJS) libgdbm.la -L./.libs
 
 gdbm.h:	gdbm.proto gdbmerrno.h gdbm.proto2
 	rm -f gdbm.h

Added core/gettext/Pkgfile.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Description: The GNU internationalization library
# URL:         http://www.gnu.org/software/gettext/
# Maintainer:  CRUX System Team, core-ports at crux dot nu
# Depends on:  ncurses acl

name=gettext
version=0.18.1.1
release=1
source=(http://ftp.gnu.org/gnu/$name/$name-$version.tar.gz)

build() {
    cd $name-$version
    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --disable-csharp \
                --disable-{,native-}java \
                --disable-nls \
                --without-{emacs,git} \
                --with-included-{glib,libcroco,libxml}
    make
    make -j1 DESTDIR=$PKG install
    rm -r $PKG/usr/share/{info,doc}
    rm $PKG/usr/share/gettext/intl/{COPYING*,ChangeLog}
}

Added core/glib/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description: Low-level data structure handling, portability wrappers, and interfaces for runtime functionality
# URL: http://www.gtk.org/
# Maintainer: CRUX System Team, core-ports at crux dot nu
# Depends on: libpcre

name=glib
version=2.28.8
release=1
source=(http://download.gnome.org/sources/$name/2.28/$name-$version.tar.xz)

build () {
	cd $name-$version
	./configure --prefix=/usr \
		--mandir=/usr/man --with-pcre=system \
		--with-runtime-libdir=../../lib \
		--with-gio-module-dir=/lib/gio/modules
	make
	make -j 1 DESTDIR=$PKG install
	rm -rf $PKG/usr/share/{gtk-doc,locale}
	rm -r $PKG/usr/etc/bash_completion.d
	rmdir $PKG/usr/etc
}

Added core/glibc/Optimize-__getpagesize-a-bit.patch.































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
This is the important part of 8f4a5048eea6536ee85c0f2670adbb97d71e427d.
Unfortunately the assertion fails in statically linked binaries.
 
diff --git a/sysdeps/unix/sysv/linux/getpagesize.c b/sysdeps/unix/sysv/linux/getpagesize.c
index 6d03b3b..0866079 100644
--- a/sysdeps/unix/sysv/linux/getpagesize.c
+++ b/sysdeps/unix/sysv/linux/getpagesize.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991,1992,1995-1997,2000,2002,2004
+/* Copyright (C) 1991,1992,1995-1997,2000,2002,2004,2010
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -17,30 +17,37 @@
    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
    02111-1307 USA.  */
 
+#include <assert.h>
 #include <unistd.h>
 #include <sys/param.h>
 
 #include <ldsodefs.h>
+#include <kernel-features.h>
 
 /* Return the system page size.  */
 int
 __getpagesize ()
 {
+#ifdef __ASSUME_AT_PAGESIZE
+  assert (GLRO(dl_pagesize) != 0);
+  return GLRO(dl_pagesize);
+#else
   if (GLRO(dl_pagesize) != 0)
     return GLRO(dl_pagesize);
 
-#ifdef	EXEC_PAGESIZE
+# ifdef	EXEC_PAGESIZE
   return EXEC_PAGESIZE;
-#else	/* No EXEC_PAGESIZE.  */
-#ifdef	NBPG
-#ifndef	CLSIZE
-#define	CLSIZE	1
-#endif	/* No CLSIZE.  */
+# else	/* No EXEC_PAGESIZE.  */
+#  ifdef NBPG
+#   ifndef CLSIZE
+#    define CLSIZE	1
+#   endif	/* No CLSIZE.  */
   return NBPG * CLSIZE;
-#else	/* No NBPG.  */
+#  else	/* No NBPG.  */
   return NBPC;
-#endif	/* NBPG.  */
-#endif	/* EXEC_PAGESIZE.  */
+#  endif	/* NBPG.  */
+# endif	/* EXEC_PAGESIZE.  */
+#endif
 }
 libc_hidden_def (__getpagesize)
 weak_alias (__getpagesize, getpagesize)
-- 
1.7.2.1

Added core/glibc/Pkgfile.



























































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# Description: The C library used in the GNU system
# URL:         http://www.gnu.org/software/libc/
# Maintainer:  CRUX System Team, core-ports at crux dot nu

name=glibc
version=2.12.2
release=2
source=(http://ftp.gnu.org/gnu/glibc/glibc-$version.tar.xz
        http://crux.nu/files/distfiles/kernel-headers-2.6.35.tar.xz
        glibc-fedora_i686.patch
        glibc-ignore_origin.patch
        Optimize-__getpagesize-a-bit.patch
        hosts resolv.conf nsswitch.conf host.conf ld.so.conf)

build() {
    # install kernel headers
    mkdir $PKG/usr/
    cp -r kernel-headers-2.6.35/include $PKG/usr
    chown root:root $PKG/usr

    patch -p1 -d $name-$version -i $SRC/$name-fedora_i686.patch
    patch -R -p1 -d $name-$version -i $SRC/Optimize-__getpagesize-a-bit.patch
    patch -p1 -d $name-$version -i $SRC/$name-ignore_origin.patch

    mkdir build
    cd build
    ../$name-$version/configure --prefix=/usr \
                                --libexecdir=/usr/lib \
                                --with-headers=$PKG/usr/include \
                                --with-tls \
                                --enable-kernel=2.6.27 \
                                --enable-add-ons \
                                --disable-profile \
                                --without-gd
    make 
    #make check
    make install_root=$PKG install

    cp $SRC/{hosts,resolv.conf,nsswitch.conf,host.conf,ld.so.conf} $PKG/etc
    ln -sf ../usr/share/zoneinfo/UTC $PKG/etc/localtime
    mkdir -p $PKG/etc/ld.so.conf.d $PKG/usr/lib/locale
    touch $PKG/etc/ld.so.cache

    rm -rf $PKG/usr/share/{info,locale}
}

Added core/glibc/glibc-fedora_i686.patch.

















































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=3aba072d90b500e76f7f1cb06c659fb3cf02c6b8
# 2010-08-03: reapplied for glibc 2.12.1

commit 3aba072d90b500e76f7f1cb06c659fb3cf02c6b8
Author: Jakub Jelinek <jakub@redhat.com>
Date:   Wed Jul 22 13:23:08 2009 +0200

    Undefine __i686 on x86.

diff -Nru glibc-2.12.1.orig/Makeconfig glibc-2.12.1/Makeconfig
--- glibc-2.12.1.orig/Makeconfig	2010-07-27 13:34:39.000000000 +0200
+++ glibc-2.12.1/Makeconfig	2010-08-03 23:10:22.519954554 +0200
@@ -789,12 +789,12 @@
 # The assembler can generate debug information too.
 ifndef ASFLAGS
 ifeq ($(have-cpp-asm-debuginfo),yes)
-ASFLAGS := $(filter -g% -fdebug-prefix-map=%,$(CFLAGS))
+ASFLAGS = $(filter -g% -fdebug-prefix-map=%,$(CFLAGS))
 else
-ASFLAGS :=
+ASFLAGS =
 endif
 endif
-ASFLAGS += $(ASFLAGS-config) $(asflags-cpu)
+ASFLAGS += $(ASFLAGS-config) $(asflags-cpu) $(sysdep-ASFLAGS)
 
 ifndef BUILD_CC
 BUILD_CC = $(CC)
diff -Nru glibc-2.12.1.orig/sysdeps/i386/Makefile glibc-2.12.1/sysdeps/i386/Makefile
--- glibc-2.12.1.orig/sysdeps/i386/Makefile	2010-07-27 13:34:39.000000000 +0200
+++ glibc-2.12.1/sysdeps/i386/Makefile	2010-08-03 23:12:02.319954272 +0200
@@ -2,6 +2,8 @@
 # Every i386 port in use uses gas syntax (I think).
 asm-CPPFLAGS += -DGAS_SYNTAX
 
+sysdep-ASFLAGS += -U__i686
+
 # The i386 `long double' is a distinct type we support.
 long-double-fcts = yes
 

Added core/glibc/glibc-ignore_origin.patch.





















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# http://sourceware.org/ml/libc-hacker/2010-12/msg00001.html
# new fix for http://seclists.org/fulldisclosure/2010/Oct/257

2010-12-09  Andreas Schwab  <schwab@redhat.com>

	* elf/dl-object.c (_dl_new_object): Ignore origin of privileged
	program.
---
 elf/dl-object.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/elf/dl-object.c b/elf/dl-object.c
index 5d15ce1..a34e902 100644
--- a/elf/dl-object.c
+++ b/elf/dl-object.c
@@ -220,6 +220,9 @@ _dl_new_object (char *realname, const char *libname, int type,
     out:
       new->l_origin = origin;
     }
+  else if (INTUSE(__libc_enable_secure) && type == lt_executable)
+    /* The origin of a privileged program cannot be trusted.  */
+    new->l_origin = (char *) -1;
 
   return new;
 }

Added core/glibc/host.conf.

















>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
#
# /etc/host.conf: resolver configuration file
#

order hosts,bind
multi on

# End of file

Added core/glibc/hosts.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#
# /etc/hosts: static lookup table for host names
#

# IPv4
127.0.0.1	localhost
#<ip-address>	<hostname.domain.org>	<aliases>

# IPv6
#::1		ip6-localhost	ip6-loopback
#fe00::0	ip6-localnet
#ff00::0	ip6-mcastprefix
#ff02::1	ip6-allnodes
#ff02::2	ip6-allrouters
#ff02::3	ip6-allhosts

# End of file

Added core/glibc/ld.so.conf.















>
>
>
>
>
>
>
1
2
3
4
5
6
7
#
# /etc/ld.so.conf: dynamic linker configuration file
#

include /etc/ld.so.conf.d/*.conf

# End of file

Added core/glibc/nsswitch.conf.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#
# /etc/nsswitch.conf: name service switch configuration file
#

passwd:      files
group:       files
shadow:      files

hosts:       files dns
networks:    files

services:    files
protocols:   files
rpc:         files
publickey:   files
ethers:      files
netmasks:    files
netgroup:    files
bootparams:  files

automount:   files
aliases:     files

# End of file

Added core/glibc/post-install.









>
>
>
>
1
2
3
4
#!/bin/sh

/sbin/telinit U

Added core/glibc/resolv.conf.

















>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
#
# /etc/resolv.conf: resolver configuration file
#

#search <domain.org>
#nameserver <ip-address>

# End of file

Added core/grep/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: GNU grep, egrep and fgrep
# URL:         http://www.gnu.org/software/grep/grep.html
# Maintainer:  CRUX System Team, core-ports at crux dot nu
# Depends on:  libpcre

name=grep
version=2.11
release=1
source=(http://ftp.gnu.org/gnu/$name/$name-$version.tar.xz)

build() {
    cd $name-$version
    ./configure --prefix=/usr \
                --disable-nls \
                --mandir=/usr/man
    make
    make DESTDIR=$PKG install
    rm -r $PKG/usr/share
}

Added core/groff/Pkgfile.



















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# Description: The GNU troff text-formatting system
# URL:         http://www.gnu.org/software/groff/groff.html
# Maintainer:  CRUX System Team, core-ports at crux dot nu

name=groff
version=1.21
release=1
source=(http://ftp.gnu.org/gnu/$name/$name-$version.tar.gz)

build() {
    cd $name-$version

    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --without-x

    make
    make DESTDIR=$PKG install

    rm -rf $PKG/usr/share/{info,doc}

    ln -s eqn $PKG/usr/bin/geqn
    ln -s tbl $PKG/usr/bin/gtbl
    ln -s soelim $PKG/usr/bin/zsoelim
}

Added core/gzip/Pkgfile.





























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# Description: GNU compression utility (replacement for compress)
# URL:         http://www.gzip.org/
# Maintainer:  CRUX System Team, core-ports at crux dot nu

name=gzip
version=1.4
release=1
source=(http://ftp.gnu.org/gnu/$name/$name-$version.tar.xz)

build() {
    cd $name-$version
    ./configure --prefix=/usr --mandir=/usr/man
    make
    make DESTDIR=$PKG install

    mkdir -p $PKG/bin
    mv $PKG/usr/bin/{gzip,gunzip,zcat} $PKG/bin
    
    rm $PKG/usr/man/man1/{gunzip.1,zcat.1,zcmp.1}
    ln -sf gzip.1.gz  $PKG/usr/man/man1/gunzip.1.gz
    ln -sf gzip.1.gz  $PKG/usr/man/man1/zcat.1.gz
    ln -sf zdiff.1.gz $PKG/usr/man/man1/zcmp.1.gz
    
    # make uncompress a symlink to gunzip, since it will not work
    # if / and /usr are on different file systems.
    rm $PKG/usr/bin/uncompress
    ln -s /bin/gunzip $PKG/usr/bin/uncompress

    rm -r $PKG/usr/share
}

Added core/hdparm/Pkgfile.





























>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# Description: A shell utility for manipulating Linux IDE drive/driver parameters
# URL:         http://sourceforge.net/projects/hdparm/
# Maintainer:  CRUX System Team, core-ports at crux dot nu

name=hdparm
version=9.39
release=1
source=(http://downloads.sourceforge.net/project/$name/$name/$name-$version.tar.gz)

build() {
    cd $name-$version
    make
    make DESTDIR=$PKG mandir=/usr/man install
}

Added core/httpup/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Maintainer:  CRUX System Team, core-ports at crux dot nu 
# Description: One way sync over http
# URL:         http://jw.tks6.net/files/crux/httpup_manual.html 
# Depends on:  curl

name=httpup
version=0.4.0k
release=1
source=(http://jw.tks6.net/files/crux/${name}-$version.tar.gz httpup)

build() {
    cd $name-$version

    make
    mkdir -p $PKG/usr/{bin,man/man8}

    cp httpup httpup-repgen $PKG/usr/bin
    install -D -m 755 $SRC/httpup $PKG/etc/ports/drivers/httpup
    cp *.8 $PKG/usr/man/man8
}

Added core/httpup/httpup.























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/bin/sh
#
# /etc/ports/drivers/httpup: httpup driver script for ports(8)
# 

if [ $# -ne 1 ]; then
        echo "usage: $0 <file>" >&2
        exit 1
fi

. $1

if [ -z "$ROOT_DIR" ]; then
	echo "ROOT_DIR not set in '$1'" >&2
	exit 2
fi
if [ -z "$URL" ]; then
	echo "URL not set in '$1'" >&2
	exit 2
fi

for REPO in $URL; do
    PORT=`echo $REPO | sed -n '/#.*$/s|^.*#||p'`
    httpup sync $REPO $ROOT_DIR/$PORT
done

# End of file.

Added core/iana-etc/Pkgfile.



























>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
# Description: Services and protocols files for /etc
# URL: http://www.iana.org/
# Maintainer: CRUX System Team, core-ports at crux dot nu

name=iana-etc
version=2.4
release=1
source=(services protocols)

build() {
	mkdir -m 755 $PKG/etc
	install -m 644 {services,protocols} $PKG/etc
}

Added core/iana-etc/protocols.







































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
#	$NetBSD: protocols,v 1.12.4.1 2006/12/02 12:58:19 bouyer Exp $
#
# Internet (IP) protocols
#
#	originally from: @(#)protocols	8.1 (Berkeley) 6/9/93
#	see http://www.iana.org/assignments/protocol-numbers
#
ip	0	IP		# internet protocol, pseudo protocol number
icmp	1	ICMP		# internet control message protocol
igmp	2	IGMP		# internet group management protocol
ggp	3	GGP		# gateway-gateway protocol
ipencap	4	IP-ENCAP	# IP encapsulated in IP (officially ``IP'')
st	5	ST		# ST datagram mode
tcp	6	TCP		# transmission control protocol
cbt	7	CBT
egp	8	EGP		# exterior gateway protocol
igp	9	IGP		# any private interior gateway protocol
bbn-rcc-mon	10	BBN-RCC-MON	# BBN RCC Monitoring
nvp-ii	11	NVP-II		# Network Voice Protocol
pup	12	PUP		# PARC universal packet protocol
argus	13	ARGUS
emcon	14	EMCON
xnet	15	XNET		# Cross net debugger
chaos	16	CHAOS		# Chaos
udp	17	UDP		# user datagram protocol
mux	18	MUX		# Multiplexing
dcn-meas	19	DCN-MEAS	# DCN Measurement Subsystems
hmp	20	HMP		# host monitoring protocol
prm	21	PRM		# Packet Radio Measurement
xns-idp	22	XNS-IDP		# Xerox NS IDP
trunk-1	23	TRUNK-1
trunk-2	24	TRUNK-2
leaf-1	25	LEAF-1
leaf-2	26	LEAF-2
rdp	27	RDP		# reliable data protocol
irtp	28	IRTP		# Internet Reliable Transaction
iso-tp4	29	ISO-TP4		# ISO Transport Protocol Class 4
netblt	30	NETBLT		# Bulk Data Transfer Protocol
mfe-nsp	31	MFE-NSP		# MFE Network Services Protocol
merit-inp	32	MERIT-INP	# MERIT Internodal Protocol
sep	33	SEP		# Sequential Exchange Protocol
3pc	34	3PC		# Third Party Connect Protocol
idpr	35	IDPR		# Inter-Domain Policy Routing Protocol
xtp	36	XTP		# Xpress Transfer Protocol
ddp	37	DDP		# Datagram Delivery Protocol
idpr-cmtp	38	IDPR-CMTP	# IDPR Control Message Transport
tp++	39	TP++		# TP++ Transport Protocol
il	40	IL		# IL Transport Protocol
ipv6	41	IPv6		# Internet Protocol, version 6
sdrp	42	SDRP		# Source Demand Routing Protocol
ipv6-route	43	IPv6-Route	# Routing Header for IPv6
ipv6-frag	44	IPv6-Frag	# Fragment Header for IPv6
idrp	45	IDRP		# Inter-Domain Routing Protocol
rsvp	46	RSVP		# Resource ReSerVation Protocol
gre	47	GRE		# General Routing Encapsulation
mhrp	48	MHRP		# Mobile Host Routing Protocol
bna	49	BNA
esp	50	ESP		# Encapsulating Security Payload
ah	51	AH		# Authentication Header
i-nlsp	52	I-NLSP		# Integrated Net Layer Security
swipe	53	SWIPE		# IP with Encryption
narp	54	NARP		# NBMA Address Resolution Protocol
mobile	55	MOBILE		# IP Mobility (IP tunneling)
tlsp	56	TLSP		# Transport Layer Security Protocol
skip	57	SKIP
ipv6-icmp	58	IPv6-ICMP icmp6	# ICMP version 6
ipv6-nonxt	59	IPv6-NoNxt	# No Next Header for IPv6
ipv6-opts	60	IPv6-Opts	# Destination Options for IPv6
#	61			# any host internal protocol
cftp	62	CFTP		# CFTP
#	63			# any local network
sat-expak	64	SAT-expak	#  SATNET and Backroom EXPAK
kryptolan	65	KRYPTOLAN	# Kryptolan
rvd	66	RVD		# MIT Remote Virtual Disk Protocol
ippc	67	IPPC		# Internet Pluribus Packet Core
#	68			# any distributed file system
sat-mon	69	SAT-MON		# SATNET Monitoring
visa	70	VISA		# VISA Protocol
ipcv	71	IPCV		# Internet Packet Core Utility
cpnx	72	CPNX		# Computer Protocol Network Executive
cphb	73	CPHB		# Computer Protocol Heart Beat
wsn	74	WSN		# Wang Span Network
pvp	75	PVP		# Packet Video Protocol
br-sat-mon	76	BR-SAT-MON	# Backroom SATNET Monitoring
sun-nd	77	SUN-ND		# SUN ND PROTOCOL-Temporary
wb-mon	78	WB-MON		# WIDEBAND Monitoring
wb-expak	79	WB-EXPAK	# WIDEBAND EXPAK
iso-ip	80	ISO-IP		# ISO Internet Protocol
vmtp	81	VMTP		# Versatile Message Transport
secure-vmtp	82	SECURE-VMTP	# SECURE-VMTP
vines	83	VINES
ttp	84	TTP
nsfnet-igp	85	NSFNET-IGP
dgp	86	DGP		# Dissimilar Gateway Protocol
tcf	87	TCF
eigrp	88	EIGRP		# Enhanced Inter-Gateway Routing Protocol
ospf	89	OSPFIGP		# Open Shortest Path First IGP
sprite-rpc	90	Sprite-RPC	# Sprite RPC Protocol
larp	91	LARP		# Locus Address Resolution Protocol
mtp	92	MTP		# Multicast Transport Protocol
ax.25	93	AX.25		# AX.25 Frames
ipip	94	IPIP		# Yet Another IP encapsulation
micp	95	MICP		# Mobile Internetworking Control Pro.
scc-sp	96	SCC-SP		# Semaphore Communications Sec. Pro.
etherip	97	ETHERIP		# Ethernet-within-IP Encapsulation
encap	98	ENCAP		# RFC1241 encapsulation
#	99			# any private encryption scheme
gmtp	100	GMTP
ifmp	101	IFMP		# Ipsilon Flow Management Protocol
pnni	102	PNNI		# PNNI over IP
pim	103	PIM		# Protocol Independent Multicast
aris	104	ARIS
scps	105	SCPS
qnx	106	QNX
a/n	107	A/N		# Active Networks
ipcomp	108	IPCOMP		# IP Payload Compression Protocol
snp	109	SNP		# Sitara Networks Protocol
compaq-peer	110	Compaq-Peer	# Compaq Peer Protocol
ipx-in-ip	111	IPX-in-IP	# IPX in IP
carp	112	CARP	vrrp	# Virtual Router Redundancy Protocol
pgm	113	PGM		# PGM Reliable Transport Protocol
#	114			# any 0-hop protocol
l2tp	115	L2TP		# Layer Two Tunneling Protocol
ddx	116	DDX		# D-II Data Exchange (DDX)
iatp	117	IATP		# Interactive Agent Transfer Protocol
stp	118	STP		# Schedule Transfer Protocol
srp	119	SRP		# SpectraLink Radio Protocol
uti	120	UTI
smp	121	SMP		# Simple Message Protocol
sm	122	SM
ptp	123	PTP		# Performance Transparency Protocol
isis	124	ISIS		# IS-IS over IPv4
fire	125	FIRE
crtp	126	CRTP		# Combat Radio Transport Protocol
crudp	127	CRUDP		# Combat Radio User Datagram
sscopmce	128	SSCOPMCE
iplt	129	IPLT
sps	130	SPS		# Secure Packet Shield
pipe	131	PIPE		# Private IP Encapsulation within IP
sctp	132	SCTP		# Stream Control Transmission Protocol
fc	133	FC		# Fibre Channel
rsvp-e2e-ignore	134	RSVP-E2E-IGNORE
mobility-header	135	MOBILITY-HEADER	# Mobility Header
udplite		136	UDPLite
mpls-in-ip	137     MPLS-in-IP	# MPLS in IP
#	138-254			# Unassigned
#	255			# Reserved

Added core/iana-etc/services.

































































































































































































































































































































































































































































































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
#	$NetBSD: services,v 1.84 2007/02/10 19:39:02 reed Exp $
#
# Network services, Internet style
#
# Note that it is presently the policy of IANA to assign a single well-known
# port number for both TCP and UDP; hence, most entries here have two entries
# even if the protocol doesn't support UDP operations.
# Updated from RFC 1340, ``Assigned Numbers'' (July 1992).  Not all ports
# are included, only the more common ones.
# The latest IANA list is available from:
#	http://www.iana.org/assignments/port-numbers
#
#	from: @(#)services	8.2 (Berkeley) 3/26/95
#
tcpmux		1/tcp		# TCP port multiplexer (RFC1078)
echo		7/tcp
echo		7/udp
discard		9/tcp		sink null
discard		9/udp		sink null
systat		11/tcp		users
daytime		13/tcp
daytime		13/udp
netstat		15/tcp
qotd		17/tcp		quote
msp		18/tcp		# message send protocol
msp		18/udp
chargen		19/tcp		ttytst source
chargen		19/udp		ttytst source
ftp-data	20/tcp		# default ftp data port
ftp		21/tcp		# File Transfer Protocol
ssh		22/tcp		# Secure Shell
ssh		22/udp
telnet		23/tcp
# 24 - private
smtp		25/tcp		mail
# 26 - unassigned
time		37/tcp		timserver
time		37/udp		timserver
rlp		39/udp		resource	# resource location
nameserver	42/tcp		name		# IEN 116
whois		43/tcp		nicname
tacacs		49/tcp		# Login Host Protocol (TACACS)
tacacs		49/udp		# Login Host Protocol (TACACS)
domain		53/tcp		# name-domain server
domain		53/udp
mtp		57/tcp				# deprecated
bootps		67/tcp		# BOOTP server
bootps		67/udp
bootpc		68/tcp		# BOOTP client
bootpc		68/udp
tftp		69/udp		# Trivial File Transfer Protocol
gopher		70/tcp		# Internet Gopher
gopher		70/udp
rje		77/tcp		netrjs
finger		79/tcp
http		80/tcp		www www-http	# WorldWideWeb HTTP
http		80/udp		www www-http	# HyperText Transfer Protocol
link		87/tcp		ttylink
kerberos	88/tcp		krb5	# Kerberos v5
kerberos	88/udp
supdup		95/tcp
# 100 - reserved
hostnames	101/tcp		hostname	# usually from sri-nic
iso-tsap	102/tcp		tsap		# part of ISODE.
csnet-ns	105/tcp		cso-ns	# also used by CSO name server
csnet-ns	105/udp		cso-ns
poppass		106/tcp		poppassd
rtelnet		107/tcp		# Remote Telnet
rtelnet		107/udp
pop2		109/tcp		postoffice	# POP version 2
pop2		109/udp
pop3		110/tcp		# POP version 3
pop3		110/udp
sunrpc		111/tcp		rpcbind		# Remote Procedure Call
sunrpc		111/udp		rpcbind
auth		113/tcp		authentication tap ident
sftp		115/tcp
uucp-path	117/tcp
sqlserv		118/tcp				# SQL Services
nntp		119/tcp		readnews untp	# USENET News Transfer Protocol
erpc		121/udp			# Encore Expedited Remote Pro.Call
ntp		123/tcp
ntp		123/udp				# Network Time Protocol
netbios-ns	137/tcp				# NETBIOS Name Service
netbios-ns	137/udp
netbios-dgm	138/tcp				# NETBIOS Datagram Service
netbios-dgm	138/udp
netbios-ssn	139/tcp				# NETBIOS session service
netbios-ssn	139/udp
imap	143/tcp		imap2 imap4	# Internet Message Access Protocol
imap	143/udp		imap2 imap4
snmp		161/udp				# Simple Net Mgmt Proto
snmp-trap	162/udp		snmptrap	# Traps for SNMP
cmip-man	163/tcp				# ISO mgmt over IP (CMOT)
cmip-man	163/udp
cmip-agent	164/tcp
cmip-agent	164/udp
mailq		174/tcp				# zmailer MTA
xdmcp		177/tcp				# X Display Mgr. Control Proto
xdmcp		177/udp
nextstep	178/tcp		NeXTStep NextStep	# NeXTStep window
nextstep	178/udp		NeXTStep NextStep	# server
bgp		179/tcp				# Border Gateway Proto.
bgp		179/udp
prospero	191/tcp				# Cliff Neuman's Prospero
prospero	191/udp
irc		194/tcp				# Internet Relay Chat
irc		194/udp
smux		199/tcp				# SNMP Unix Multiplexer
smux		199/udp
at-rtmp		201/tcp				# AppleTalk routing
at-rtmp		201/udp
at-nbp		202/tcp				# AppleTalk name binding
at-nbp		202/udp
at-echo		204/tcp				# AppleTalk echo
at-echo		204/udp
at-zis		206/tcp				# AppleTalk zone information
at-zis		206/udp
z3950		210/tcp		wais		# NISO Z39.50 database
z3950		210/udp		wais
ipx		213/tcp				# IPX
ipx		213/udp
imap3		220/tcp				# Interactive Mail Access
imap3		220/udp				# Protocol v3
rsh-spx		222/tcp				# Berkeley rshd with SPX auth
ulistserv	372/tcp				# UNIX Listserv
ulistserv	372/udp
nip		376/tcp				# Amiga Envoy Net Inquiry Prot.
nip		376/udp				# Amiga Envoy Net Inquiry Prot.
ldap		389/tcp			# Lightweight Directory Access Protocol
ldap		389/udp			# Lightweight Directory Access Protocol
imsp		406/tcp			# Interactive Mail Support Protocol
imsp		406/udp			# Interactive Mail Support Protocol
microsoft-ds	445/tcp			# Microsoft-DS
microsoft-ds	445/udp			# Microsoft-DS
isakmp		500/tcp			# IPsec Key Management (ISAKMP/Oakley)
isakmp		500/udp			# IPsec Key Management (ISAKMP/Oakley)
ripng		521/tcp			# RIP for IPv6
ripng		521/udp			# RIP for IPv6
submission	587/tcp			# Message Submission
submission	587/udp			# Message Submission
acap		674/tcp		# Application Configuration Access Protocol
acap		674/udp		# Application Configuration Access Protocol
silc		706/tcp			# Secure Internet Live Conferencing
silc		706/udp			# Secure Internet Live Conferencing
iscsi-rfc	860/tcp			# RFC port used by iSCSI targets

#
# UNIX specific services
#
exec		512/tcp				# Remote execution
biff		512/udp		comsat		# Biff the dog
login		513/tcp				# Remote login
who		513/udp		whod		# Remote who
shell		514/tcp		cmd		# Remote command shell
syslog		514/udp				# System logger
printer		515/tcp		spooler		# line printer spooler
talk		517/udp				# Talk protocols
ntalk		518/udp
route		520/udp		router routed	# RIP
timed		525/udp		timeserver
tempo		526/tcp		newdate
courier		530/tcp		rpc
conference	531/tcp		chat
netnews		532/tcp
netwall		533/udp				# -for emergency broadcasts
uucp		540/tcp		uucpd		# uucp daemon
rdist		541/tcp		rdistd		# rdist daemon
afpovertcp	548/tcp				# AppleshareIP protocol
afpovertcp	548/udp				# AppleshareIP protocol
remotefs	556/tcp		rfs_server rfs	# Brunhoff remote filesystem
#
webster		765/tcp				# Network dictionary
webster		765/udp
rsync		873/tcp				# rsync
rsync		873/udp				# rsync

#
# Various SSL services
#
https		443/tcp			# http protocol over TLS/SSL
https		443/udp			# http protocol over TLS/SSL
smtps		465/tcp			# smtp protocol over TLS/SSL
smtps		465/udp			# smtp protocol over TLS/SSL
nntps		563/tcp			# nntp protocol over TLS/SSL (was snntp)
nntps		563/udp			# nntp protocol over TLS/SSL (was snntp)
ldaps		636/tcp			# ldap protocol over TLS/SSL (was sldap)
ldaps		636/udp			# ldap protocol over TLS/SSL (was sldap)
ftps-data	989/tcp			# ftp protocol, data, over TLS/SSL
ftps-data	989/udp			# ftp protocol, data, over TLS/SSL
ftps		990/tcp			# ftp protocol, control, over TLS/SSL
ftps		990/udp			# ftp protocol, control, over TLS/SSL
telnets		992/tcp			# telnet protocol over TLS/SSL
telnets		992/udp			# telnet protocol over TLS/SSL
imaps		993/tcp			# imap4 protocol over TLS/SSL
imaps		993/udp			# imap4 protocol over TLS/SSL
ircs		994/tcp			# irc protocol over TLS/SSL
ircs		994/udp			# irc protocol over TLS/SSL
pop3s		995/tcp			# pop3 protocol over TLS/SSL (was spop3)
pop3s		995/udp			# pop3 protocol over TLS/SSL (was spop3)

#
# From ``Assigned Numbers'':
#
#> The Registered Ports are not controlled by the IANA and on most systems
#> can be used by ordinary user processes or programs executed by ordinary
#> users.
#
#> Ports are used in the TCP [45,106] to name the ends of logical
#> connections which carry long term conversations.  For the purpose of
#> providing services to unknown callers, a service contact port is
#> defined.  This list specifies the port used by the server process as its
#> contact port.  While the IANA can not control uses of these ports it
#> does register or list uses of these ports as a convenience to the
#> community.
#
ingreslock	1524/tcp
ingreslock	1524/udp
prospero-np	1525/tcp		# Prospero non-privileged
prospero-np	1525/udp
radius		1812/tcp
radius		1812/udp
radius-acct	1813/tcp		radacct
radius-acct	1813/udp		radacct
cvspserver	2401/tcp
cvspserver	2401/udp
isns		3205/tcp		# iSNS server port
isns		3205/udp		# iSNS server port
iscsi		3260/tcp		# Draft port used by iSCSI targets
					# Will be moved to 860 after RFC
					# is published
iscsi-target	3260/tcp		# Draft port used by iSCSI targets
mysql		3306/tcp		# MySQL
mysql		3306/udp		# MySQL
svn		3690/tcp		# Subversion
svn		3690/udp		# Subversion
rfe		5002/tcp		# Radio Free Ethernet
rfe		5002/udp		# Actually uses UDP only
sip		5060/tcp		# SIP
sip		5060/udp		# SIP
postgresql	5432/tcp		# PostgreSQL Database
postgresql	5432/udp		# PostgreSQL Database

#
# Kerberos (Project Athena/MIT) services
# (note that kerberos @ port 88 is sorted in the list above)
#
kpasswd		464/udp			# Kerberos password changing protocol
kpasswd		464/tcp			# Kerberos password changing protocol
klogin		543/tcp			# Kerberos `rlogin'
kshell		544/tcp		krcmd	# Kerberos `rsh'
ekshell		545/tcp			# Encrypted kshell
kerberos-adm	749/tcp			# Kerberos `kadmin' (v5)
kerberos-iv	750/udp		kdc kerberos4	# Kerberos (server) udp
kerberos-iv	750/tcp		kdc kerberos4	# Kerberos (server) tcp
kerberos-master	751/udp			# Kerberos admin server udp
kerberos-master	751/tcp			# Kerberos admin server tcp
hprop		754/tcp			# Heimdal KDC database propagation
krbupdate	760/tcp		kreg	# BSD Kerberos registration
kpwd		761/tcp			# old BSD Kerberos `passwd'
					# (formerly `kpasswd')
kpop		1109/tcp		# Kerberos POP server
eklogin		2105/tcp		# Kerberos encrypted `rlogin'
ekshell2	2106/tcp		# Encrypted kshell - UColorado, Boulder
krb524		4444/udp		# krb5 -> krb4 ticket conversion

#
# AFS services
#
# IANA has these registered as both UDP and TCP, but only the UDP
# ports are used by the protocol
#
afs3-fileserver 7000/tcp		# file server itself
afs3-fileserver 7000/udp		# file server itself
afs3-callback	7001/tcp		# callbacks to cache managers
afs3-callback	7001/udp		# callbacks to cache managers
afs3-prserver	7002/tcp		# users & groups database
afs3-prserver	7002/udp		# users & groups database
afs3-vlserver	7003/tcp		# volume location database
afs3-vlserver	7003/udp		# volume location database
afs3-kaserver	7004/tcp		# AFS/Kerberos authentication service
afs3-kaserver	7004/udp		# AFS/Kerberos authentication service
afs3-volser	7005/tcp		# volume management server
afs3-volser	7005/udp		# volume management server
afs3-errors	7006/tcp		# error interpretation service
afs3-errors	7006/udp		# error interpretation service
afs3-bos	7007/tcp		# basic overseer process
afs3-bos	7007/udp		# basic overseer process
afs3-update	7008/tcp		# server-to-server updater
afs3-update	7008/udp		# server-to-server updater
afs3-rmtsys	7009/tcp		# remote cache manager service
afs3-rmtsys	7009/udp		# remote cache manager service
afs3-resserver	7010/tcp		# MR-AFS residence server
afs3-resserver	7010/udp		# MR-AFS residence server
afs3-remio	7011/tcp		# MR-AFS remote IO server
afs3-remio	7011/udp		# MR-AFS remote IO server

#
# Unofficial but necessary (for NetBSD) services
#
supfilesrv	871/tcp			# SUP server
supfiledbg	1127/tcp		# SUP debugging

#
# other common ports
#
swat		901/tcp			# Samba Web Administration Tool
sieve		2000/tcp		# RFC3028
lmtp		2003/tcp		# Local Mail Transfer Protocol
nfs		2049/udp	nfsd	# Sun NFS
nfs		2049/tcp	nfsd	# Sun NFS
suucp		4031/tcp		# UUCP over SSL
suucp		4031/udp		# UUCP over SSL
fud		4201/udp		# Cyrus IMAP finger-like service
X11		6000/tcp		# X Window System
ircd		6667/tcp		# Often used IRC port (also see 194)
sstp-2		9801/tcp		# Sakura Script Transfer Protocol-2
sstp-2		9801/udp		# Sakura Script Transfer Protocol-2
amanda		10080/udp		# Amanda
kamanda		10081/udp		# Amanda with Kerberos
amandaidx	10082/tcp		# Amanda index server
amidxtape	10083/tcp		# Amanda dump image server
italk		12345/tcp		# Italk Chat System
italk		12345/udp		# Italk Chat System
hunt		26740/udp		# multi-player/multi-host maze-wars

#
# Netatalk (in-kernel Appletalk) services
# Note: The running kernel must be configured with "options NETATALK"
# and software not included in NetBSD, such as Netatalk version 1.4b2
# or later, must be used to take advantage of these services.
#
rtmp		1/ddp			# Routing Table Maintenance Protocol
nbp		2/ddp			# Name Binding Protocol
echo		4/ddp			# AppleTalk Echo Protocol
zip		6/ddp			# Zone Information Protocol

# Iana registered Coda filesystem port numbers
rpc2portmap	369/tcp
rpc2portmap	369/udp			# Coda portmapper
codaauth2	370/tcp
codaauth2	370/udp			# Coda authentication server

# Iana registered dict port numbers
dict		2628/tcp		# DICT
dict		2628/udp

venus		2430/tcp		# codacon port
venus		2430/udp		# Venus callback/wbc interface
venus-se	2431/tcp		# tcp side effects
venus-se	2431/udp		# udp sftp side effect
codasrv		2432/tcp		# not used
codasrv		2432/udp		# server port
codasrv-se	2433/tcp		# tcp side effects
codasrv-se	2433/udp		# udp sftp side effect

# Iana registered ports commonly found in security logs
epmap		135/tcp			# DCE endpoint resolution
epmap		135/udp			# DCE endpoint resolution
rtsp		554/tcp			# Real Time Stream Control Protocol
rtsp		554/udp			# Real Time Stream Control Protocol
socks		1080/tcp		# Socks
socks		1080/udp		# Socks
kazaa		1214/tcp		# KAZAA
kazaa		1214/udp		# KAZAA
ms-sql-s	1433/tcp		# Microsoft-SQL-Server
ms-sql-s	1433/udp		# Microsoft-SQL-Server
ms-sql-m	1434/tcp		# Microsoft-SQL-Monitor
ms-sql-m	1434/udp		# Microsoft-SQL-Monitor
ms-wbt-server	3389/tcp		# MS WBT Server
ms-wbt-server	3389/udp		# MS WBT Server
terabase	4000/tcp	icq	# used for both Terabase and ICQ
terabase	4000/udp	icq	# used for both Terabase and ICQ
radmin-port	4899/tcp		# RAdmin Port
radmin-port	4899/udp		# RAdmin Port
mdns		5353/tcp		# Multicast DNS
mdns		5353/udp		# Multicast DNS
http-alt	8080/tcp		# HTTP Alternate (see port 80)
http-alt	8080/udp		# HTTP Alternate (see port 80)

# Zephyr services
zephyr-clt      2103/udp                        # Zephyr serv-hm connection
zephyr-hm       2104/udp                        # Zephyr hostmanager
zephyr-hm-srv   2105/udp                        # Zephyr hm-serv connection

Added core/inetutils/Pkgfile.































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# Description: Inetd daemon, FTP and telnet client
# URL:         http://www.gnu.org/software/inetutils/inetutils.html
# Maintainer:  CRUX System Team, core-ports at crux dot nu
# Depends on:  readline

name=inetutils
version=1.9.1
release=1
source=(http://ftp.gnu.org/gnu/inetutils/inetutils-$version.tar.gz \
        inetd.conf inetd)

build() {
    cd inetutils-$version

    ./configure --prefix=/usr \
                --libexecdir=/usr/sbin \
                --mandir=/usr/man \
                --localstatedir=/var \
                --sysconfdir=/etc \
                --disable-{servers,clients} \
                --enable-{inetd,ftp,telnet}
    
    make
    make DESTDIR=$PKG install

    install -d $PKG/etc/rc.d
    install -m 644 $SRC/inetd.conf $PKG/etc
    install -m 755 $SRC/inetd $PKG/etc/rc.d

    rm -r $PKG/usr/share
}

Added core/inetutils/inetd.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/bin/sh
#
# /etc/rc.d/inetd: start/stop inet daemon
#

case $1 in
start)
	/usr/sbin/inetd
	;;
stop)
	killall -q /usr/sbin/inetd
	;;
restart)
	$0 stop
	sleep 2
	$0 start
	;;
*)
	echo "usage: $0 [start|stop|restart]"
	;;
esac

# End of file

Added core/inetutils/inetd.conf.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#
# /etc/inetd.conf: inetd(8) configuration
#
# Do 'killall -HUP inetd' to make inetd re-read this file.
#

# <service_name> <sock_type> <proto> <flags> <user> <server_path> <args>

# ftp		stream	tcp	nowait	root	/usr/sbin/tcpd	in.ftpd
# telnet	stream  tcp     nowait  root    /usr/sbin/tcpd	in.telnetd
# nntp		stream	tcp	nowait	root	/usr/sbin/tcpd	in.nntpd
# smtp		stream  tcp     nowait  root    /usr/sbin/tcpd	sendmail -v
# shell		stream	tcp	nowait	root	/usr/sbin/tcpd	in.rshd -L
# login		stream	tcp	nowait	root	/usr/sbin/tcpd	in.rlogind
# exec		stream	tcp	nowait	root	/usr/sbin/tcpd	in.rexecd
# talk		dgram	udp	wait	root	/usr/sbin/tcpd	in.talkd
# ntalk		dgram	udp	wait	root	/usr/sbin/tcpd	in.talkd
# pop2		stream	tcp	nowait	root	/usr/sbin/tcpd	in.pop2d
# pop3		stream	tcp	nowait	root	/usr/sbin/tcpd	in.pop3d
# imap		stream	tcp	nowait	root	/usr/sbin/tcpd	in.imapd
# auth		stream	tcp	nowait	nobody	/usr/sbin/in.identd in.identd

# End of file

Added core/iproute2/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: A collection of utilites for controlling TCP/IP networking and traffic in Linux
# URL:         http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2
# Maintainer:  CRUX System Team, core-ports at crux dot nu
# Depends on:  db iptables

name=iproute2
version=3.3.0
release=1
source=(http://www.kernel.org/pub/linux/utils/net/$name/$name-$version.tar.xz \
        net.iproute2)

build() {
    cd $name-$version
    sed -i "/^CCOPTS/s|-O2|$CFLAGS|" Makefile
    ./configure
    make
    make MANDIR=/usr/man DESTDIR=$PKG install
    rm -r $PKG/share
    install -D -m 0755 $SRC/net.iproute2 $PKG/etc/rc.d/net
}

Added core/iproute2/net.iproute2.



































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#!/bin/sh
#
# /etc/rc.d/net: start/stop network
#

case $1 in
start)
	# loopback
	/sbin/ip addr add 127.0.0.1/8 dev lo broadcast + scope host
	/sbin/ip link set lo up
	# ethernet
	/sbin/ip addr add 192.168.1.100/24 dev eth0 broadcast +
	/sbin/ip link set eth0 up
	# default route
	/sbin/ip route add default via 192.168.1.1
	;;
stop)
	/sbin/ip route del default
	/sbin/ip link set eth0 down
	/sbin/ip addr del 192.168.1.100/24 dev eth0
	/sbin/ip link set lo down
	/sbin/ip addr del 127.0.0.1/8 dev lo
	;;
restart)
	$0 stop
	$0 start
	;;
*)
	echo "usage: $0 [start|stop|restart]"
	;;
esac

# End of file

Added core/iptables/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: A Linux kernel packet filter control tool
# URL:         http://www.iptables.org/
# Maintainer:  CRUX System Team, core-ports at crux dot nu

name=iptables
version=1.4.13
release=1
source=(ftp://ftp.netfilter.org/pub/iptables/$name-$version.tar.bz2) 

build () {
    cd $name-$version
    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --libexecdir=/usr/lib \
                --enable-libipq
    make
    make DESTDIR=$PKG install
}

Added core/iputils/Pkgfile.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Description: Basic networking applet
# URL: http://www.linux-foundation.org/en/Net:Iputils
# Maintainer: CRUX System Team, core-ports at crux dot nu
# Depends on: sysfsutils

name=iputils
version=s20101006
release=1
source=(http://www.skbuff.net/iputils/$name-$version.tar.bz2
        http://crux.nu/files/distfiles/$name-man-$version.tar.xz)

build() {
    cd $name-$version

    sed -i "/^CCOPT=/s|-O2|$CFLAGS|;s| -g$||" Makefile
    make

    install -d $PKG/{{s,}bin,usr/{man/man8,sbin}}
    install ping{,6} $PKG/bin/
    install arping $PKG/sbin/
    install tracepath{,6} traceroute6 clockdiff rarpd rdisc $PKG/usr/sbin/
    cp -d $SRC/$name-man-$version/* $PKG/usr/man/man8
    chmod u+s $PKG/bin/ping{,6} $PKG/usr/sbin/traceroute6
}

Added core/jfsutils/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: Tools for IBM's journaled file system
# URL:         http://jfs.sourceforge.net/
# Maintainer:  CRUX System Team, core-ports at crux dot nu
# Depends on:  util-linux-ng

name=jfsutils
version=1.1.15
release=1
source=(http://jfs.sourceforge.net/project/pub/$name-$version.tar.gz)

build() {
    cd $name-$version
    ./configure --prefix=/ --mandir=/usr/man
    make
    make DESTDIR=$PKG install
    ln -sf jfs_mkfs $PKG/sbin/mkfs.jfs
    ln -sf jfs_fsck $PKG/sbin/fsck.jfs
    ln -sf jfs_mkfs.8 $PKG/usr/man/man8/mkfs.jfs.8
    ln -sf jfs_fsck.8 $PKG/usr/man/man8/fsck.jfs.8
}

Added core/kbd/Pkgfile.























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# Description: Keytable files and keyboard utilities
# URL:         ftp://ftp.win.tue.nl/pub/linux-local/utils/kbd/
# Maintainer:  CRUX System Team, core-ports at crux dot nu

name=kbd
version=1.15.3
release=1
source=(ftp://ftp.altlinux.org/pub/people/legion/kbd/$name-$version.tar.gz)

build() {
    cd $name-$version

    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --datadir=/usr/share/kbd \
                --disable-nls
    make
    make DESTDIR=$PKG install

    ln -sf default8x16.psfu.gz $PKG/usr/share/kbd/consolefonts/default.gz

    rm -r $PKG/usr/share/kbd/keymaps/{ppc,mac,atari,amiga,sun}
    rm $PKG/usr/bin/{loadunimap,mapscrn,resizecons,psf*table}
    rm $PKG/usr/man/man8/{loadunimap,mapscrn,resizecons}.8
    rm $PKG/usr/man/man1/psf*table.1
    find $PKG/usr/share/kbd/ -type f -name "README*" -delete
}

Added core/kmod/Pkgfile.



































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# Description: Kernel module utilities and library
# URL:         http://git.kernel.org/?p=utils/kernel/kmod/kmod.git
# Maintainer:  CRUX System Team, core-ports at crux dot nu

name=kmod
version=7
release=1
source=(http://www.kernel.org/pub/linux/utils/kernel/$name/$name-$version.tar.xz)

build() {
    cd $name-$version

    ./configure --prefix=/usr \
                --bindir=/sbin \
                --sysconfdir=/etc \
                --mandir=/usr/man \
                --with-rootprefix= \
                --with-rootlibdir=/lib

    make
    make DESTDIR=$PKG install

    install -d $PKG/etc/{modprobe,depmod}.d
    install -d $PKG/bin

    ln -s kmod $PKG/sbin/modinfo
    ln -s kmod $PKG/sbin/depmod
    ln -s kmod $PKG/sbin/insmod
    ln -s kmod $PKG/sbin/lsmod
    ln -s kmod $PKG/sbin/rmmod
    ln -s kmod $PKG/sbin/modprobe
    ln -s ../sbin/kmod $PKG/bin/lsmod
}

Added core/less/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: A terminal based program for viewing text files
# URL:         http://www.greenwoodsoftware.com/less/
# Maintainer:  CRUX System Team, core-ports at crux dot nu
# Depends on:  ncurses libpcre

name=less
version=444
release=1
source=(http://www.greenwoodsoftware.com/less/$name-$version.tar.gz \
        filter)

build() {
    cd $name-$version
    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --with-regex=pcre
    make
    make DESTDIR=$PKG install
    install -m 755 -D $SRC/filter $PKG/usr/lib/less/filter
}

Added core/less/filter.



















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/bin/sh
#
# /usr/lib/less/filter: less(1) filter
#
# To use: export LESSOPEN="|/usr/lib/less/filter %s"
#

filter() {
    case "$1" in
	*.[1-9n]) cat "$1" | nroff -c -mandoc | cat -s ;;
	*.[1-9n].gz) zcat "$1" | nroff -c -mandoc | cat -s ;;
	*.[1-9n].bz2) bzcat "$1" | nroff -c -mandoc | cat -s ;;
	*.tar) tar tvvf "$1" ;;
	*.tgz|*.tar.gz|*.tar.[zZ]) tar tzvvf "$1" ;;
	*.tbz2|*.tar.bz2) tar tjvvf "$1" ;;
	*.[zZ]|*.gz) gzip -dc "$1" ;;
	*.bz2) bzip2 -dc "$1" ;;
	*.zip) zipinfo "$1" ;;
	*.cpio) cpio -itv < "$1" ;;
    esac
}

filter "$1" 2> /dev/null

# End of file

Added core/libarchive/Pkgfile.





















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# Description: Library to create and read several archive formats
# URL: http://people.freebsd.org/~kientzle/libarchive/
# Maintainer: CRUX System Team, core-ports at crux dot nu
# Depends on: bzip2, xz, zlib, acl

name=libarchive
version=3.0.3
release=1
source=(http://$name.googlecode.com/files/$name-$version.tar.gz)

build() {
	cd libarchive-$version

	# We're passing --without-lzmadec, because we want to use xz for
	# LZMA support, not the obsolete lzmadec library.
	#
	# We're passing --without-xml2 and --without-expat to avoid linking
	# to libraries which are only available in opt. XML support is only
	# needed for the xar format which we can live without.
	./configure --prefix=/usr --mandir=/usr/man \
	            --without-lzmadec \
	            --without-xml2 --without-expat --without-openssl

	make
	make DESTDIR=$PKG install
}

Added core/libcap/Pkgfile.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Description: POSIX.1e capabilities library
# URL:         http://sites.google.com/site/fullycapable/
# Maintainer:  CRUX System Team, core-ports at crux dot nu
# Depends on:  attr

name=libcap
version=2.22
release=1
source=(http://crux.s3.amazonaws.com/dist/libcap-$version.tar.bz2)

build () {
    cd libcap-$version

    sed -i "/^CFLAGS/s/-O2/$CFLAGS/" Make.Rules 

    make
    make RAISE_SETFCAP=no DESTDIR=$PKG man_prefix=/usr install

    install -d $PKG/usr/lib
    mv $PKG/lib/libcap.a $PKG/usr/lib
    rm $PKG/lib/libcap.so
    ln -s ../../lib/libcap.so.$version $PKG/usr/lib/libcap.so
}

Added core/libdevmapper/Pkgfile.































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# Description: Device mapper userspace library
# URL:         http://sourceware.org/lvm2/
# Maintainer:  CRUX System Team, core-ports at crux dot nu
# Depends on:  udev

name=libdevmapper
version=1.02.74
release=1
source=(ftp://sources.redhat.com/pub/lvm2/releases/LVM2.2.02.95.tgz)

build() {
    cd LVM2.2.02.95

    ./configure --prefix=/usr \
		--exec-prefix= \
		--datarootdir=/usr \
		--with-udev-prefix= \
		--disable-readline \
		--enable-pkgconfig \
		--enable-static_link \
		--enable-udev_sync \
		--enable-udev_rules \
		--with-{user,group}=root

    make device-mapper
    make DESTDIR=$PKG install_device-mapper
    install -m0644 -D udev/12-dm-permissions.rules $PKG/etc/udev/rules.d/12-dm-permissions.rules.example

    #pkgconfig insists on /lib one or the other way...
    sed -i '/^libdir=/s|${exec_prefix}|/usr|' $PKG/usr/lib/pkgconfig/devmapper.pc
}

Added core/libgmp/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Free library for arbitrary precision arithmetic
# URL:         http://gmplib.org/
# Maintainer:  CRUX System Team, core-ports at crux dot nu

name=libgmp
version=5.0.4
release=1
source=(ftp://ftp.gnu.org/gnu/gmp/gmp-$version.tar.xz)

build() {
    cd gmp-$version
    ABI=32 ./configure --prefix=/usr \
                       --enable-cxx \
                       --build=i686-pc-linux-gnu
    make
    make DESTDIR=$PKG install
    rm -r $PKG/usr/share
}

Added core/libmpc/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: C library for the arithmetic of complex numbers 
# URL:         http://www.multiprecision.org/
# Maintainer:  CRUX System Team, core-ports at crux dot nu
# Depends on:  libmpfr

name=libmpc
version=0.9
release=1
source=(http://www.multiprecision.org/mpc/download/mpc-$version.tar.gz)

build() {
    cd mpc-$version
    ./configure --prefix=/usr EGREP=egrep
    make
    make DESTDIR=$PKG install
    rm -r $PKG/usr/share
}

Added core/libmpfr/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: C library for multiple-precision floating-point computations with correct rounding
# URL:         http://www.mpfr.org/
# Maintainer:  CRUX System Team, core-ports at crux dot nu
# Depends on:  libgmp

name=libmpfr
version=3.1.0-p7
release=1
source=(http://www.mpfr.org/mpfr-${version%-*}/mpfr-${version%-*}.tar.xz
        $name-$version.patch.gz)

build() {
    cd mpfr-${version%-*}
    gunzip -c $SRC/$name-$version.patch.gz | patch -p1
    ./configure --prefix=/usr
    make
    make DESTDIR=$PKG install
    rm -r $PKG/usr/share
}

Added core/libmpfr/libmpfr-3.1.0-p7.patch.gz.

cannot compute difference between binary files

Added core/libpcre/Pkgfile.





























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# Description: Perl Compatible Regular Expressions
# URL:         http://www.pcre.org
# Maintainer:  CRUX System Team, core-ports at crux dot nu

name=libpcre
version=8.21
release=1
source=(ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-$version.tar.bz2)

build() {
    cd pcre-$version

    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --enable-utf8 \
                --enable-unicode-properties \
                --enable-jit
    make
    make DESTDIR=$PKG install

    install -d $PKG/lib
    local lib
    for lib in libpcre libpcrecpp libpcreposix ; do
        mv $PKG/usr/lib/${lib}.so* $PKG/lib
        ln -sf ../../lib/$(readlink $PKG/lib/${lib}.so) $PKG/usr/lib/${lib}.so
        rm $PKG/lib/${lib}.so
    done

    rm -r $PKG/usr/share
}

Added core/libstdc++-compat/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: Compatibility libraries
# URL:         ftp://sunsite.cnlab-switch.ch/mirror/fedora/linux/core/3/x86_64/os/Fedora/RPMS
# Maintainer:  CRUX System Team, core-ports at crux dot nu

name=libstdc++-compat
version=3.1
release=2
source=(http://crux.nu/files/distfiles/$name-$version.tar.xz)

build() {
    cd $name-$version
    install -d $PKG/usr/lib
    install -m 755 libstdc++-2-libc6.1-1-2.9.0.so $PKG/usr/lib
    install -m 755 libstdc++-3-libc6.2-2-2.10.0.so $PKG/usr/lib
    install -m 755 libstdc++.so.5.0.6 $PKG/usr/lib
    ln -s libstdc++-2-libc6.1-1-2.9.0.so $PKG/usr/lib/libstdc++-libc6.1-1.so.2
    ln -s libstdc++-3-libc6.2-2-2.10.0.so $PKG/usr/lib/libstdc++-libc6.2-2.so.3
    ln -s libstdc++.so.5.0.6 $PKG/usr/lib/libstdc++.so.5
}

Added core/libtool/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: A generic library support script
# URL:         http://www.gnu.org/software/libtool/
# Maintainer:  CRUX System Team, core-ports at crux dot nu

name=libtool
version=2.4.2
release=1
source=(http://ftp.gnu.org/gnu/$name/$name-$version.tar.xz)

build() {
    cd $name-$version
    ./configure --prefix=/usr --mandir=/usr/man
    make
    make DESTDIR=$PKG install
    rm -r $PKG/usr/share/info
    rm $PKG/usr/share/libtool/libltdl/README
}

Added core/libusb-compat/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: Compatibility library for libusb 1.0
# URL:         http://libusb.sourceforge.net/
# Maintainer:  CRUX System Team, core-ports at crux dot nu
# Depends on:  libusb

name=libusb-compat
version=0.1.3
release=2
source=(http://downloads.sourceforge.net/project/libusb/$name-0.1/$name-$version/$name-$version.tar.bz2)

build () {
    cd $name-$version
    
    ./configure --prefix=/usr 
    make
    make DESTDIR=$PKG install
    
    install -d $PKG/lib
    mv $PKG/usr/lib/libusb*.so.* $PKG/lib
    ln -sf ../../lib/libusb-0.1.so.4.4.4 $PKG/usr/lib/libusb.so
}

Added core/libusb/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: Library giving userland programs access to USB devices
# URL:         http://libusb.sourceforge.net/
# Maintainer:  CRUX System Team, core-ports at crux dot nu

name=libusb
version=1.0.8
release=1
source=(http://downloads.sourceforge.net/project/$name/$name-1.0/$name-$version/$name-$version.tar.bz2)

build () {
    cd $name-$version
    
    ./configure --prefix=/usr 
    make
    make DESTDIR=$PKG install
    
    install -d $PKG/lib
    mv $PKG/usr/lib/libusb-1.0.so.* $PKG/lib
    ln -sf ../../lib/libusb-1.0.so.0.0.0 $PKG/usr/lib/libusb-1.0.so
}

Added core/lilo/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: LInux boot LOader
# URL:         http://lilo.alioth.debian.org/
# Maintainer:  CRUX System Team, core-ports at crux dot nu
# Depends on:  libdevmapper

name=lilo
version=23.2
release=1
source=(http://lilo.alioth.debian.org/ftp/sources/$name-$version.tar.gz \
        $name-config.patch lilo.conf)

build() {
    cd $name-$version
    patch -p1 -i $SRC/$name-config.patch
    make all
    make DESTDIR=$PKG install
    install -m 644 $SRC/lilo.conf $PKG/etc
}

Added core/lilo/lilo-config.patch.













































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
diff -Nru lilo-23.2.orig/Makefile lilo-23.2/Makefile
--- lilo-23.2.orig/Makefile	2011-04-10 09:21:37.196868818 +0200
+++ lilo-23.2/Makefile	2011-04-10 09:23:54.932024504 +0200
@@ -38,7 +38,6 @@
 #
 all: test
 	$(MAKE) -C src all
-	$(MAKE) -C images all
 
 #
 # everything above plus the statically linked version
@@ -105,12 +104,8 @@
 #
 install:  all
 	$(MAKE) -C src install
-	$(MAKE) -C images install
-	$(MAKE) -C hooks install
-	$(MAKE) -C sample install
 	$(MAKE) -C scripts install
 	$(MAKE) -C man install
-	$(MAKE) -C dos install
 
 tidy:
 	$(MAKE) -C src tidy
diff -Nru lilo-23.2.orig/make.vars lilo-23.2/make.vars
--- lilo-23.2.orig/make.vars	2011-04-10 09:21:37.200202030 +0200
+++ lilo-23.2/make.vars	2011-04-10 09:21:51.399684961 +0200
@@ -70,14 +70,14 @@
 #   XL_SECS=n   Support for extra large (non-standard) floppies.
 
 CONFIG=-DBDATA -DDSECS=3 -DEVMS -DIGNORECASE -DLVM -DNOKEYBOARD -DONE_SHOT \
-    -DPASS160 -DREISERFS -DREWRITE_TABLE -DSOLO_CHAIN -DVERSION -DVIRTUAL \
+    -DPASS160 -DREISERFS -DREWRITE_TABLE -DSOLO_CHAIN -DVIRTUAL \
     -DMDPRAID -DDEVMAPPER
    
 # set the following if you wish LILO.COM to be installed
 DOS_DIR=/dosC/boot
 
 # select place for man pages
-MAN_DIR=/usr/share/man
+MAN_DIR=/usr/man
 
 # set the compiler optimization level
 OPT=-Os
diff -Nru lilo-23.2.orig/man/Makefile lilo-23.2/man/Makefile
--- lilo-23.2.orig/man/Makefile	2011-04-10 09:21:37.200202030 +0200
+++ lilo-23.2/man/Makefile	2011-04-10 09:21:51.399684961 +0200
@@ -10,7 +10,6 @@
 	mkdir -p $$DESTDIR$(MAN_DIR)/man8
 
 	install -m 0644  lilo.8  $$DESTDIR$(MAN_DIR)/man8
-	install -m 0644  mkrescue.8  $$DESTDIR$(MAN_DIR)/man8
 	install -m 0644  lilo.conf.5  $$DESTDIR$(MAN_DIR)/man5
 	install -m 0644  keytab-lilo.8  $$DESTDIR$(MAN_DIR)/man8
 
diff -Nru lilo-23.2.orig/scripts/Makefile lilo-23.2/scripts/Makefile
--- lilo-23.2.orig/scripts/Makefile	2011-04-10 09:21:37.203535242 +0200
+++ lilo-23.2/scripts/Makefile	2011-04-10 09:35:24.000183413 +0200
@@ -8,7 +8,6 @@
 install:
 	mkdir -p $$DESTDIR$(USRSBIN_DIR)
 
-	install -m 0755  liloconfig  $$DESTDIR$(USRSBIN_DIR)
 	install -m 0755  lilo-uuid-diskid  $$DESTDIR$(USRSBIN_DIR)
 
 clean:
diff -Nru lilo-23.2.orig/src/Makefile lilo-23.2/src/Makefile
--- lilo-23.2.orig/src/Makefile	2011-04-10 09:21:37.203535242 +0200
+++ lilo-23.2/src/Makefile	2011-04-10 09:21:51.399684961 +0200
@@ -48,7 +48,7 @@
 #
 # everything needed to run, just short of installation
 #
-all:	lilo bootsect.b
+all:	lilo 
 
 #
 # everything above plus the statically linked version
@@ -245,7 +245,6 @@
 
 	cp lilo $$DESTDIR$(SBIN_DIR)/lilo
 	strip $$DESTDIR$(SBIN_DIR)/lilo
-	cp ../mkrescue $$DESTDIR$(USRSBIN_DIR)/mkrescue
 	cp ../keytab-lilo.pl $$DESTDIR$(USRSBIN_DIR)/keytab-lilo
 
 dep:

Added core/lilo/lilo.conf.





























>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#
# /etc/lilo.conf: lilo(8) configuration, see lilo.conf(5)
#

lba32
install=text
boot=/dev/#DEVICE#
image=/boot/vmlinuz
        label=CRUX
        root=/dev/#ROOT_DEVICE#
        read-only
        append="quiet"

# End of file

Added core/m4/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: A standard Unix macro processor with extensions
# URL:         http://www.seindal.dk/rene/gnu/
# Maintainer:  CRUX System Team, core-ports at crux dot nu

name=m4
version=1.4.16
release=1
source=(ftp://ftp.gnu.org/gnu/$name/$name-$version.tar.xz)

build() {
    cd $name-$version
    ./configure --prefix=/usr --mandir=/usr/man
    make
    make DESTDIR=$PKG install
    rm -rf $PKG/usr/share
}

Added core/make/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Controls the generation of executables and other compile-related tasks
# URL:         http://www.gnu.org/software/make/
# Maintainer:  CRUX System Team, core-ports at crux dot nu

name=make
version=3.82
release=2
source=(ftp://ftp.gnu.org/gnu/$name/$name-$version.tar.bz2
	savannah-bugs.patch)

build() {
    cd $name-$version
    patch -p0 -i ../savannah-bugs.patch
    ./configure --prefix=/usr --mandir=/usr/man --disable-nls
    make
    make DESTDIR=$PKG install
    rm -r $PKG/usr/share
}

Added core/make/savannah-bugs.patch.



















































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
https://savannah.gnu.org/bugs/?30612
https://savannah.gnu.org/bugs/?30723
https://savannah.gnu.org/bugs/?31743 (no longer visible)

--- main.c	2010-07-19 14:10:53.000000000 +0700
+++ main.c	2011-01-12 21:31:30.114891591 +0700
@@ -1,3 +1,4 @@
+
 /* Argument parsing and main program of GNU Make.
 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
@@ -1138,7 +1139,7 @@
      a macro and some compilers (MSVC) don't like conditionals in macros.  */
   {
     const char *features = "target-specific order-only second-expansion"
-                           " else-if shortest-stem undefine"
+                           " else-if shortest-stem undefine oneshell"
 #ifndef NO_ARCHIVES
                            " archives"
 #endif
@@ -2093,7 +2094,7 @@
             const char *pv = define_makeflags (1, 1);
             char *p = alloca (sizeof ("MAKEFLAGS=") + strlen (pv) + 1);
             sprintf (p, "MAKEFLAGS=%s", pv);
-            putenv (p);
+            putenv (allocated_variable_expand (p));
           }
 
 	  if (ISDB (DB_BASIC))
--- read.c	2010-07-13 08:20:42.000000000 +0700
+++ read.c	2011-01-12 21:31:23.497486028 +0700
@@ -3028,7 +3028,7 @@
             {
               /* This looks like the first element in an open archive group.
                  A valid group MUST have ')' as the last character.  */
-              const char *e = p + nlen;
+              const char *e = p;
               do
                 {
                   e = next_token (e);
@@ -3084,19 +3084,19 @@
          Go to the next item in the string.  */
       if (flags & PARSEFS_NOGLOB)
         {
-          NEWELT (concat (2, prefix, tp));
+          NEWELT (concat (2, prefix, tmpbuf));
           continue;
         }
 
       /* If we get here we know we're doing glob expansion.
          TP is a string in tmpbuf.  NLEN is no longer used.
          We may need to do more work: after this NAME will be set.  */
-      name = tp;
+      name = tmpbuf;
 
       /* Expand tilde if applicable.  */
-      if (tp[0] == '~')
+      if (tmpbuf[0] == '~')
 	{
-	  tildep = tilde_expand (tp);
+	  tildep = tilde_expand (tmpbuf);
 	  if (tildep != 0)
             name = tildep;
 	}
@@ -3152,7 +3152,11 @@
             else
               {
                 /* We got a chain of items.  Attach them.  */
-                (*newp)->next = found;
+                if (*newp)
+                  (*newp)->next = found;
+                else
+                  *newp = found;
+
 
                 /* Find and set the new end.  Massage names if necessary.  */
                 while (1)
--- read.c	2010/11/06 21:56:24	1.195
+++ read.c	2010/11/30 14:48:53	1.196
@@ -1811,7 +1811,8 @@
           int len = strlen(v->name);
 
           gv = lookup_variable (v->name, len);
-          if (gv && (gv->origin == o_env_override || gv->origin == o_command))
+          if (gv && v != gv
+              && (gv->origin == o_env_override || gv->origin == o_command))
             {
               if (v->value != 0)
                 free (v->value);

Added core/man-pages/Pkgfile.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Description: The Linux manpages collection
# URL:         http://man7.org/linux/man-pages/index.html
# Maintainer:  CRUX System Team, core-ports at crux dot nu
# Depends on:  man

name=man-pages
version=3.38
release=1
source=(http://www.kernel.org/pub/linux/docs/$name/$name-$version.tar.xz \
        http://www.kernel.org/pub/linux/docs/$name/$name-posix/$name-posix-2003-a.tar.xz)

build() {
    cd $name-$version
    rm man1/time.1 man5/passwd.5 man2/quotactl.2
    make gz
    make MANDIR=/usr/man DESTDIR=$PKG install

    cd ../$name-posix-2003-a
    make gz
    make MANDIR=/usr/man DESTDIR=$PKG install

    touch $PKG/usr/man/whatis
}

Added core/man/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: The man page suite used to read most of the documentation for Linux
# URL:         http://primates.ximian.com/~flucifredi/man/
# Maintainer:  CRUX System Team, core-ports at crux dot nu

name=man
version=1.6g
release=1
source=(http://primates.ximian.com/~flucifredi/man/$name-$version.tar.gz \
        makewhatis)

build() {
    cd $name-$version
    ./configure -prefix=/usr \
                -confdir=/etc \
                -mandir=/usr/man \
                +lang none \
                -default
    make
    make DESTDIR=$PKG install
    install -D -m 755 $SRC/makewhatis $PKG/etc/cron/daily/makewhatis
}

Added core/man/makewhatis.

















>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
#!/bin/sh
#
# /etc/cron/daily/makewhatis: update the whatis database
#

/usr/sbin/makewhatis -w

# End of file

Added core/mlocate/Pkgfile.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Description: Fast merging drop-in replacement for slocate
# URL:         http://carolina.mff.cuni.cz/~trmac/blog/mlocate/
# Maintainer:  CRUX System Team, core-ports at crux dot nu

name=mlocate
version=0.25
release=1
source=(https://fedorahosted.org/releases/m/l/$name/$name-$version.tar.xz \
        mlocate updatedb.conf)

build() {
    cd $name-$version

    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --sysconfdir=/etc \
                --localstatedir=/var/lib \
                --disable-nls
    make
    make DESTDIR=$PKG install

    install -D -m 0755 $SRC/mlocate $PKG/etc/cron/daily/mlocate
    install -m 0644 $SRC/updatedb.conf $PKG/etc
}

Added core/mlocate/mlocate.

















>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
#!/bin/sh
#
# /etc/cron/daily/mlocate: update the mlocate database
#

/usr/bin/updatedb

# End of file

Added core/mlocate/updatedb.conf.





















>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
#
# /etc/updatedb.conf
#
# configuration file for updatedb(8), see updatedb.conf(5)

PRUNEFS="nfs nfs4 afs proc smbfs cifs autofs auto iso9660 sshfs sysfs usbfs tmpfs"
PRUNENAMES=".git .svn .hg .bzr _darcs CVS RCS"
PRUNEPATHS="/tmp /mnt /var/cache /var/lock /var/run /var/spool /var/tmp"

# End of file

Added core/module-init-tools/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: Kernel module utilities
# URL:         http://kerneltools.org/KernelTools.org
# Maintainer:  CRUX System Team, core-ports at crux dot nu

name=module-init-tools
version=3.16
release=1
source=(http://ftp-stud.hs-esslingen.de/pub/Mirrors/ftp.kernel.org/pub/linux/utils/kernel/$name/$name-$version.tar.bz2
        http://crux.nu/files/distfiles/$name-man-$version.tar.xz)

build() {
    cd $name-$version
    ./configure --prefix=/usr \
                --bindir=/sbin \
                --sbindir=/sbin
    make
    make DESTDIR=$PKG mandir=/usr/man install
    install -d $PKG/etc/{modprobe.d,depmod.d}
}

Added core/nasm/Pkgfile.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Description: 80x86 assembler
# URL:         http://www.nasm.us/
# Maintainer:  CRUX System Team, core-ports at crux dot nu

name=nasm
version=2.10
release=1
source=(http://www.nasm.us/pub/nasm/releasebuilds/$version/$name-$version.tar.xz)

build() {
    cd $name-$version
    ./configure --prefix=/usr --mandir=/usr/man
    make
    make INSTALLROOT=$PKG install
}

Added core/ncurses/Pkgfile.















































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# Description: A System V Release 4.0 curses emulation library
# URL:         http://www.gnu.org/software/ncurses/ncurses.html
# Maintainer:  CRUX System Team, core-ports at crux dot nu

name=ncurses
version=5.9
release=1
source=(http://ftp.gnu.org/gnu/$name/$name-$version.tar.gz)

build() {
    cd $name-$version

    local OPTIONS="\
--with-install-prefix=$PKG \
--prefix=/usr \
--with-normal \
--with-shared \
--without-debug \
--without-ada \
--without-tests
"

    ./configure $OPTIONS
    make
    make install
    make distclean

    ./configure $OPTIONS --enable-widec
    make
    make install

    mkdir $PKG/lib

    for i in w ''; do
        mv $PKG/usr/lib/libncurses$i.so.* $PKG/lib
        ln -sf libncurses$i.so $PKG/usr/lib/libcurses$i.so
        ln -sf ../../lib/libncurses$i.so.$version $PKG/usr/lib/libncurses$i.so
    done
}

Added core/net-tools/Pkgfile.

































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# Description: Network utilities
# URL:         http://www.tazenda.demon.co.uk/phil/net-tools/
# Maintainer:  CRUX System Team, core-ports at crux dot nu

name=net-tools
version=1.60
release=6
source=(http://www.tazenda.demon.co.uk/phil/net-tools/$name-$version.tar.bz2 \
	$name-$version-config.patch \
	$name-$version-compile_fixes.patch \
	$name-$version-arp.patch \
	$name-$version-man.patch \
	$name-$version-nameif.patch \
	$name-$version-manydevs.patch \
	$name-$version-virtualname.patch \
	$name-$version-ipv6.patch \
	$name-$version-miiioctl.patch)

build() {
    cd $name-$version
    patch -p1 < ../$name-$version-config.patch
    patch -p1 < ../$name-$version-compile_fixes.patch
    patch -p1 < ../$name-$version-arp.patch
    patch -p1 < ../$name-$version-man.patch
    patch -p1 < ../$name-$version-nameif.patch
    patch -p1 < ../$name-$version-manydevs.patch
    patch -p1 < ../$name-$version-virtualname.patch
    patch -p1 < ../$name-$version-ipv6.patch
    patch -p1 < ../$name-$version-miiioctl.patch
    make -j1 COPTS="$CFLAGS -D_GNU_SOURCE -Wall"
    make BASEDIR=$PKG mandir=/usr/man install
}

Added core/net-tools/net-tools-1.60-arp.patch.













































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
From Rawhide. Allows ARP to display in a Linux style.

diff -Naur net-tools-1.60.orig/arp.c net-tools-1.60/arp.c
--- net-tools-1.60.orig/arp.c	2001-04-08 17:05:05.000000000 +0000
+++ net-tools-1.60/arp.c	2003-09-12 22:36:51.000000000 +0000
@@ -619,6 +619,7 @@
     fprintf(stderr, _("  arp [-v]   [<HW>] [-i <if>] -Ds <hostname> <if> [netmask <nm>] pub      <-''-\n\n"));
     
     fprintf(stderr, _("        -a                       display (all) hosts in alternative (BSD) style\n"));
+    fprintf(stderr, _("        -e                       display (all) hosts in default (Linux) style\n"));
     fprintf(stderr, _("        -s, --set                set a new ARP entry\n"));
     fprintf(stderr, _("        -d, --delete             delete a specified entry\n"));
     fprintf(stderr, _("        -v, --verbose            be verbose\n"));
diff -Naur net-tools-1.60.orig/man/en_US/arp.8 net-tools-1.60/man/en_US/arp.8
--- net-tools-1.60.orig/man/en_US/arp.8	2000-10-28 10:59:42.000000000 +0000
+++ net-tools-1.60/man/en_US/arp.8	2003-09-12 22:36:51.000000000 +0000
@@ -3,7 +3,7 @@
 arp \- manipulate the system ARP cache
 .SH SYNOPSIS
 .B arp 
-.RB [ \-vn ] 
+.RB [ \-evn ] 
 .RB [ "\-H type" ] 
 .RB [ "-i if" ] 
 .B -a 
@@ -60,7 +60,7 @@
 shows numerical addresses instead of trying to determine symbolic host, port
 or user names.
 .TP
-.B "\-H type, \-\-hw-type type"
+.B "\-H type, \-\-hw-type type, \-t type"
 When setting or reading the ARP cache, this optional parameter tells
 .B arp
 which class of entries it should check for.  The default value of
@@ -81,7 +81,8 @@
 .B hostname
 parameter is not used,
 .B all
-entries will be displayed.
+entries will be displayed.  
+The entries will be displayed in alternate (BSD) style.
 .TP
 .B "\-d hostname, \-\-delete hostname"
 Remove any entry for the specified host.  This can be used if the
@@ -92,6 +93,9 @@
 .BR ifa "'s"
 hardware address.
 .TP
+.B "\-e"
+Shows the entries in default (Linux) style.
+.TP
 .B "\-i If, \-\-device If"
 Select an interface. When dumping the ARP cache only entries matching
 the specified interface will be printed. When setting a permanent or

Added core/net-tools/net-tools-1.60-compile_fixes.patch.













































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
diff -Nru net-tools-1.60/mii-tool.c net-tools-1.60-new/mii-tool.c
--- net-tools-1.60/mii-tool.c	2000-05-21 16:31:17.000000000 +0200
+++ net-tools-1.60-new/mii-tool.c	2003-11-08 02:11:31.000000000 +0100
@@ -379,17 +379,17 @@
 /*--------------------------------------------------------------------*/
 
 const char *usage =
-"usage: %s [-VvRrwl] [-A media,... | -F media] [interface ...]
-       -V, --version               display version information
-       -v, --verbose               more verbose output
-       -R, --reset                 reset MII to poweron state
-       -r, --restart               restart autonegotiation
-       -w, --watch                 monitor for link status changes
-       -l, --log                   with -w, write events to syslog
-       -A, --advertise=media,...   advertise only specified media
-       -F, --force=media           force specified media technology
-media: 100baseT4, 100baseTx-FD, 100baseTx-HD, 10baseT-FD, 10baseT-HD,
-       (to advertise both HD and FD) 100baseTx, 10baseT\n";
+"usage: %s [-VvRrwl] [-A media,... | -F media] [interface ...]\n"
+"       -V, --version               display version information\n"
+"       -v, --verbose               more verbose output\n"
+"       -R, --reset                 reset MII to poweron state\n"
+"       -r, --restart               restart autonegotiation\n"
+"       -w, --watch                 monitor for link status changes\n"
+"       -l, --log                   with -w, write events to syslog\n"
+"       -A, --advertise=media,...   advertise only specified media\n"
+"       -F, --force=media           force specified media technology\n"
+"media: 100baseT4, 100baseTx-FD, 100baseTx-HD, 10baseT-FD, 10baseT-HD,\n"
+"       (to advertise both HD and FD) 100baseTx, 10baseT\n";
 
 int main(int argc, char **argv)
 {
diff -ru net-tools-1.60/lib/x25_sr.c net-tools-1.60-new/lib/x25_sr.c
--- net-tools-1.60/lib/x25_sr.c	2000-05-20 15:38:10.000000000 +0200
+++ net-tools-1.60-new/lib/x25_sr.c	2004-04-30 23:37:10.536499600 +0200
@@ -77,7 +77,7 @@
   rt.sigdigits=sigdigits;
 
   /* x25_route_struct.address isn't type struct sockaddr_x25, Why? */
-  memcpy(&rt.address, &sx25.sx25_addr, sizeof(x25_address));
+  memcpy(&rt.address, &sx25.sx25_addr, sizeof(struct x25_address));
 
   while (*args) {
 	if (!strcmp(*args,"device") || !strcmp(*args,"dev")) {
diff -ru net-tools-1.60/lib/inet6_sr.c net-tools-1.60-new/lib/inet6_sr.c
--- net-tools-1.60/lib/inet6_sr.c	2000-05-22 23:18:37.000000000 +0200
+++ net-tools-1.60-new/lib/inet6_sr.c	2004-04-30 23:48:24.146095376 +0200
@@ -32,6 +32,7 @@
 #include "net-support.h"
 #include "pathnames.h"
 #include "intl.h"
+#include "util.h"
 #include "net-features.h"
 
 
diff -ru net-tools-1.60/lib/inet_sr.c net-tools-1.60-new/lib/inet_sr.c
--- net-tools-1.60/lib/inet_sr.c	2000-02-20 22:46:45.000000000 +0100
+++ net-tools-1.60-new/lib/inet_sr.c	2004-05-01 00:01:21.358941064 +0200
@@ -105,6 +105,7 @@
     case 2:
        isnet = 0; break;
     default:
+       break;
     }
 
     /* Fill in the other fields. */
diff -ru net-tools-1.60/hostname.c net-tools-1.60-new/hostname.c
--- net-tools-1.60/hostname.c	2001-04-08 19:04:23.000000000 +0200
+++ net-tools-1.60-new/hostname.c	2004-05-01 00:03:32.373023896 +0200
@@ -31,6 +31,7 @@
  *              your option) any later version.
  */
 #include <stdio.h>
+#include <stdlib.h>
 #include <unistd.h>
 #include <getopt.h>
 #include <string.h>
@@ -78,6 +79,7 @@
             fprintf(stderr, _("%s: name too long\n"), program_name);
             break;
         default:
+	    break;
         }
 	exit(1);
     }
@@ -98,6 +100,7 @@
 	    fprintf(stderr, _("%s: name too long\n"), program_name);
 	    break;
 	default:
+	    break;
 	}
 	exit(1);
     };
@@ -117,6 +120,7 @@
 	    fprintf(stderr, _("%s: name too long\n"), program_name);
 	    break;
 	default:
+	    break;
 	}
 	exit(1);
     };
@@ -174,6 +178,7 @@
 	printf("%s\n", hp->h_name);
 	break;
     default:
+	break;
     }
 }
 
@@ -330,7 +335,7 @@
 	case 'h':
 	default:
 	    usage();
-
+	    break;
 	};
 
 

Added core/net-tools/net-tools-1.60-config.patch.









































































































































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
diff -Nru net-tools-1.60/config.h net-tools-1.60-new/config.h
--- net-tools-1.60/config.h	1970-01-01 01:00:00.000000000 +0100
+++ net-tools-1.60-new/config.h	2003-11-08 02:11:23.000000000 +0100
@@ -0,0 +1,74 @@
+/*
+* config.h	Automatically generated configuration includefile
+*
+* NET-TOOLS	A collection of programs that form the base set of the
+*		NET-3 Networking Distribution for the LINUX operating
+*		system.
+*
+*		DO  NOT  EDIT  DIRECTLY
+*
+*/
+
+/* 
+ * 
+ * Internationalization
+ * 
+ * The net-tools package has currently been translated to French,
+ * German and Brazilian Portugese.  Other translations are, of
+ * course, welcome.  Answer `n' here if you have no support for
+ * internationalization on your system.
+ * 
+ */
+#define I18N 0
+
+/* 
+ * 
+ * Protocol Families.
+ * 
+ */
+#define HAVE_AFUNIX 1
+#define HAVE_AFINET 1
+#define HAVE_AFINET6 1
+#define HAVE_AFIPX 1
+#define HAVE_AFATALK 1
+#define HAVE_AFAX25 1
+#define HAVE_AFNETROM 1
+#define HAVE_AFROSE 0
+#define HAVE_AFX25 1
+#define HAVE_AFECONET 0
+#define HAVE_AFDECnet 0
+#define HAVE_AFASH 0
+
+/* 
+ * 
+ * Device Hardware types.
+ * 
+ */
+#define HAVE_HWETHER 1
+#define HAVE_HWARC 1
+#define HAVE_HWSLIP 1
+#define HAVE_HWPPP 1
+#define HAVE_HWTUNNEL 1
+#define HAVE_HWSTRIP 1
+#define HAVE_HWTR 1
+#define HAVE_HWAX25 1
+#define HAVE_HWROSE 0
+#define HAVE_HWNETROM 1
+#define HAVE_HWX25 1
+#define HAVE_HWFR 1
+#define HAVE_HWSIT 1
+#define HAVE_HWFDDI 0
+#define HAVE_HWHIPPI 0
+#define HAVE_HWASH 0
+#define HAVE_HWHDLCLAPB 0
+#define HAVE_HWIRDA 1
+#define HAVE_HWEC 0
+
+/* 
+ * 
+ * Other Features.
+ * 
+ */
+#define HAVE_FW_MASQUERADE 1
+#define HAVE_IP_TOOLS 1
+#define HAVE_MII 1
diff -Nru net-tools-1.60/config.make net-tools-1.60-new/config.make
--- net-tools-1.60/config.make	1970-01-01 01:00:00.000000000 +0100
+++ net-tools-1.60-new/config.make	2003-11-08 02:11:23.000000000 +0100
@@ -0,0 +1,35 @@
+# I18N=0
+HAVE_AFUNIX=1
+HAVE_AFINET=1
+HAVE_AFINET6=1
+HAVE_AFIPX=1
+HAVE_AFATALK=1
+HAVE_AFAX25=1
+HAVE_AFNETROM=1
+# HAVE_AFROSE=0
+HAVE_AFX25=1
+# HAVE_AFECONET=0
+# HAVE_AFDECnet=0
+# HAVE_AFASH=0
+HAVE_HWETHER=1
+HAVE_HWARC=1
+HAVE_HWSLIP=1
+HAVE_HWPPP=1
+HAVE_HWTUNNEL=1
+HAVE_HWSTRIP=1
+HAVE_HWTR=1
+HAVE_HWAX25=1
+# HAVE_HWROSE=0
+HAVE_HWNETROM=1
+HAVE_HWX25=1
+HAVE_HWFR=1
+HAVE_HWSIT=1
+# HAVE_HWFDDI=0
+# HAVE_HWHIPPI=0
+# HAVE_HWASH=0
+# HAVE_HWHDLCLAPB=0
+HAVE_HWIRDA=1
+# HAVE_HWEC=0
+HAVE_FW_MASQUERADE=1
+HAVE_IP_TOOLS=1
+HAVE_MII=1
diff -Nru net-tools-1.60/config.status net-tools-1.60-new/config.status
--- net-tools-1.60/config.status	1970-01-01 01:00:00.000000000 +0100
+++ net-tools-1.60-new/config.status	2003-11-08 02:11:23.000000000 +0100
@@ -0,0 +1,91 @@
+#
+# config.in	Configure.sh source for the net-tools.
+#		This file contains the definition of what the support
+#		library contains.  Most of all, it defines which types
+#		of address families and hardware we know of.
+#
+# NET-TOOLS	A collection of programs that form the base set of the
+#		NET-3 Networking Distribution for the LINUX operating
+#		system.
+#
+# Version:	config.in 1.22	(99-04-19)
+#
+# Author:	Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org>
+#		Copyright 1988-1993 MicroWalt Corporation
+#
+#		Bernd 'eckes' Eckenfels <net-tools@lina.inka.de>
+#		Arnaldo Carvalho de Melo <acme@conectiva.com.br>
+#		  GNU gettext - I18N
+#
+#		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 of the License, or  (at
+#		your option) any later version.
+#
+= /*
+=  * config.h	Automatically generated configuration includefile
+=  *
+=  * NET-TOOLS	A collection of programs that form the base set of the
+=  *		NET-3 Networking Distribution for the LINUX operating
+=  *		system.
+=  *
+=  *		DO  NOT  EDIT  DIRECTLY
+=  *
+=  */
+*
+*
+*              Internationalization
+*
+* The net-tools package has currently been translated to French,
+* German and Brazilian Portugese.  Other translations are, of
+* course, welcome.  Answer `n' here if you have no support for
+* internationalization on your system.
+*
+bool 'Does your system support GNU gettext?' I18N n
+*
+*
+*             Protocol Families.
+* 
+bool 'UNIX protocol family' HAVE_AFUNIX y
+bool 'INET (TCP/IP) protocol family' HAVE_AFINET y
+bool 'INET6 (IPv6) protocol family' HAVE_AFINET6 y
+bool 'Novell IPX/SPX protocol family' HAVE_AFIPX y
+bool 'Appletalk DDP protocol family' HAVE_AFATALK y
+bool 'AX25 (packet radio) protocol family' HAVE_AFAX25 y
+bool 'NET/ROM (packet radio) protocol family' HAVE_AFNETROM y
+bool 'Rose (packet radio) protocol family' HAVE_AFROSE n
+bool 'X.25 (CCITT) protocol family' HAVE_AFX25 y
+bool 'Econet protocol family' HAVE_AFECONET n
+bool 'DECnet protocol family' HAVE_AFDECnet n
+bool 'Ash protocol family' HAVE_AFASH n
+*
+*
+*            Device Hardware types.
+*
+bool 'Ethernet (generic) support' HAVE_HWETHER y
+bool 'ARCnet support' HAVE_HWARC y
+bool 'SLIP (serial line) support' HAVE_HWSLIP y
+bool 'PPP (serial line) support' HAVE_HWPPP y
+bool 'IPIP Tunnel support' HAVE_HWTUNNEL y
+bool 'STRIP (Metricom radio) support' HAVE_HWSTRIP y
+bool 'Token ring (generic) support' HAVE_HWTR y
+bool 'AX25 (packet radio) support' HAVE_HWAX25 y
+bool 'Rose (packet radio) support' HAVE_HWROSE n
+bool 'NET/ROM (packet radio) support' HAVE_HWNETROM y
+bool 'X.25 (generic) support' HAVE_HWX25 y
+bool 'DLCI/FRAD (frame relay) support' HAVE_HWFR y
+bool 'SIT (IPv6-in-IPv4) support' HAVE_HWSIT y
+bool 'FDDI (generic) support' HAVE_HWFDDI n
+bool 'HIPPI (generic) support' HAVE_HWHIPPI n
+bool 'Ash hardware support' HAVE_HWASH n
+bool '(Cisco)-HDLC/LAPB support' HAVE_HWHDLCLAPB n
+bool 'IrDA support' HAVE_HWIRDA y
+bool 'Econet hardware support' HAVE_HWEC n
+*
+*
+*           Other Features.
+*
+bool 'IP Masquerading support' HAVE_FW_MASQUERADE y
+bool 'Build iptunnel and ipmaddr' HAVE_IP_TOOLS y
+bool 'Build mii-tool' HAVE_MII y

Added core/net-tools/net-tools-1.60-ipv6.patch.













































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
From Rawhide. Fixes IPV6 Lookup.

diff -Naur net-tools-1.60.orig/lib/inet6.c net-tools-1.60/lib/inet6.c
--- net-tools-1.60.orig/lib/inet6.c	2000-10-28 11:04:00.000000000 +0000
+++ net-tools-1.60/lib/inet6.c	2003-09-12 22:40:45.000000000 +0000
@@ -133,28 +133,9 @@
 }
 
 
-static int INET6_getsock(char *bufp, struct sockaddr *sap)
-{
-    struct sockaddr_in6 *sin6;
-
-    sin6 = (struct sockaddr_in6 *) sap;
-    sin6->sin6_family = AF_INET6;
-    sin6->sin6_port = 0;
-
-    if (inet_pton(AF_INET6, bufp, sin6->sin6_addr.s6_addr) <= 0)
-	return (-1);
-
-    return 16;			/* ?;) */
-}
-
 static int INET6_input(int type, char *bufp, struct sockaddr *sap)
 {
-    switch (type) {
-    case 1:
-	return (INET6_getsock(bufp, sap));
-    default:
-	return (INET6_resolve(bufp, (struct sockaddr_in6 *) sap));
-    }
+    return (INET6_resolve(bufp, (struct sockaddr_in6 *) sap));
 }
 
 
diff -Naur net-tools-1.60.orig/lib/inet6_gr.c net-tools-1.60/lib/inet6_gr.c
--- net-tools-1.60.orig/lib/inet6_gr.c	2001-04-01 14:48:06.000000000 +0000
+++ net-tools-1.60/lib/inet6_gr.c	2003-09-12 22:40:45.000000000 +0000
@@ -100,7 +100,7 @@
 		 addr6p[4], addr6p[5], addr6p[6], addr6p[7]);
 	inet6_aftype.input(1, addr6, (struct sockaddr *) &saddr6);
 	snprintf(addr6, sizeof(addr6), "%s/%d",
-		 inet6_aftype.sprint((struct sockaddr *) &saddr6, 1),
+		 inet6_aftype.sprint((struct sockaddr *) &saddr6, numeric),
 		 prefix_len);
 
 	/* Fetch and resolve the nexthop address. */
@@ -109,7 +109,7 @@
 		 naddr6p[4], naddr6p[5], naddr6p[6], naddr6p[7]);
 	inet6_aftype.input(1, naddr6, (struct sockaddr *) &snaddr6);
 	snprintf(naddr6, sizeof(naddr6), "%s",
-		 inet6_aftype.sprint((struct sockaddr *) &snaddr6, 1));
+		 inet6_aftype.sprint((struct sockaddr *) &snaddr6, numeric));
 
 	/* Decode the flags. */
 	strcpy(flags, "U");
diff -Naur net-tools-1.60.orig/lib/inet6_sr.c net-tools-1.60/lib/inet6_sr.c
--- net-tools-1.60.orig/lib/inet6_sr.c	2000-05-22 21:18:37.000000000 +0000
+++ net-tools-1.60/lib/inet6_sr.c	2003-09-12 22:40:45.000000000 +0000
@@ -63,7 +63,7 @@
     if (*args == NULL)
 	return (usage());
 
-    strcpy(target, *args++);
+    safe_strncpy(target, *args++, sizeof(target));
     if (!strcmp(target, "default")) {
         prefix_len = 0;
 	memset(&sa6, 0, sizeof(sa6));
@@ -112,7 +112,7 @@
 		return (usage());
 	    if (rt.rtmsg_flags & RTF_GATEWAY)
 		return (usage());
-	    strcpy(gateway, *args);
+	    safe_strncpy(gateway, *args, sizeof(gateway));
 	    if (inet6_aftype.input(1, gateway,
 				   (struct sockaddr *) &sa6) < 0) {
 		inet6_aftype.herror(gateway);
@@ -152,7 +152,7 @@
     }
     if (devname) {
 	memset(&ifr, 0, sizeof(ifr));
-	strcpy(ifr.ifr_name, devname);
+	safe_strncpy(ifr.ifr_name, devname, sizeof(ifr.ifr_name));
 
 	if (ioctl(skfd, SIOGIFINDEX, &ifr) < 0) {
 	    perror("SIOGIFINDEX");

Added core/net-tools/net-tools-1.60-man.patch.















































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
From Rawhide. Removes nodename from Hostname man page.

diff -Naur net-tools-1.60.orig/man/en_US/hostname.1 net-tools-1.60/man/en_US/hostname.1
--- net-tools-1.60.orig/man/en_US/hostname.1	1999-02-27 12:11:14.000000000 +0000
+++ net-tools-1.60/man/en_US/hostname.1	2003-09-12 22:44:09.000000000 +0000
@@ -10,8 +10,6 @@
 nisdomainname \- show or set system's NIS/YP domain name
 .br
 ypdomainname \- show or set the system's NIS/YP domain name
-.br
-nodename \- show or set the system's DECnet node name
 
 .SH SYNOPSIS
 .B hostname
@@ -96,12 +94,6 @@
 function. This is also known as the YP/NIS domain name of the system.
 
 .LP
-.B nodename
-will print the DECnet node name of the system as returned by the
-.BR getnodename (2)
-function.
-
-.LP
 .B dnsdomainname
 will print the domain part of the FQDN (Fully Qualified Domain Name). The
 complete FQDN of the system is returned with
@@ -184,11 +176,6 @@
 .I "\-i, \-\-ip-address"
 Display the IP address(es) of the host.
 .TP
-.I "\-n, \-\-node"
-Display the DECnet node name. If a parameter is given (or
-.B \-\-file name
-) the root can also set a new node name.
-.TP
 .I "\-s, \-\-short"
 Display the short host name. This is the host name cut at the first dot.
 .TP

Added core/net-tools/net-tools-1.60-manydevs.patch.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
From Rawhide. Allows check of multiple devices.

diff -Naur net-tools-1.60.orig/lib/nstrcmp.c net-tools-1.60/lib/nstrcmp.c
--- net-tools-1.60.orig/lib/nstrcmp.c	1999-01-09 15:55:20.000000000 +0000
+++ net-tools-1.60/lib/nstrcmp.c	2003-09-12 22:46:13.000000000 +0000
@@ -16,8 +16,8 @@
 	b++;
     }
     if (isdigit(*a)) {
-	if (!isdigit(*b))
-	    return -1;
+        if (!isdigit(*b))
+	    return 1;
 	while (a > astr) {
 	    a--;
 	    if (!isdigit(*a)) {

Added core/net-tools/net-tools-1.60-miiioctl.patch.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
From Rawhide. Updates mii ioctls.

diff -Naur net-tools-1.60.orig/include/mii.h net-tools-1.60/include/mii.h
--- net-tools-1.60.orig/include/mii.h	2000-05-21 14:21:27.000000000 +0000
+++ net-tools-1.60/include/mii.h	2003-09-12 22:47:27.000000000 +0000
@@ -11,11 +11,9 @@
 
 /* network interface ioctl's for MII commands */
 #ifndef SIOCGMIIPHY
-#define SIOCGMIIPHY (SIOCDEVPRIVATE)	/* Read from current PHY */
-#define SIOCGMIIREG (SIOCDEVPRIVATE+1) 	/* Read any PHY register */
-#define SIOCSMIIREG (SIOCDEVPRIVATE+2) 	/* Write any PHY register */
-#define SIOCGPARAMS (SIOCDEVPRIVATE+3) 	/* Read operational parameters */
-#define SIOCSPARAMS (SIOCDEVPRIVATE+4) 	/* Set operational parameters */
+#define SIOCGMIIPHY 0x8947 	/* Read from current PHY */
+#define SIOCGMIIREG 0x8948 	/* Read any PHY register */
+#define SIOCSMIIREG 0x8949 	/* Write any PHY register */
 #endif
 
 #include <linux/types.h>

Added core/net-tools/net-tools-1.60-nameif.patch.



























































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
From Rawhide. Fix for when the wrong device information is shown.

diff -Naur net-tools-1.60.orig/nameif.c net-tools-1.60/nameif.c
--- net-tools-1.60.orig/nameif.c	2000-10-18 17:26:29.000000000 +0000
+++ net-tools-1.60/nameif.c	2003-09-12 22:48:57.000000000 +0000
@@ -117,7 +117,8 @@
 }
 
 struct change { 
-	struct change *next,**pprev;
+	struct change *next;
+	int found;
 	char ifname[IFNAMSIZ+1];
 	unsigned char mac[6];
 }; 
@@ -139,10 +140,7 @@
 			ch->ifname, pos); 
 	if (parsemac(p,ch->mac) < 0) 
 		complain(_("cannot parse MAC `%s' at %s"), p, pos); 
-	if (clist) 
-		clist->pprev = &ch->next;
 	ch->next = clist;
-	ch->pprev = &clist;
 	clist = ch;
 	return 0; 
 }
@@ -200,7 +198,7 @@
 
 void usage(void)
 {
-	fprintf(stderr, _("usage: nameif [-c configurationfile] [-s] {ifname macaddress}")); 
+	fprintf(stderr, _("usage: nameif [-c configurationfile] [-s] {ifname macaddress}\n")); 
 	exit(1); 
 }
 
@@ -277,21 +275,21 @@
 		ch = lookupmac(mac); 
 		if (!ch) 
 			continue;
-			
-		*ch->pprev = ch->next;
+		
+		ch->found = 1;	
 		if (strcmp(p, ch->ifname)) { 
 			if (setname(p, ch->ifname) < 0)  
 				complain(_("cannot change name of %s to %s: %s"),
 						p, ch->ifname, strerror(errno)); 
 		} 
-		free(ch);
 	} 
 	fclose(ifh); 
 	
 	while (clist) { 
 		struct change *ch = clist;
 		clist = clist->next;
-		warning(_("interface '%s' not found"), ch->ifname); 
+		if (!ch->found)
+			warning(_("interface '%s' not found"), ch->ifname); 
 		free(ch); 
 	}
 

Added core/net-tools/net-tools-1.60-virtualname.patch.





















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
From Rawhide. Show Virtual Name in netstat.

diff -Naur net-tools-1.60.orig/lib/interface.c net-tools-1.60/lib/interface.c
--- net-tools-1.60.orig/lib/interface.c	2001-02-10 19:31:15.000000000 +0000
+++ net-tools-1.60/lib/interface.c	2003-09-12 22:50:35.000000000 +0000
@@ -579,7 +579,7 @@
 
 void ife_print_short(struct interface *ptr)
 {
-    printf("%-5.5s ", ptr->name);
+    printf("%-9.8s ", ptr->name);
     printf("%5d %3d", ptr->mtu, ptr->metric);
     /* If needed, display the interface statistics. */
     if (ptr->statistics_valid) {
diff -Naur net-tools-1.60.orig/netstat.c net-tools-1.60/netstat.c
--- net-tools-1.60.orig/netstat.c	2003-09-12 22:43:54.000000000 +0000
+++ net-tools-1.60/netstat.c	2003-09-12 22:50:35.000000000 +0000
@@ -1449,7 +1449,7 @@
     }
     if (flag_exp < 2) {
 	ife_short = 1;
-	printf(_("Iface   MTU Met   RX-OK RX-ERR RX-DRP RX-OVR   TX-OK TX-ERR TX-DRP TX-OVR Flg\n"));
+	printf(_("Iface     MTU Met   RX-OK RX-ERR RX-DRP RX-OVR   TX-OK TX-ERR TX-DRP TX-OVR Flg\n"));
     }
 
     if (for_all_interfaces(do_if_print, &flag_all) < 0) {

Added core/openrdate/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: Time setting software implementing RFC 868 (inetd time) and RFC 2030 (SNTP/NTP) protocols
# URL:         http://sourceforge.net/projects/openrdate/
# Maintainer:  CRUX System Team, core-ports at crux dot nu

name=openrdate
version=1.2
release=1
source=(http://downloads.sourceforge.net/project/$name/$name/$name-$version.tar.gz/$name-$version.tar.gz 
        rdate)

build() {
    cd $name-$version
    ./configure --prefix=/usr --mandir=/usr/man
    make
    make DESTDIR=$PKG install
    install -D -m 755 $SRC/rdate $PKG/etc/cron/daily/rdate
}

Added core/openrdate/rdate.



























>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
#!/bin/sh
#
# /etc/cron/daily/rdate: synchronize system clock
#
# Note: 
# If called with the -a option, rdate use the adjtime 
# system call instead of settimeofday to gradually skew 
# the local time to the remote time rather than just 
# hopping. See rdate(8) and adjtime(2).

#/usr/bin/rdate -nav pool.ntp.org

# End of file

Added core/openssh/Pkgfile.























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# Description: Secure SHell server and client tools
# URL:         http://www.openssh.org/
# Maintainer:  CRUX System Team, core-ports at crux dot nu
# Depends on:  openssl zlib tcp_wrappers

name=openssh
version=5.9p1
release=1
source=(ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/$name-$version.tar.gz sshd)

build() {
    cd $name-$version
    ./configure --prefix=/usr \
                --libexecdir=/usr/lib/ssh \
                --sysconfdir=/etc/ssh \
                --with-mantype=man \
                --mandir=/usr/man \
                --with-tcp-wrappers \
                --with-md5-passwords \
                --with-privsep-user=nobody \
                --with-privsep-path=/var/empty \
                --with-xauth=/usr/bin/xauth
    make
    make DESTDIR=$PKG install
    install -D -m 755 $SRC/sshd $PKG/etc/rc.d/sshd
    rm -rf $PKG/usr/share $PKG/var
}

Added core/openssh/sshd.

















































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#!/bin/sh
#
# /etc/rc.d/sshd: start/stop ssh daemon
#

case $1 in
start)
	if [ ! -f /etc/ssh/ssh_host_key ]; then
		/usr/bin/ssh-keygen -t rsa1 -N "" -f /etc/ssh/ssh_host_key > /dev/null
	fi
	if [ ! -f /etc/ssh/ssh_host_rsa_key ]; then
		/usr/bin/ssh-keygen -t rsa -N "" -f /etc/ssh/ssh_host_rsa_key > /dev/null
	fi
	if [ ! -f /etc/ssh/ssh_host_dsa_key ]; then
		/usr/bin/ssh-keygen -t dsa -N "" -f /etc/ssh/ssh_host_dsa_key > /dev/null
	fi
	if [ ! -f /etc/ssh/ssh_host_ecdsa_key ]; then
		/usr/bin/ssh-keygen -t ecdsa -N "" -f /etc/ssh/ssh_host_ecdsa_key > /dev/null
	fi
	/usr/sbin/sshd
	;;
stop)
	if [ -f /var/run/sshd.pid ]; then
		kill $(< /var/run/sshd.pid)
		rm -f /var/run/sshd.pid
	else
		killall -q /usr/sbin/sshd
	fi
	;;
restart)
	$0 stop
	sleep 2
	$0 start
	;;
*)
	echo "usage: $0 [start|stop|restart]"
	;;
esac

# End of file

Added core/openssl/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: Secure Sockets Layer and Transport Layer Security tools
# URL:         http://www.openssl.org/
# Maintainer:  CRUX System Team, core-ports at crux dot nu

name=openssl
version=1.0.0h
release=1
source=(http://www.openssl.org/source/$name-$version.tar.gz \
        mksslcert.sh)

build() {
    cd $name-$version
    export MAKEFLAGS="$MAKEFLAGS -j1"
    ./config --prefix=/usr --openssldir=/etc/ssl shared
    sed -i "s|-O3|$CFLAGS|" Makefile
    make
    make INSTALL_PREFIX=$PKG LIBDIR=lib MANDIR=/usr/man MANSUFFIX=ssl install
    find $PKG -name "*fips*" -delete
    chmod -R +w $PKG
    install -D -m 755 $SRC/mksslcert.sh $PKG/usr/bin/mksslcert
}

Added core/openssl/mksslcert.sh.































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#!/bin/sh
#
# mksslcert
#
# creates self-signed openssl certificates based on
# the local hostname or the given one
# Fallback to localhost if not set.
#
# Jürgen Daubert, jue at jue dot li


print_help() {
	echo "usage: ${0##*/} <key> <cert> [hostname]"
	echo "  key       full path to openssl private key"
	echo "  cert      full path to openssl certificate"
	echo "  hostname  host name of certificate"
}

main() {
	if [ ! "$1" -o ! "$2" ]; then
		print_help
		exit 1
	fi
	
	KEY=$1
	CRT=$2
	FQDN=$(hostname -f) || FQDN=localhost
	if [ ! -z "$3" ]; then
		FQDN="$3"
	fi
	INFO=".\n.\n.\n.\n.\n$FQDN\nroot@$FQDN"
	OPTS="req -new -nodes -x509 -days 365 -newkey rsa:1024"
	
	echo -e $INFO | openssl $OPTS -out $CRT -keyout $KEY 2> /dev/null
	
	if [ $? -ne 0 ]; then
		echo "Error: creating of certificate failed"
		exit 1
	else
		echo "SSL certificate $CRT with key $KEY for host $FQDN created"
		chmod 0600 $CRT $KEY 
	fi
}

main "$@"

# End of file

Added core/patch/Pkgfile.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Description: GNU patch
# URL:         http://www.gnu.org/software/patch/patch.html
# Maintainer:  CRUX System Team, core-ports at crux dot nu

name=patch
version=2.6.1
release=1
source=(http://ftp.gnu.org/gnu/$name/$name-$version.tar.xz)

build() {
    cd $name-$version
    ./configure --prefix=/usr --mandir=/usr/man
    make
    make DESTDIR=$PKG install
}

Added core/pciutils/Pkgfile.





























>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# Description: Library and utilities to access the PCI bus configuration registers
# URL:         http://mj.ucw.cz/pciutils.shtml
# Maintainer:  CRUX System Team, core-ports at crux dot nu

name=pciutils
version=3.1.9
release=1
source=(ftp://atrey.karlin.mff.cuni.cz/pub/linux/pci/$name-$version.tar.gz)

build() {
    cd $name-$version
    make OPT="$CFLAGS" PREFIX=/usr ZLIB=no
    make DESTDIR=$PKG PREFIX=/usr MANDIR=/usr/man install install-lib
}

Added core/perl/Pkgfile.































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# Description: Perl programming language
# URL:         http://www.perl.org/
# Maintainer:  CRUX System Team, core-ports at crux dot nu
# Depends on:  db gdbm

name=perl
version=5.12.4
release=1
source=(http://www.cpan.org/src/5.0/$name-$version.tar.bz2)

build() {
    cd $name-$version

    ./Configure -des \
                -Dprefix=/usr \
                -Dprivlib=/usr/lib/perl5/${version%.*} \
                -Dsitelib=/usr/lib/perl5/site_perl/${version%.*} \
                -Darchname=linux \
                -Dman1ext=1pm \
                -Dman3ext=3pm \
                -Dman1dir=/usr/man/man1 \
                -Dman3dir=/usr/man/man3 \
                -Di_gdbm \
                -Di_db \
                -Duseshrplib \
                -Dusethreads \
                -Doptimize="$CFLAGS"
    make
    make DESTDIR=$PKG install

    ln -sf perl$version $PKG/usr/bin/perl
    ln -sf c2ph $PKG/usr/bin/pstruct
    ln -sf s2p $PKG/usr/bin/psed
    ln -sf c2ph.1pm $PKG/usr/man/man1/pstruct.1pm
    ln -sf s2p.1pm $PKG/usr/man/man1/psed.1pm

    find $PKG \
         -iname 'TODO*' -or \
         -iname 'Change*' -or \
         -iname 'README*' -or \
         -name '*.bs' -or \
         -name '.packlist' -or \
         -name 'perllocal.pod' | xargs rm
    
    find $PKG -depth -empty -exec rmdir {} \;
    chmod -R +w $PKG
}

Added core/pkg-config/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: A system for managing library compile/link flags
# URL: http://pkgconfig.freedesktop.org/wiki/
# Maintainer: CRUX System Team, core-ports at crux dot nu
# Depends on: glib

name=pkg-config
version=0.26
release=1
source=(http://$name.freedesktop.org/releases/$name-$version.tar.gz)

build() {
	cd $name-$version
	./configure --prefix=/usr --mandir=/usr/man
	make
	make DESTDIR=$PKG install

	rm $PKG/usr/share/doc/pkg-config/pkg-config-guide.html
	rmdir $PKG/usr/share/doc/{pkg-config,}
}

Added core/pkgutils/Pkgfile.





























>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# Description: A set of utilities to manage software packages 
# URL:         http://crux.nu/gitweb/?p=tools/pkgutils.git
# Maintainer:  CRUX System Team, core-ports at crux dot nu
# Depends on:  libarchive

name=pkgutils
version=5.35.2
release=1
source=(http://crux.nu/files/$name-$version.tar.gz)

build () {
	cd $name-$version
	make DESTDIR=$PKG install
}

Added core/ports/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: CRUX ports system tools
# URL:         http://crux.nu
# Maintainer:  CRUX System Team, core-ports at crux dot nu

name=ports
version=1.5
release=10
source=(http://crux.nu/files/tools/ports/$name-$version.tar.gz \
        core.rsync opt.rsync xorg.rsync contrib.rsync.inactive)

build () {
    cd $name-$version
    make
    make DESTDIR=$PKG install

    install -m 0644 ../core.rsync $PKG/etc/ports/core.rsync
    install -m 0644 ../opt.rsync $PKG/etc/ports/opt.rsync
    install -m 0644 ../xorg.rsync $PKG/etc/ports/xorg.rsync
    install -m 0644 ../contrib.rsync.inactive \
        $PKG/etc/ports/contrib.rsync.inactive
}

Added core/ports/contrib.rsync.inactive.







>
>
>
1
2
3
host=crux.nu
collection=ports/crux-2.7/contrib/
destination=/usr/ports/contrib

Added core/ports/core.rsync.







>
>
>
1
2
3
host=crux.nu
collection=ports/crux-2.7/core/
destination=/usr/ports/core

Added core/ports/opt.rsync.







>
>
>
1
2
3
host=crux.nu
collection=ports/crux-2.7/opt/
destination=/usr/ports/opt

Added core/ports/xorg.rsync.







>
>
>
1
2
3
host=crux.nu
collection=ports/crux-2.7/xorg/
destination=/usr/ports/xorg

Added core/ppp/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: A daemon which implements the PPP protocol for internetworking over dialup lines
# URL:         http://www.samba.org/ppp/
# Maintainer:  CRUX System Team, core-ports at crux dot nu
# Depends on:  zlib, openssl

name=ppp
version=2.4.5
release=2
source=(http://ppp.samba.org/ftp/ppp/$name-$version.tar.gz \
        $name-nofilter.patch $name-$version-pppol2tp.patch)

build () {
    cd $name-$version
    patch -p1 -i $SRC/$name-nofilter.patch
    patch -p1 -i $SRC/$name-$version-pppol2tp.patch
    ./configure --prefix=/usr --sysconfdir=/etc
    make
    make -j1 INSTROOT=$PKG install install-etcppp
    mv $PKG/usr/{share/man,man} && rm -r $PKG/usr/share
    chmod +w -R $PKG
}

Added core/ppp/ppp-2.4.5-pppol2tp.patch.



















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# https://bugzilla.redhat.com/show_bug.cgi?id=617625 

--- ppp-2.4.5/include/linux/if_pppol2tp.h	2009-11-16 22:26:07.000000000 +0000
+++ ppp-2.4.5/include/linux/if_pppol2tp.h	2010-07-16 22:35:22.000000000 +0100
@@ -32,6 +32,20 @@
 	__u16 d_tunnel, d_session;	/* For sending outgoing packets */
 };
 
+/* The L2TPv3 protocol changes tunnel and session ids from 16 to 32
+ * bits. So we need a different sockaddr structure.
+ */
+struct pppol2tpv3_addr {
+	pid_t	pid;			/* pid that owns the fd.
+					 * 0 => current */
+	int	fd;			/* FD of UDP or IP socket to use */
+
+	struct sockaddr_in addr;	/* IP address and port to send to */
+
+	__u32 s_tunnel, s_session;	/* For matching incoming packets */
+	__u32 d_tunnel, d_session;	/* For sending outgoing packets */
+};
+
 /* Socket options:
  * DEBUG	- bitmask of debug message categories
  * SENDSEQ	- 0 => don't send packets with sequence numbers

Added core/ppp/ppp-nofilter.patch.

























>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
diff -ru ppp-2.4.3/pppd/Makefile.linux ppp-2.4.3-new/pppd/Makefile.linux
--- ppp-2.4.3/pppd/Makefile.linux	2004-11-13 13:02:22.000000000 +0100
+++ ppp-2.4.3-new/pppd/Makefile.linux	2004-12-12 00:05:13.582252968 +0100
@@ -48,7 +48,7 @@
 # Uncomment the next line to include support for PPP packet filtering.
 # This requires that the libpcap library and headers be installed
 # and that the kernel driver support PPP packet filtering.
-FILTER=y
+#FILTER=y
 
 # Uncomment the next line to enable multilink PPP (enabled by default)
 # Linux distributions: Please leave multilink ENABLED in your builds

Added core/procps/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: The /proc file system utilities
# URL:         http://procps.sourceforge.net/
# Maintainer:  CRUX System Team, core-ports at crux dot nu
# Depends on:  ncurses

name=procps
version=3.2.8
release=3
source=(http://procps.sourceforge.net/$name-$version.tar.gz
        $name-$version.patch
        $name-$version-linux-ver-init.patch
        sysctl.conf)

build() {
    cd $name-$version
    patch -p1 -i $SRC/$name-$version.patch
    patch -p0 -i $SRC/$name-$version-linux-ver-init.patch
    make
    make DESTDIR=$PKG install
    install -D -m644 $SRC/sysctl.conf $PKG/etc/sysctl.conf
}

Added core/procps/procps-3.2.8-linux-ver-init.patch.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=603759
# https://bugs.gentoo.org/show_bug.cgi?id=303120

Index: proc/version.c
===================================================================
RCS file: /cvsroot/procps/procps/proc/version.c,v
retrieving revision 1.7
diff -u -p -r1.7 version.c
--- proc/version.c	9 Feb 2003 07:27:16 -0000	1.7
+++ proc/version.c	14 Nov 2010 00:22:44 -0000
@@ -33,7 +33,7 @@ void display_version(void) {
 
 int linux_version_code;
 
-static void init_Linux_version(void) __attribute__((constructor));
+static void init_Linux_version(void) __attribute__((constructor(100)));
 static void init_Linux_version(void) {
     static struct utsname uts;
     int x = 0, y = 0, z = 0;	/* cleared in case sscanf() < 3 */

Added core/procps/procps-3.2.8.patch.























































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
diff -Nru procps-3.2.8.orig/Makefile procps-3.2.8/Makefile
--- procps-3.2.8.orig/Makefile	2010-11-07 11:59:17.736493931 +0100
+++ procps-3.2.8/Makefile	2010-11-07 12:24:02.973714246 +0100
@@ -24,26 +24,26 @@
 ############ vars
 
 # so you can disable them or choose alternates
-ldconfig := ldconfig
+ldconfig := true
 ln_f     := ln -f
 ln_sf    := ln -sf
 install  := install -D --owner 0 --group 0
 
 # Lame x86-64 /lib64 and /usr/lib64 abomination:
-lib64    := lib$(shell [ -d /lib64 ] && echo 64)
+lib64    := lib
 
 usr/bin                  := $(DESTDIR)/usr/bin/
 bin                      := $(DESTDIR)/bin/
 sbin                     := $(DESTDIR)/sbin/
 usr/proc/bin             := $(DESTDIR)/usr/bin/
-man1                     := $(DESTDIR)/usr/share/man/man1/
-man5                     := $(DESTDIR)/usr/share/man/man5/
-man8                     := $(DESTDIR)/usr/share/man/man8/
+man1                     := $(DESTDIR)/usr/man/man1/
+man5                     := $(DESTDIR)/usr/man/man5/
+man8                     := $(DESTDIR)/usr/man/man8/
 lib                      := $(DESTDIR)/$(lib64)/
 usr/lib                  := $(DESTDIR)/usr/$(lib64)/
 usr/include              := $(DESTDIR)/usr/include/
 
-#SKIP     := $(bin)kill $(man1)kill.1
+SKIP     := $(bin)kill $(man1)kill.1
 
 BINFILES := $(usr/bin)uptime $(usr/bin)tload $(usr/bin)free $(usr/bin)w \
             $(usr/bin)top $(usr/bin)vmstat $(usr/bin)watch $(usr/bin)skill \
@@ -174,7 +174,8 @@
 # want this rule first, use := on ALL, and ALL not filled in yet
 all: do_all
 
--include */module.mk
+-include proc/module.mk
+-include ps/module.mk
 
 do_all:    $(ALL)
 
@@ -222,14 +223,14 @@
 ###### install
 
 $(BINFILES) : all
-	$(install) --mode a=rx $(notdir $@) $@
+	$(install) --mode=0755 $(notdir $@) $@
 
 $(MANFILES) : all
-	$(install) --mode a=r $(notdir $@) $@
+	$(install) --mode=0644 $(notdir $@) $@
 
 install: $(filter-out $(SKIP) $(addprefix $(DESTDIR),$(SKIP)),$(INSTALL))
-	cd $(usr/bin) && $(ln_f) skill snice
-	cd $(usr/proc/bin) && $(ln_f) pgrep pkill
+	cd $(usr/bin) && $(ln_sf) skill snice
+	cd $(usr/proc/bin) && $(ln_sf) pgrep pkill
 
 ############ prog.c --> prog.o
 
diff -Nru procps-3.2.8.orig/proc/module.mk procps-3.2.8/proc/module.mk
--- procps-3.2.8.orig/proc/module.mk	2010-11-07 11:59:17.746493508 +0100
+++ procps-3.2.8/proc/module.mk	2010-11-07 12:29:58.358664876 +0100
@@ -96,7 +96,7 @@
 #################### install rules ###########################
 
 $(lib)$(SOFILE) : proc/$(SONAME)
-	$(install) --mode a=rx $< $@
+	$(install) --mode=0755 $< $@
 
 ifneq ($(SOLINK),$(SOFILE))
 .PHONY: $(lib)$(SOLINK)
diff -Nru procps-3.2.8.orig/ps/module.mk procps-3.2.8/ps/module.mk
--- procps-3.2.8.orig/ps/module.mk	2010-11-07 11:59:17.746493508 +0100
+++ procps-3.2.8/ps/module.mk	2010-11-07 12:26:19.287944149 +0100
@@ -33,8 +33,8 @@
 
 
 $(bin)ps: ps/ps
-	$(install) --mode a=rx $< $@
+	$(install) --mode=0755 $< $@
 
 $(man1)ps.1 : ps/ps.1
-	$(install) --mode a=r $< $@
+	$(install) --mode=0644 $< $@
 	-rm -f $(DESTDIR)/var/catman/cat1/ps.1.gz $(DESTDIR)/var/man/cat1/ps.1.gz

Added core/procps/sysctl.conf.











>
>
>
>
>
1
2
3
4
5
#
# /etc/sysctl.conf: configuration for system variables, see sysctl.conf(5)
#

# End of file

Added core/prt-get/Pkgfile.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Description: A utility to simplify ports searching/installing
# URL:         http://jw.smts.ch/files/crux/prt-get_quickstart.html
# Maintainer:  CRUX System Team, core-ports at crux dot nu

name=prt-get
version=5.18
release=2
source=(http://jw.smts.ch/files/crux/prt-get-$version.tar.gz
        prt-get.conf prt-get.aliases prt-get.diff)

build() {
    cd ${name}-${version}

    patch -p1 -i $SRC/$name.diff

    ./configure --prefix=/usr \
                --mandir=/usr/man
    make
    make DESTDIR=$PKG install

    install -m 644 $SRC/prt-get.conf $PKG/etc/
    install -D -m 644 $SRC/prt-get.aliases $PKG/var/lib/pkg/prt-get.aliases
}

Added core/prt-get/README.



















>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
NOTE:

Some people have reported problems when using optimizations larger than
-O2; typical symptoms are "prt-get install X" saying that a package is
installed while "prt-get update X" saying it's not, or "prt-get listinst"
printing just nothing.

If you experience strange effects, please try recompiling with 
   CXXFLAGS="-O2 -march=i686 -pipe"

Added core/prt-get/prt-get.aliases.



















>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
j2sdk: j2re
j2sdk: jre
jdk: jre 
openmotif: lesstif
postfix: sendmail
exim: sendmail
qmail: sendmail
masqmail: sendmail
xorg: x11

Added core/prt-get/prt-get.conf.

































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
###
### prt-get conf
###

# note: the order matters: the package found first is used
prtdir /usr/ports/core
prtdir /usr/ports/opt
prtdir /usr/ports/xorg

# the following line enables the user maintained contrib collection
#prtdir /usr/ports/contrib

### use mypackage form local directory
# prtdir /home/packages/build:mypackage

### log options:
# writelog enabled         # (enabled|disabled)
# logmode  overwrite       # (append|overwrite)
# rmlog_on_success yes     # (no|yes)
logfile  /var/log/pkgbuild/%n.log
                           # path, %p=path to port dir, %n=port name
                           #       %v=version, %r=release

### use alternate cache file (default: /var/lib/pkg/prt-get.cache
# cachefile /mnt/nfs/cache

### print README information:
# readme verbose           # (verbose|compact|disabled)

### prefer higher versions in sysup / diff
# preferhigher no      # (yes|no)

### use regexp search
# useregex no        # (yes|no)

### run pre- and post-installs scripts; yes is equivalent to the
### --install-scripts option
# runscripts no            # (no|yes)


### EXPERT SECTION ###

### alternative commands
# makecommand      pkgmk
# addcommand       pkgadd
# removecommand    pkgrm
# runscriptcommand sh

Added core/prt-get/prt-get.diff.



























>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
diff --git a/src/installtransaction.cpp b/src/installtransaction.cpp
index 849931a..70e5e37 100644
--- a/src/installtransaction.cpp
+++ b/src/installtransaction.cpp
@@ -658,5 +658,7 @@ string InstallTransaction::getPkgmkPackageDir()
 
 string InstallTransaction::getPkgmkCompressionMode()
 {
-    return getPkgmkSetting("PKGMK_COMPRESSION_MODE");
+    string value = getPkgmkSetting("PKGMK_COMPRESSION_MODE");
+
+    return value.size() ? value : "gz";
 }

Added core/psmisc/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: Small utilities that use the /proc filesystem
# URL:         http://psmisc.sourceforge.net/
# Maintainer:  CRUX System Team, core-ports at crux dot nu
# Depends on:  ncurses

name=psmisc
version=22.16
release=1
source=(http://downloads.sourceforge.net/project/$name/$name/$name-$version.tar.gz)

build() {
    cd $name-$version
    ./configure --prefix=/usr --disable-nls --mandir=/usr/man
    make
    make DESTDIR=$PKG install
    rm $PKG/usr/bin/pstree.x11
}

Added core/rc/Pkgfile.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Description: BSD-like init-scripts
# URL:         http://crux.nu
# Maintainer:  CRUX System Team, core-ports at crux dot nu

name=rc
version=2.26
release=1
source=(inittab rc rc.modules rc.single rc.multi rc.local rc.fix rc.shutdown rc.conf)

build() {
    mkdir -p $PKG/etc/rc.d
    install -m 644 inittab $PKG/etc
    install -m 755 rc $PKG/etc
    install -m 755 rc.modules $PKG/etc
    install -m 755 rc.single $PKG/etc
    install -m 755 rc.multi $PKG/etc
    install -m 755 rc.local $PKG/etc
    install -m 755 rc.fix $PKG/etc
    install -m 755 rc.shutdown $PKG/etc
    install -m 644 rc.conf $PKG/etc
    mkdir -p $PKG/var/log $PKG/var/lib/urandom
    touch $PKG/var/log/boot $PKG/var/lib/urandom/seed
    chmod 640 $PKG/var/log/boot $PKG/var/lib/urandom/seed
}

Added core/rc/inittab.





























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#
# /etc/inittab: system runlevel description
#

# Runlevels:
#  0	Halt
#  1(S)	Single-user
#  2	Multi-user
#  3-5	Not used
#  6	Reboot

id:2:initdefault:

rc::sysinit:/etc/rc
rs:S1:wait:/etc/rc.single
rm:2:wait:/etc/rc.multi
rd:06:wait:/etc/rc.shutdown
su:S:wait:/sbin/sulogin -p

c1:2:respawn:/sbin/agetty 38400 tty1 linux
c2:2:respawn:/sbin/agetty 38400 tty2 linux
c3:2:respawn:/sbin/agetty 38400 tty3 linux
c4:2:respawn:/sbin/agetty 38400 tty4 linux
c5:2:respawn:/sbin/agetty 38400 tty5 linux
c6:2:respawn:/sbin/agetty 38400 tty6 linux
#s1:2:respawn:/sbin/agetty 38400 ttyS0 vt100

ca::ctrlaltdel:/sbin/shutdown -t3 -r now

# End of file

Added core/rc/rc.





































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
#!/bin/bash
#
# /etc/rc: system boot script
#

echo "The system is coming up.  Please wait."

# Load configuration
. /etc/rc.conf

# Start udev
/bin/mount -n -t proc none /proc
/bin/mount -n -t sysfs none /sys
/sbin/start_udev

# Create device-mapper device nodes and scan for LVM volume groups
if [ -x /sbin/lvm ]; then
	/sbin/vgscan --mknodes --ignorelockingfailure
	/sbin/vgchange --ignorelockingfailure -a y
fi

# Mount root read-only
/bin/mount -n -o remount,ro /

if [ -f /forcefsck ]; then
FORCEFSCK="-f"
fi

# Check filesystems
/sbin/fsck $FORCEFSCK -A -T -C -a
if [ $? -gt 1 ]; then
	echo
	echo "***************  FILESYSTEM CHECK FAILED  ******************"
	echo "*                                                          *"
	echo "*  Please repair manually and reboot. Note that the root   *"
	echo "*  file system is currently mounted read-only. To remount  *"
	echo "*  it read-write type: mount -n -o remount,rw /            *"
	echo "*  When you exit the maintainance shell the system will    *"
	echo "*  reboot automatically.                                   *"
	echo "*                                                          *"
	echo "************************************************************"
	echo
	/sbin/sulogin -p
	echo "Automatic reboot in progress..."
	/bin/umount -a -r
	/bin/mount -n -o remount,ro /
	/sbin/reboot -f
	exit 0
fi

# Mount local filesystems
/bin/mount -n -o remount,rw /
/bin/umount /sys /proc
/bin/rm -f /etc/mtab*
/bin/touch /etc/mtab
/bin/mount -o remount,rw /
/bin/mount -a -O no_netdev

# Activate swap
/sbin/swapon -a

# Clean up misc files
: > /var/run/utmp
/bin/rm -rf /forcefsck /fastboot /etc/nologin /etc/shutdownpid
(cd /var/run && /usr/bin/find . -name "*.pid" -delete)
(cd /var/lock && /usr/bin/find . ! -type d -delete)
(cd /tmp && /usr/bin/find . ! -name . -delete)
/bin/mkdir -m 1777 /tmp/.ICE-unix

# Set kernel variables
/sbin/sysctl -p > /dev/null

# Update shared library links
/sbin/ldconfig

# Configure host name
if [ "$HOSTNAME" ]; then
	echo "hostname: $HOSTNAME"
	/bin/hostname $HOSTNAME
fi

# Load random seed
/bin/cat /var/lib/urandom/seed > /dev/urandom

# Configure system clock
if [ "$TIMEZONE" ]; then
	/bin/ln -snf /usr/share/zoneinfo/$TIMEZONE /etc/localtime
fi
/sbin/hwclock --hctosys

# Load console font
if [ "$FONT" ]; then
	echo "font: $FONT"
	/usr/bin/setfont $FONT
fi

# Load console keymap
if [ "$KEYMAP" ]; then
	echo "keyboard: $KEYMAP"
	/usr/bin/loadkeys -q $KEYMAP
fi

# Screen blanks after 15 minutes idle time
/usr/bin/setterm -blank 15

# Run module initialization script
if [ -x /etc/rc.modules ]; then
	/etc/rc.modules
fi

# Save boot messages
/bin/dmesg > /var/log/boot

# End of file

Added core/rc/rc.conf.

























>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
#
# /etc/rc.conf: system configuration
#

FONT=default
KEYMAP=us
TIMEZONE=UTC
HOSTNAME=host
SYSLOG=sysklogd
SERVICES=(net crond)

# End of file

Added core/rc/rc.fix.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/bin/bash
#
# /etc/rc.fix: adjustements startup file (multi-user)
#


#######################################################################
# X11 font-related checks
#######################################################################
if [ -d /usr/share/fonts/X11 ]; then
    for i in `/bin/ls -d /usr/share/fonts/X11/*`; do
        if [ ! -f $i/fonts.dir ]; then
            mkfontdir $i &> /dev/null
            mkfontscale $i &> /dev/null
        fi
    done
fi

if [ -d /var/cache/fontconfig ] && [ -z "`/bin/ls /var/cache/fontconfig/`" ]; then
    fc-cache &> /dev/null
fi


# End of file

Added core/rc/rc.local.













>
>
>
>
>
>
1
2
3
4
5
6
#!/bin/bash
#
# /etc/rc.local: local multi-user startup script
#

# End of file

Added core/rc/rc.modules.

















>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
#!/bin/bash
#
# /etc/rc.modules: module initialization script
#

/sbin/depmod -a

# End of file

Added core/rc/rc.multi.







































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/bin/bash
#
# /etc/rc.multi: multi-user startup script
#

# Load configuration
. /etc/rc.conf

# Run fixes startup file
if [ -x /etc/rc.fix ]; then
        /etc/rc.fix
fi

# Start services
if [ "$SYSLOG" -o "${SERVICES[*]}" ]; then
	echo -n "starting services:"
	if [ -f /etc/rc.d/$SYSLOG -a -x /etc/rc.d/$SYSLOG ]; then
		echo -n " $SYSLOG"
		/etc/rc.d/$SYSLOG start &> /dev/null || echo -n "[ERROR]"
	fi
	for service in ${SERVICES[@]}; do
		echo -n " $service"
		/etc/rc.d/$service start &> /tmp/rc.$$ || echo -n "[ERROR]"
		/usr/bin/logger -t $service -f /tmp/rc.$$
		/bin/rm -f /tmp/rc.$$
	done
	echo
fi

# Run local startup script
if [ -x /etc/rc.local ]; then
	/etc/rc.local
fi

# End of file

Added core/rc/rc.shutdown.





























































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#!/bin/bash
#
# /etc/rc.shutdown: system shutdown script
#

# Load configuration
. /etc/rc.conf

# Set linefeed mode to avoid staircase effect
/bin/stty onlcr

echo "The system is coming down.  Please wait."

if [ "$PREVLEVEL" = "2" ]; then
	# Shutdown services
	if [ "${SERVICES[*]}" ]; then
		for service in "${SERVICES[@]}"; do
			R_SERVICES=($service ${R_SERVICES[@]})
		done
		for service in "${R_SERVICES[@]}"; do
			/etc/rc.d/$service stop &> /tmp/rc.$$
			/usr/bin/logger -t $service -f /tmp/rc.$$
			/bin/rm -f /tmp/rc.$$
		done
	fi
fi

# Terminate all processes
/sbin/killall5 -15
/bin/sleep 5
/sbin/killall5 -9

# Save random seed
/bin/dd if=/dev/urandom of=/var/lib/urandom/seed count=1 2> /dev/null

# Save system clock
/sbin/hwclock --systohc

# Write to wtmp file before unmounting
/sbin/halt -w

# Turn off swap
/sbin/swapoff -a

# Unmount file systems
/bin/umount -a -r -t nosysfs,noproc
if [ -x /sbin/lvm ]; then
	/sbin/vgchange --ignorelockingfailure -a n
fi
/bin/umount -a -r

# Remount root filesystem read-only
/bin/mount -n -o remount,ro /

# Power off or reboot
if [ "$RUNLEVEL" = "0" ]; then
	/sbin/poweroff -d -f -i
else
	/sbin/reboot -d -f -i
fi

# End of file

Added core/rc/rc.single.

























































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#!/bin/bash
#
# /etc/rc.single: single-user startup script
#

# Load configuration
. /etc/rc.conf

if [ "$PREVLEVEL" = "2" ]; then
	# Shutdown services
	if [ "${SERVICES[*]}" ]; then
		for service in "${SERVICES[@]}"; do
			R_SERVICES=($service ${R_SERVICES[@]})
		done
		for service in "${R_SERVICES[@]}"; do
			/etc/rc.d/$service stop &> /tmp/rc.$$
			/usr/bin/logger -t $service -f /tmp/rc.$$
			/bin/rm -f /tmp/rc.$$
		done
	fi
fi

if [ "$PREVLEVEL" != "N" ]; then
	# Terminate all processes
	/sbin/killall5 -15
	/bin/sleep 5
	/sbin/killall5 -9

	# Start udev
	/bin/mount -n -t proc none /proc
	/bin/mount -n -t sysfs none /sys
	/sbin/start_udev
  
	if [ -f /etc/rc.d/$SYSLOG -a -x /etc/rc.d/$SYSLOG ]; then
		/etc/rc.d/$SYSLOG start &> /dev/null
	fi	
fi

if [ "$RUNLEVEL" = "1" ]; then
	# Enter single-user mode
	exec /sbin/init -t1 S
fi

# End of file

Added core/readline/Pkgfile.































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# Description: Lets users edit command lines as they are typed in
# URL:         http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html
# Maintainer:  CRUX System Team, core-ports at crux dot nu
# Depends on:  ncurses

name=readline
version=6.2.1
release=1
source=(http://ftp.gnu.org/gnu/$name/$name-${version::3}.tar.gz \
        $name-$version.patch.gz inputrc)

build() {
    cd $name-${version::3}

    gunzip -c $SRC/$name-$version.patch.gz | patch -p0

    # Don't use rpath for linking the shared libs
    sed -i '117s/-Wl,-rpath,$(libdir)//' support/shobj-conf

    ./configure --prefix=/usr --mandir=/usr/man
    make SHLIB_LIBS=-lncurses
    make DESTDIR=$PKG install

    install -d $PKG/lib
    mv $PKG/usr/lib/lib*.so.* $PKG/lib
    ln -sf ../../lib/libhistory.so.${version::3} $PKG/usr/lib/libhistory.so
    ln -sf ../../lib/libreadline.so.${version::3} $PKG/usr/lib/libreadline.so

    install -D -m 644 $SRC/inputrc $PKG/etc/inputrc
    rm -r $PKG/usr/share/info
}

Added core/readline/inputrc.





















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#
# /etc/inputrc - global inputrc for readline(3)
#

set input-meta on
set output-meta on
set convert-meta off

"\e[1~": beginning-of-line
"\e[2~": yank
"\e[3~": delete-char
"\e[4~": end-of-line
"\e[5~": beginning-of-history
"\e[6~": end-of-history

"\ep": history-search-backward
"\en": history-search-forward

$if term=xterm
"\e[7~": beginning-of-line
"\e[8~": end-of-line
"\e[H": beginning-of-line
"\e[F": end-of-line
$endif

# End of file

Added core/readline/readline-6.2.1.patch.gz.

cannot compute difference between binary files

Added core/reiserfsprogs/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Filesystem utilities for ReiserFS
# URL:         http://www.kernel.org/pub/linux/utils/fs/reiserfs/README
# Maintainer:  CRUX System Team, core-ports at crux dot nu
# Depends on:  util-linux-ng

name=reiserfsprogs
version=3.6.21
release=1
source=(http://crux.nu/files/$name-$version.tar.bz2)

build () {
    cd $name-$version
    ./configure --prefix=/ --mandir=/usr/man
    make
    make DESTDIR=$PKG install
    ln -s reiserfsck $PKG/sbin/fsck.reiserfs
    ln -s mkreiserfs $PKG/sbin/mkfs.reiserfs
}

Added core/rsync/Pkgfile.

























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# Description: Utility for incremental file transfers over networks
# URL:         http://rsync.samba.org
# Maintainer:  CRUX System Team, core-ports at crux dot nu
# Depends on:  acl

name=rsync
version=3.0.9
release=1
source=(http://rsync.samba.org/ftp/$name/src/$name-$version.tar.gz \
        rsyncd.conf rsyncd rsync.driver)

build () {
    cd $name-$version

    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --with-rsh=ssh \
                --with-included-popt

    make
    make DESTDIR=$PKG install

    install -d $PKG/etc/{rc.d,ports/drivers} $PKG/var/log
    install -m 755 $SRC/rsyncd $PKG/etc/rc.d
    install -m 644 $SRC/rsyncd.conf $PKG/etc
    install -m 755 $SRC/rsync.driver $PKG/etc/ports/drivers/rsync
    touch $PKG/var/log/rsyncd.log
}

Added core/rsync/rsync.driver.































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
#!/usr/bin/perl
#
# /etc/ports/drivers/rsync: rsync(1) driver script for ports(8)
#

use warnings;
use strict;
use File::Basename;

my $host = '';
my $collection = '';
my $destination = '';
my %new_checkouts;
my %old_checkouts;

sub error
{
	my $message = shift;
	print "Error: $message ($!)\nUpdating failed\n";
	exit 1;
}

sub warning
{
	my $message = shift;
	print "Warning: $message ($!)\n";
}

if ($#ARGV < 0)
{
	print "Usage: $0 <file>\n";
	exit 1;
}

open(FILE, $ARGV[0]) or error("Couldn't open $ARGV[0]");
while (<FILE>)
{
	chomp;
	if    (/^host=(.*)/)        { $host = $1; }
	elsif (/^collection=(.*)/)  { $collection = $1; }
	elsif (/^destination=(.*)/) { $destination = $1; }
}
close(FILE);

if ($host eq '')        { error("Host field not set in $ARGV[0]");        }
if ($collection eq '')  { error("Collection field not set in $ARGV[0]");  }
if ($destination eq '') { error("Destination field not set in $ARGV[0]"); }

if (-e "$destination/.checkouts")
{
	# read the old .checkouts file into memory
	open(FILE, "$destination/.checkouts") or error("Couldn't read checkouts from $destination/.checkouts");
	while (<FILE>)
	{
		chomp;
		$old_checkouts{$_} = 1;
	}
	close(FILE);
}

print "Updating file list from " . $host . "::$collection\n";

# get the remote file list (new .checkouts)
open(PIPE, 'rsync -crz ' . $host . '::' . $collection . '|') or error("Couldn't open pipe to rsync");
while (<PIPE>)
{
	chomp;

	next if /^MOTD:/;	# ignore MOTD lines
	s/^(.{43})//;		# ignore the first 43 characters (mode, date etc...)
	next if /^.$/;		# ignore the . directory

	$new_checkouts{$_} = 1;
}
close(PIPE);
error("Running rsync failed") unless $? == 0;

print "Updating collection " . basename($destination) . "\n";

# now really run rsync
open(PIPE, 'rsync -crz --log-format "%o %n" ' . $host . "::$collection $destination|") or error("Couldn't open pipe to rsync");
while (<PIPE>)
{
	chomp;

	if (/^recv (.*)/)
	{
		if ($old_checkouts{$1})
		{
			s/^recv/ Edit/;
		}
		else
		{
			s/^recv/ Checkout/;
		}
	}

	print $_ . "\n";
}
close(PIPE);
error("Running rsync failed") unless $? == 0;

# save new checkouts into .checkouts
open(FILE, ">$destination/.checkouts") or error("Couldn't save checkouts to $destination/.checkouts");
foreach my $checkout (sort keys %new_checkouts)
{
	print FILE "$checkout\n";
}
close(FILE);

# use chroot as an additional safety measure when removing files
chroot($destination) or error("Couldn't chroot into $destination");
chdir('/');

# iterate through old checkouts, remove obsolete files
foreach my $checkout (sort keys %old_checkouts)
{
	if (!$new_checkouts{$checkout})
	{
		if (-f $checkout)
		{
			print " Delete $checkout\n";
			unlink($checkout) or warning("Couldn't delete $checkout");
		}
	}
}

# iterate through old checkouts, remove obsolete directories
foreach my $checkout (sort keys %old_checkouts)
{
	if (!$new_checkouts{$checkout})
	{
		if (-d $checkout)
		{
			print " Delete $checkout\n";
			rmdir($checkout) or warning("Couldn't delete $checkout");
		}
	}
}

print "Finished successfully\n";

# End of file

Added core/rsync/rsyncd.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/bin/sh
#
# /etc/rc.d/rsyncd: start/stop rsyncd daemon
#

case $1 in
start)
	/usr/bin/rsync --daemon
	;;
stop)
	kill `cat /var/run/rsyncd.pid`
	;;
restart)
	$0 stop
	sleep 2
	$0 start
	;;
*)
	echo "usage: $0 [start|stop|restart]"
	;;
esac

# End of file

Added core/rsync/rsyncd.conf.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#
# /etc/rsyncd.conf
#

pid file = /var/run/rsyncd.pid
log file = /var/log/rsyncd.log

[test]
   path = /tmp
   comment = test share for rsyncd
   hosts allow = 192.168.0.0/24
   read only = true
   use chroot = true

# End of file

Added core/sed/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: Sed - streams editor
# URL:         http://www.gnu.org/software/sed//sed.html
# Maintainer:  CRUX System Team, core-ports at crux dot nu
# Depends on:  acl

name=sed
version=4.2.1
release=1
source=(http://ftp.gnu.org/gnu/$name/$name-$version.tar.bz2)

build() {
    cd $name-$version
    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --exec-prefix=/ \
                --disable-nls
    make
    make DESTDIR=$PKG install
    rm -r $PKG/usr/share
}

Added core/shadow/Pkgfile.































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# Description: Shadow password file utilities
# URL:         http://pkg-shadow.alioth.debian.org/
# Maintainer:  CRUX System Team, core-ports at crux dot nu
# Depends on:  acl

name=shadow
version=4.1.5
release=2
source=(http://pkg-shadow.alioth.debian.org/releases/$name-$version.tar.bz2
        pwck login.defs
        $name-$version-{copydir,nscd}.patch)

build() {
    cd $name-$version
   
    patch -p2 -i $SRC/$name-$version-copydir.patch
    patch -p2 -i $SRC/$name-$version-nscd.patch

    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --sysconfdir=/etc \
                --disable-shared \
                --disable-shadowgrp \
                --disable-nls \
                --without-selinux \
                --without-libpam \
                --without-audit

    make
    make DESTDIR=$PKG install

    install -d $PKG/etc/cron/daily $PKG/var/log
    install -m 644 $SRC/login.defs $PKG/etc
    install -m 755 $SRC/pwck $PKG/etc/cron/daily
    mv $PKG/bin/{su,groups} $PKG/usr/bin
    touch $PKG/var/log/{lastlog,faillog}

    rm -r $PKG/usr/bin/gpasswd \
          $PKG/usr/man/man1/gpasswd.1 \
          $PKG/usr/sbin/{chpasswd,grpconv,grpunconv,logoutd} \
          $PKG/usr/sbin/{newusers,pwconv,pwunconv} \
          $PKG/usr/man/man8/{chpasswd.8,grpconv.8,grpunconv.8,logoutd.8} \
          $PKG/usr/man/man8/{newusers.8,pwconv.8,pwunconv.8} \
          $PKG/usr/man/man5/gshadow.5 \
          $PKG/usr/man/man3 \
          $PKG/etc/{login.access,limits,default}
}

Added core/shadow/login.defs.





































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#
# /etc/login.defs: login configuration, see login.defs(5)
#

FAIL_DELAY		0
FAILLOG_ENAB		yes
LOG_UNKFAIL_ENAB	no
LOG_OK_LOGINS		no
LASTLOG_ENAB		yes
MAIL_CHECK_ENAB		yes
OBSCURE_CHECKS_ENAB	yes
QUOTAS_ENAB		no
SYSLOG_SU_ENAB		yes
SYSLOG_SG_ENAB		yes
CONSOLE			/etc/securetty
MOTD_FILE		/etc/motd
FTMP_FILE		/var/log/btmp
NOLOGINS_FILE		/etc/nologin
SU_NAME			su
MAIL_DIR		/var/spool/mail
HUSHLOGIN_FILE		.hushlogin
ENV_HZ			HZ=100
ENV_SUPATH		PATH=/sbin:/bin:/usr/sbin:/usr/bin
ENV_PATH		PATH=/bin:/usr/bin
TTYGROUP		tty
TTYPERM			0600
ERASECHAR		0177
KILLCHAR		025
UMASK			022
PASS_MAX_DAYS		99999
PASS_MIN_DAYS		0
PASS_MIN_LEN		5
PASS_WARN_AGE		7
SU_WHEEL_ONLY		no
UID_MIN			100
UID_MAX			60000
GID_MIN			100
GID_MAX			60000
LOGIN_RETRIES		5
LOGIN_TIMEOUT		60
PASS_CHANGE_TRIES	5
PASS_ALWAYS_WARN	yes
CHFN_AUTH		yes
CHFN_RESTRICT		rwh
ENCRYPT_METHOD		MD5
PASS_MAX_LEN		8
DEFAULT_HOME		yes
USERGROUPS_ENAB 	no

# End of file

Added core/shadow/pwck.



















>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
#!/bin/sh
#
# /etc/cron/daily/pwck: verify integrity of password and group files
#

/usr/sbin/pwck -r
/usr/sbin/grpck -r

# End of file

Added core/shadow/shadow-4.1.5-copydir.patch.

























>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
# http://anonscm.debian.org/viewvc/pkg-shadow?view=revision&sortby=date&revision=3706

--- upstream/trunk/libmisc/copydir.c	2011/12/09 22:13:02	3655
+++ upstream/trunk/libmisc/copydir.c	2012/02/13 19:16:29	3706
@@ -46,6 +46,7 @@
 #include <selinux/selinux.h>
 #endif				/* WITH_SELINUX */
 #if defined(WITH_ACL) || defined(WITH_ATTR)
+#include <stdarg.h>
 #include <attr/error_context.h>
 #endif				/* WITH_ACL || WITH_ATTR */
 #ifdef WITH_ACL

Added core/shadow/shadow-4.1.5-nscd.patch.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# http://anonscm.debian.org/viewvc/pkg-shadow?view=revision&revision=3709

--- upstream/trunk/lib/nscd.c	2011/10/18 20:16:00	3519
+++ upstream/trunk/lib/nscd.c	2012/02/13 20:09:59	3709
@@ -39,8 +39,11 @@
 		/* nscd is not installed, or it is installed but uses an
 		   interpreter that is missing.  Probably the former. */
 		return 0;
+	} else if (code == 1) {
+		/* nscd is installed, but it isn't active. */
+		return 0;
 	} else if (code != 0) {
-		(void) fprintf (stderr, _("%s: nscd exited with status %d"),
+		(void) fprintf (stderr, _("%s: nscd exited with status %d\n"),
 		                Prog, code);
 		(void) fprintf (stderr, _(MSG_NSCD_FLUSH_CACHE_FAILED), Prog);
 		return -1;

Added core/sudo/Pkgfile.



























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# Description: Sudo (superuser do)
# URL:         http://www.sudo.ws/sudo/
# Maintainer:  CRUX System Team, core-ports at crux dot nu
# Depends on:  zlib

name=sudo
version=1.8.4p4
release=1
source=(http://www.sudo.ws/$name/dist/$name-$version.tar.gz)

build() {
    cd $name-$version

    ./configure --prefix=/usr \
                --libexecdir=/usr/lib \
                --mandir=/usr/man \
                --with-logfac=auth \
                --with-timedir=/var/lib/sudo \
                --without-pam \
                --disable-nls

    make
    make DESTDIR=$PKG install

    chmod 0755 $PKG/{var,var/lib}
    rm -r $PKG/usr/share
    ln -sf sudo $PKG/usr/bin/sudoedit
    ln -sf sudo.8.gz $PKG/usr/man/man8/sudoedit.8
}

Added core/sysfsutils/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: System Utilities Based on Sysfs
# URL: http://linux-diag.sourceforge.net/Sysfsutils.html
# Maintainer:  CRUX System Team, core-ports at crux dot nu
# Packager: Daniel Mueller, daniel at danm dot de

name=sysfsutils
version=2.1.0
release=1
source=(http://downloads.sourceforge.net/project/linux-diag/$name/$version/$name-$version.tar.gz)

build() {
    cd $name-$version
    ./configure --prefix=/usr
    make
    make DESTDIR=$PKG install
    rm -f $PKG/usr/bin/dlist_test
}

Added core/sysklogd/Pkgfile.



































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# Description: Kernel and system logging daemons
# URL:         http://www.infodrom.org/projects/sysklogd/
# Maintainer:  CRUX System Team, core-ports at crux dot nu

name=sysklogd
version=1.5
release=4
source=(http://www.ibiblio.org/pub/Linux/system/daemons/$name-$version.tar.gz \
        rotatelog syslog syslog.conf sysklogd)

build() {
    cd $name-$version

    # don't try to fclose(NULL)
    sed -i -e '192d' ksym_mod.c

    mkdir -p $PKG/usr/sbin \
             $PKG/etc/{cron/weekly,rc.d} \
             $PKG/var/log \
             $PKG/usr/man/{man5,man8}

    make RPM_OPT_FLAGS="$CFLAGS" all
    make BINDIR=$PKG/usr/sbin MANDIR=$PKG/usr/man install

    install -m 755 $SRC/rotatelog $PKG/usr/sbin
    install -m 755 $SRC/syslog $PKG/etc/cron/weekly
    install -m 644 $SRC/syslog.conf $PKG/etc
    install -m 755 $SRC/sysklogd $PKG/etc/rc.d

    chmod -R +w $PKG
    touch $PKG/var/log/{messages,auth,mail,cron,kernel,debug}
    chmod 640 $PKG/var/log/{messages,auth,mail,cron,kernel,debug}
}

Added core/sysklogd/rotatelog.























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/bin/sh
#
# /usr/sbin/rotatelog: rotate logfile
#

if [ "$1" = "" ]; then
    echo "usage : `basename $0` <logfile>"
    exit 1
fi

if [ ! -f /var/log/$1 ]; then
    echo "`basename $0`: /var/log/$1 not found"
    exit 1
fi

[ -f /var/log/old/$1.9 ] && rm /var/log/old/$1.9
[ -f /var/log/old/$1.8 ] && mv /var/log/old/$1.8 /var/log/old/$1.9
[ -f /var/log/old/$1.7 ] && mv /var/log/old/$1.7 /var/log/old/$1.8
[ -f /var/log/old/$1.6 ] && mv /var/log/old/$1.6 /var/log/old/$1.7
[ -f /var/log/old/$1.5 ] && mv /var/log/old/$1.5 /var/log/old/$1.6
[ -f /var/log/old/$1.4 ] && mv /var/log/old/$1.4 /var/log/old/$1.5
[ -f /var/log/old/$1.3 ] && mv /var/log/old/$1.3 /var/log/old/$1.4
[ -f /var/log/old/$1.2 ] && mv /var/log/old/$1.2 /var/log/old/$1.3
[ -f /var/log/old/$1.1 ] && mv /var/log/old/$1.1 /var/log/old/$1.2
[ -f /var/log/$1 ] && (cp /var/log/$1 /var/log/old/$1.1; echo -n "" > /var/log/$1)

# End of file

Added core/sysklogd/sysklogd.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/bin/sh
#
# /etc/rc.d/sysklogd: start/stop sysklogd logging daemons
#

case $1 in
start)
	/usr/sbin/syslogd
	/usr/sbin/klogd -c 4
	;;
stop)
	/usr/bin/killall syslogd
	/usr/bin/killall klogd
	;;
restart)
	$0 stop
	sleep 2
	$0 start
	;;
*)
	echo "usage: $0 [start|stop|restart]"
	;;
esac

Added core/sysklogd/syslog.



























>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
#!/bin/sh
#
# /etc/cron/weekly/syslog: rotate log files
#

/usr/sbin/rotatelog auth
/usr/sbin/rotatelog cron
/usr/sbin/rotatelog debug
/usr/sbin/rotatelog kernel
/usr/sbin/rotatelog mail
/usr/sbin/rotatelog messages

# End of file

Added core/sysklogd/syslog.conf.



























>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
#
# /etc/syslog.conf
#

*.emerg						*
kern.*						/var/log/kernel
authpriv,auth.info				/var/log/auth
mail.info					/var/log/mail
cron.info					/var/log/cron
*.info;authpriv,auth,mail,cron,kern.none	/var/log/messages
*.=debug;kern.none				/var/log/debug

# End of file

Added core/sysvinit/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: The Linux System V Init
# URL:         https://savannah.nongnu.org/projects/sysvinit/
# Maintainer:  CRUX System Team, core-ports at crux dot nu

name=sysvinit
version=2.88
release=1
source=(http://download.savannah.gnu.org/releases/$name/$name-${version}dsf.tar.bz2)

build() {
    cd $name-${version}dsf
    make
    make ROOT=$PKG MANDIR=/usr/man install
    install -d $PKG/var/log
    touch $PKG/var/log/wtmp
    touch $PKG/var/log/btmp
    chmod 0600 $PKG/var/log/btmp
}

Added core/tar/Pkgfile.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Description: GNU tar
# URL:         http://www.gnu.org/software/tar/tar.html
# Maintainer:  CRUX System Team, core-ports at crux dot nu

name=tar
version=1.26
release=1
source=(http://ftp.gnu.org/gnu/$name/$name-$version.tar.xz \
        $name-rootp.patch tar.1 rmt.8)

build() {
    cd $name-$version
    patch -p1 -i $SRC/$name-rootp.patch
    ./configure --prefix= \
                --libexec=/usr/lib/tar \
                --disable-nls \
                FORCE_UNSAFE_CONFIGURE=1
    make
    make DESTDIR=$PKG install
    rm -rf $PKG/{sbin,share}
    install -D -m 644 $SRC/tar.1 $PKG/usr/man/man1/tar.1
    install -D -m 644 $SRC/rmt.8 $PKG/usr/man/man8/rmt.8
}

Added core/tar/rmt.8.































































































































































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
.\" Copyright (c) 1983, 1991, 1993
.\"	The Regents of the University of California.  All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in the
.\"    documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\"    must display the following acknowledgement:
.\"	This product includes software developed by the University of
.\"	California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\"    may be used to endorse or promote products derived from this software
.\"    without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\"     @(#)rmt.8	8.2 (Berkeley) 12/11/93
.\"
.Dd December 11, 1993
.Dt RMT 8
.Os BSD 4.2
.Sh NAME
.Nm rmt
.Nd remote magtape protocol module
.Sh SYNOPSIS
.Nm rmt
.Sh DESCRIPTION
.Nm Rmt
is a program used by tar, cpio, mt, and the remote dump and restore
programs in manipulating a magnetic tape drive through an interprocess
communication connection.
.Nm Rmt
is normally started up with an
.Xr rexec 3
or
.Xr rcmd 3
call or the
.Xr rsh 1
command.
.Pp
The 
.Nm rmt
program accepts requests specific to the manipulation of
magnetic tapes, performs the commands, then responds with
a status indication.  All responses are in
.Tn ASCII
and in
one of two forms. 
Successful commands have responses of:
.Bd -filled -offset indent
.Sm off
.Sy A Ar number No \en
.Sm on
.Ed
.Pp
.Ar Number
is an
.Tn ASCII
representation of a decimal number.
Unsuccessful commands are responded to with:
.Bd -filled -offset indent
.Sm off
.Xo Sy E Ar error-number
.No \en Ar error-message
.No \en
.Xc
.Sm on
.Ed
.Pp
.Ar Error-number
is one of the possible error
numbers described in
.Xr intro 2
and
.Ar error-message
is the corresponding error string as printed
from a call to
.Xr perror 3 .
The protocol is comprised of the
following commands, which are sent as indicated - no spaces are supplied
between the command and its arguments, or between its arguments, and
.Ql \en
indicates that a newline should be supplied:
.Bl -tag -width Ds
.Sm off
.It Xo Sy \&O Ar device
.No \en Ar mode No \en
.Xc
Open the specified 
.Ar device
using the indicated
.Ar mode .
.Ar Device
is a full pathname and
.Ar mode
is an
.Tn ASCII
representation of a decimal
number suitable for passing to
.Xr open 2 .
If a device had already been opened, it is
closed before a new open is performed.
.It Xo Sy C Ar device No \en
.Xc
Close the currently open device.  The
.Ar device
specified is ignored.
.It Xo Sy L
.Ar offset No \en
.Ar whence No \en
.Xc
.Sm on
Perform an
.Xr lseek 2
operation using the specified parameters.
The response value is that returned from the
.Xr lseek
call.
.Sm off
.It Sy W Ar count No \en
.Sm on
Write data onto the open device.
.Nm Rmt
reads
.Ar count
bytes from the connection, aborting if
a premature end-of-file is encountered.
The response value is that returned from
the
.Xr write 2
call.
.Sm off
.It Sy R Ar count No \en
.Sm on
Read
.Ar count
bytes of data from the open device.
If
.Ar count
exceeds the size of the data buffer (10 kilobytes), it is
truncated to the data buffer size.
.Nm rmt
then performs the requested 
.Xr read 2
and responds with 
.Sm off
.Sy A Ar count-read No \en
.Sm on
if the read was
successful; otherwise an error in the
standard format is returned.  If the read
was successful, the data read is then sent.
.Sm off
.It Xo Sy I Ar operation
.No \en Ar count No \en
.Xc
.Sm on
Perform a
.Dv MTIOCOP
.Xr ioctl 2
command using the specified parameters.
The parameters are interpreted as the
.Tn ASCII
representations of the decimal values
to place in the 
.Ar mt_op
and
.Ar mt_count
fields of the structure used in the
.Xr ioctl
call.  The return value is the
.Ar count
parameter when the operation is successful.
.It Sy S
Return the status of the open device, as
obtained with a
.Dv MTIOCGET
.Xr ioctl
call.  If the operation was successful,
an ``ack'' is sent with the size of the
status buffer, then the status buffer is
sent (in binary).
.El
.Sm on
.Pp
Any other command causes 
.Nm rmt
to exit.
.Sh DIAGNOSTICS
All responses are of the form described above.
.Sh SEE ALSO
.Xr tar 1 ,
.Xr cpio 1 ,
.Xr mt 1 ,
.Xr rsh 1 ,
.Xr rcmd 3 ,
.Xr rexec 3 ,
.Xr mtio 4 ,
.Xr rdump 8 ,
.Xr rrestore 8
.Sh BUGS
People should be discouraged from using this for a remote
file access protocol.
.Sh HISTORY
The
.Nm
command appeared in
.Bx 4.2 .

Added core/tar/tar-rootp.patch.

























>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
diff -Nru tar-1.18.orig/src/extract.c tar-1.18/src/extract.c
--- tar-1.18.orig/src/extract.c	2007-07-05 08:19:23.000000000 +0200
+++ tar-1.18/src/extract.c	2007-07-05 08:19:37.000000000 +0200
@@ -113,8 +113,6 @@
 extr_init (void)
 {
   we_are_root = geteuid () == 0;
-  same_permissions_option += we_are_root;
-  same_owner_option += we_are_root;
 
   /* Option -p clears the kernel umask, so it does not affect proper
      restoration of file permissions.  New intermediate directories will

Added core/tar/tar.1.











































































































































































































































































































































































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
.\" @(#)tar.1 1.11.1 93/19/22 PJV;
.TH TAR 1 "15 May 2006"
.SH NAME
tar \- The GNU version of the tar archiving utility
.SH SYNOPSIS
.B tar
[
.B \-
]
.B A \-\-catenate \-\-concatenate \||\| c \-\-create \||\| d \-\-diff \-\-compare \||\| \-\-delete \||\| r \-\-append \||\| t \-\-list \||\| u \-\-update \||\| x \-\-extract \-\-get
.I [ options ]
.I pathname [ pathname ... ] 
.SH DESCRIPTION
.LP
This manual page documents the GNU version of
.B tar
, an archiving program designed to store and extract files from 
an archive file known as a 
.IR tarfile.
A 
.IR tarfile 
may be made on a tape drive, however, it is also common
to write a
.IR tarfile
to a normal file. 
The first argument to 
.B tar
must be one of the options:
.BR Acdrtux ,
followed by any optional functions.
The final arguments to 
.B tar
are the names of the files or directories which should be archived. The use
of a directory name always implies that the subdirectories below should be
included in the archive.
.SH EXAMPLES
.TP
.B tar \-xvvf foo.tar
extract foo.tar
.TP
.B tar \-xvvzf foo.tar.gz
extract gzipped foo.tar.gz
.TP
.B tar \-cvvf foo.tar foo/
tar contents of folder foo in foo.tar
.SH "FUNCTION LETTERS"
.TP
.B One of the following options must be used:
.TP
.B \-A, \-\-catenate, \-\-concatenate
append tar files to an archive
.TP
.B \-c, \-\-create	
create a new archive
.TP
.B \-d, \-\-diff, \-\-compare
find differences between archive and file system
.TP
.B \-\-delete		
delete from the archive (not for use on mag tapes!)
.TP
.B \-r, \-\-append		
append files to the end of an archive
.TP
.B \-t, \-\-list		
list the contents of an archive
.TP
.B \-u, \-\-update		
only append files that are newer than copy in archive
.TP
.B \-x, \-\-extract, \-\-get		
extract files from an archive
.SH "OTHER OPTIONS"
.TP
.B \-\-allow\-name\-mangling
re-enable handling of GNUTYPE_NAMES which is now disabled by default
.TP
.B \-\-anchored	
force exclusion patterns to match initial subsequences
.TP
.B \-\-atime\-preserve	
don't change access times on dumped files
.TP
.B \-b, \-\-blocking\-factor N
use record size of Nx512 bytes (default N=20)
.TP
.B \-B, \-\-read\-full\-records
reblock as we read (for reading 4.2BSD pipes)
.TP
.B \-\-backup[\=TYPE]
back up files instead of overwriting (TYPE=numbered, existing, simple)
.TP 
.B \-C, \-\-directory DIR	
change to directory DIR
.TP 
.B \-\-checkpoint		
print periodic checkpoints
.TP
.B \-\-exclude=PATTERN
exclude files matching PATTERN
.TP
.B \-f, \-\-file [HOSTNAME:]F	
use archive file or device F (default "\-", meaning stdin/stdout)
.TP 
.B \-F, \-\-info\-script F, \-\-new\-volume\-script F 
run script at end of each tape (implies \-M)
.TP
.B \-\-force\-local		
archive file is local even if it has a colon
.TP
.B \-G, \-\-incremental	
create/list/extract old GNU-format incremental backup
.TP
.B \-g, \-\-listed\-incremental F 
create/list/extract new GNU-format incremental backup
.TP
.B \-\-group G
set group to G while adding files
.TP 
.B \-h, \-\-dereference	
don't dump symlinks; dump the files they point to
.TP
.B \-\-help
print help message
.TP
.B \-i, \-\-ignore\-zeros	
ignore blocks of zeros in archive (normally mean EOF)
.TP
.B \-\-ignore\-case
ignore case when excluding files
.TP
.B \-\-ignore\-failed\-read	
don't exit with non-zero status on unreadable files
.TP
.B \-j, \-\-bzip2
filter archive through bzip2, use to decompress .bz2 files.
WARNING: some previous versions of tar used option \-I to 
filter through bzip2.  When writing scripts, use \-\-bzip2 
instead of \-j so that both older and newer tar versions
will work.
.TP
.B \-k, \-\-keep\-old\-files	
keep existing files; don't overwrite them from archive
.TP
.B \-K, \-\-starting\-file F	
begin at file F in the archive
.TP
.B \-l, \-\-check\-links
print a message if not all links are dumped
.TP
.B \-L, \-\-tape\-length N	
change tapes after writing N*1024 bytes
.TP
.B \-m, \-\-touch
don't extract file modified time
.TP
.B \-M, \-\-multi\-volume	
create/list/extract multi-volume archive
.TP
.B \-\-mode M
set permissions to M while adding files
.TP
.B \-N, \-\-after\-date DATE, \-\-newer DATE
only store files newer than DATE
.TP
.B \-\-newer\-mtime DATE
only store files whose contents have changed after DATE
.TP
.B \-\-no\-anchored
allow exclusion patterns to match any substring (the default)
.TP
.B \-\-no\-ignore\-case
match patterns case sensitively (the default)
.TP
.B \-\-no\-recursion
do not recurse into subdirectories
.TP
.B \-o, \-\-no\-same\-owner
extract files with owner set to current user (the default for non-root
users)
.TP
.B \-\-no\-same\-permissions
apply umask to extracted files (the default for non-root users)
.TP
.B \-\-no\-wildcards
do not use wildcards when excluding files
.TP
.B \-\-no\-wildcards\-match\-slash
don't let wildcards match "/" when excluding files
.TP
.B \-\-null
for \-T, use "NUL" instead of newline as filename terminator
.TP
.B \-\-numeric\-owner
always use numbers for user/group names
.TP
.B \-\-old\-archive, \-\-portability	
write a V7 format archive, rather than ANSI format.  These options are
deprecated, please use 
.B \-\-format\=v7
instead.
.TP
.B \-\-one\-file\-system	
stay in local file system when creating an archive
.TP
.B \-\-owner O
set owner to O while adding files
.TP 
.B \-O, \-\-to\-stdout		
extract files to standard output
.TP
.B \-p, \-\-same\-permissions, \-\-preserve\-permissions 
ignore umask when extracting files (the default for root)
.TP
.B \-P, \-\-absolute\-names
don't strip leading `/'s from file names
.TP
.B \-\-posix
create POSIX compliant archive.  This option is deprecated,
please use 
.B \-\-format\=posix
instead.
.TP
.B \-\-preserve		
like \-p \-s
.TP
.B \-R, \-\-block\-number	
show block number within archive with each message
.TP
.B \-\-record\-size SIZE
use SIZE bytes per record
.TP
.B \-\-recursion
recurse into directories (the default)
.TP
.B \-\-recursive\-unlink
remove existing directories before extracting directories of the same
name
.TP 
.B \-\-remove\-files		
remove files after adding them to the archive
.TP
.B \-\-rsh\-command=CMD
Use remote COMMAND instead of `rsh'.  This option exists so that
people who use something other than the standard `rsh' (e.g., a
Kerberized `rsh') can access a remote device.
.TP
.B \-S, \-\-sparse		
handle sparse files efficiently
.TP
.B \-s, \-\-same\-order, \-\-preserve\-order	
list of names to extract is sorted to match archive
.TP
.B \-\-same\-owner		
extract files with owner as specified in archive (the default for
root)
.TP
.B \-\-show\-omitted\-dirs
mention directories that are being skipped over
.TP
.B \-\-suffix SUFFIX
append SUFFIX to make backup files (default ~)
.TP 
.B \-T, \-\-files\-from F	
get names to extract or archive from file F
.TP
.B \-\-totals
display total bytes written after creating an archive
.TP
.B \-U, \-\-unlink\-first
unlink & recreate files instead of overwriting
.TP
.B \-\-use\-compress\-program PROG
filter the archive through PROG (which must accept \-d)
.TP
.B \-v, \-\-verbose		
verbosely list files processed
.TP
.B \-V, \-\-label NAME	
create archive with volume name NAME
.TP 
.B \-\-version		
print tar program version number
.TP
.B \-\-volno\-file F
keep track of current volume (of a multi-volume archive) in F
.TP
.B \-w, \-\-interactive, \-\-confirmation	
ask for confirmation for every action
.TP
.B \-W, \-\-verify		
attempt to verify the archive after writing it
.TP
.B \-\-wildcards
use wildcards when excluding files (the default)
.TP
.B \-\-wildcards\-match\-slash
allow wildcards to match "/" (the default)
.TP
.B \-X, \-\-exclude\-from=FILE	
exclude files matching patterns listed in FILE
.TP
.B \-Z, \-\-compress, \-\-uncompress      	
filter the archive through compress
.TP 
.B \-z, \-\-gzip, \-\-gunzip, \-\-ungzip		
filter the archive through gzip
.TP
.B \-[0\-7][lmh]		
specify drive and density
.SH BUGS
.LP
The GNU folks, in general, abhor man pages, and create info documents instead.
Unfortunately, the info document describing tar is licensed under the GFDL with
invariant cover texts, which violates the Debian Free Software Guidelines.  As
a result, the info documentation for tar is not included in the Debian package.

If you want to read the complete documentation for GNU tar, please refer to
the online version at <http://www.gnu.org/software/tar/manual/index.html>.

This man page was created for the Debian distribution.  It does not describe
all of the functionality of tar, and it is often out of date.  Patches to 
improve the coverage and/or accuracy of this man page are appreciated, and
should be filed as wishlist severity bugs against the Debian tar package, 
not submitted to the GNU tar maintainers.

Added core/tcp_wrappers/Pkgfile.







































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# Description: Monitors and Controls incoming TCP connections
# URL:         ftp://ftp.porcupine.org/pub/security/index.html
# Maintainer:  CRUX System Team, core-ports at crux dot nu

name=tcp_wrappers
version=7.6
release=10
source=(ftp://ftp.porcupine.org/pub/security/${name}_${version}.tar.gz
        ftp://ftp.uni-frankfurt.de/pub/Mirrors/gentoo.org/distfiles/tcp-wrappers-$version-patches-1.0.tar.bz2
        hosts.allow hosts.deny try-from.8 safe_finger.8)

build() {
    cd ${name}_${version}

    patch -p1 -i $SRC/$version/tcp-wrappers-$version-makefile.patch
    patch -p1 -i $SRC/$version/generic/01_all_redhat-bug11881.patch
    patch -p0 -i $SRC/$version/generic/02_all_redhat-bug17795.patch
    patch -p0 -i $SRC/$version/generic/03_all_wildcard.patch
    patch -p1 -i $SRC/$version/generic/04_all_fixgethostbyname.patch
    patch -p1 -i $SRC/$version/generic/07_all_sig.patch
    patch -p1 -i $SRC/$version/generic/08_all_strerror.patch
    patch -p1 -i $SRC/$version/generic/09_all_gcc-3.4.patch
    patch -p1 -i $SRC/$version/generic/10_all_more-headers.patch
    patch -p1 -i $SRC/$version/tcp-wrappers-$version-shared.patch
    patch -p2 -i $SRC/$version/tcp-wrappers-$version-ipv6-1.14.diff

    
    export GENTOO_OPT="-DHAVE_WEAKSYMS -DINET6=1 -Dss_family=__ss_family -Dss_len=__ss_len" 
    export RANLIB=ranlib 
    export MAJOR=0 MINOR=${version:0:1} REL=${version:2:3}
    make config-check
    make linux

    install -d $PKG/{etc,usr/{sbin,lib,include,man/{man3,man5,man8}}}

    install -m 0755 safe_finger tcpd tcpdchk tcpdmatch try-from $PKG/usr/sbin
    install -m 0644 tcpd.h $PKG/usr/include
    install -m 0644 libwrap.a $PKG/usr/lib
    cp --no-dereference --preserve=links libwrap.so* $PKG/usr/lib

    install -m 0644 *.3 $PKG/usr/man/man3
    install -m 0644 *.5 $PKG/usr/man/man5
    install -m 0644 $SRC/*.8 *.8 $PKG/usr/man/man8
    ln -s hosts_access.3.gz $PKG/usr/man/man3/hosts_ctl.3.gz
    ln -s hosts_access.3.gz $PKG/usr/man/man3/request_init.3.gz
    ln -s hosts_access.3.gz $PKG/usr/man/man3/request_set.3.gz
    ln -s hosts_access.5.gz $PKG/usr/man/man5/host.allow.5.gz
    ln -s hosts_access.5.gz $PKG/usr/man/man5/host.deny.5.gz

    install -m 0644 $SRC/hosts.{deny,allow} $PKG/etc
}

Added core/tcp_wrappers/hosts.allow.















>
>
>
>
>
>
>
1
2
3
4
5
6
7
#
# /etc/hosts.allow
#

# <service>: <ip>

# End of file

Added core/tcp_wrappers/hosts.deny.















>
>
>
>
>
>
>
1
2
3
4
5
6
7
#
# /etc/hosts.deny
#

ALL: ALL: DENY

# End of file

Added core/tcp_wrappers/safe_finger.8.





































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
.TH SAFE_FINGER 8 "21th June 1997" Linux "Linux Programmer's Manual"
.SH NAME
safe_finger \- finger client wrapper that protects against nasty stuff
from finger servers
.SH SYNOPSIS
.B safe_finger [finger_options]
.SH DESCRIPTION
The
.B safe_finger
command protects against nasty stuff from finger servers. Use this
program for automatic reverse finger probes from the
.B tcp_wrapper
.B (tcpd)
, not the raw finger command. The
.B safe_finger
command makes sure that the finger client is not run with root
privileges. It also runs the finger client with a defined PATH
environment.
.B safe_finger
will also protect you from problems caused by the output of some
finger servers. The problem: some programs may react to stuff in
the first column. Other programs may get upset by thrash anywhere
on a line. File systems may fill up as the finger server keeps
sending data. Text editors may bomb out on extremely long lines.
The finger server may take forever because it is somehow wedged.
.B safe_finger
takes care of all this badness.
.SH SEE ALSO
.BR hosts_access (5),
.BR hosts_options (5),
.BR tcpd (8)
.SH AUTHOR
Wietse Venema, Eindhoven University of Technology, The Netherlands.

Added core/tcp_wrappers/try-from.8.

























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
.TH TRY-FROM 8 "21th June 1997" Linux "Linux Programmer's Manual"
.SH NAME
try-from \- test program for the tcp_wrapper
.SH SYNOPSIS
.B try-from
.SH DESCRIPTION
The
.B try-from
command can be called via a remote shell command to find out
if the hostname and address are properly recognized
by the
.B tcp_wrapper
library, if username lookup works, and (SysV only) if the TLI
on top of IP heuristics work. Diagnostics are reported through
.BR syslog (3)
and redirected to stderr.

Example:

rsh host /some/where/try-from

.SH SEE ALSO
.BR hosts_access (5),
.BR hosts_options (5),
.BR tcpd (8)
.SH AUTHOR
Wietse Venema, Eindhoven University of Technology, The Netherlands.

Added core/time/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Measures many of the CPU resources that programs use
# URL:         http://www.gnu.org/software/time/
# Maintainer:  CRUX System Team, core-ports at crux dot nu

name=time
version=1.7
release=1
source=(http://ftp.gnu.org/gnu/$name/$name-$version.tar.gz $name.1)

build() {
    cd $name-$version
    ./configure --prefix=/usr
    make
    make prefix=$PKG/usr install
    rm -rf $PKG/usr/info
    mkdir -p $PKG/usr/man/man1
    cp ../$name.1 $PKG/usr/man/man1
}

Added core/time/time.1.





























































































































































































































































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
.\" Copyright Andries Brouwer, 2000
.\"
.\" This page is distributed under GPL.
.\" Some fragments of text came from the time-1.7 info file.
.\" Inspired by kromJx@crosswinds.net.
.\"
.TH TIME 1 "11 December 2000" "" ""
.SH NAME
time \- time a simple command or give resource usage
.SH SYNOPSIS
.BI "time [" options "] " command " [" arguments... "] "
.SH DESCRIPTION
The
.B time
command runs the specified program
.I command
with the given arguments.
When
.I command
finishes,
.B time
writes a message to standard output giving timing statistics
about this program run.
These statistics consist of (i) the elapsed real time
between invocation and termination, (ii) the user CPU time
(the sum of the
.I tms_utime
and
.I tms_cutime
values in a
.I "struct tms"
as returned by
.BR times (2)),
and (iii) the system CPU time (the sum of the
.I  tms_stime
and
.I tms_cstime
values in a
.I "struct tms"
as returned by
.BR times (2)).
.SH OPTION
.TP
.B \-p
When in the POSIX locale, use the precise traditional format
.br
.in +5
"real %f\enuser %f\ensys %f\en"
.in -5
.br
(with numbers in seconds)
where the number of decimals in the output for %f is unspecified
but is sufficient to express the clock tick accuracy, and at least one.
.SH ENVIRONMENT
The variables LANG, LC_ALL, LC_CTYPE, LC_MESSAGES, LC_NUMERIC,
NLSPATH and PATH are used. The last one to search for
.IR command .
The remaining ones for the text and formatting of the output.
.SH "EXIT STATUS"
If
.I command
was invoked, the exit status is that of
.IR command .
Otherwise it is 127 if
.I command
could not be found, 126 if it could be found but could not be invoked,
and some other nonzero value (1-125) if something else went wrong.
.SH "SEE ALSO"
.BR times (2),
.sp 2
.SH "GNU VERSION"
Below a description of the GNU 1.7 version of
.BR time .
Disregarding the name of the utility, GNU makes it output lots of
useful information, not only about time used, but also on other
resources like memory, I/O and IPC calls (where available).
The output is formatted using a format string that can be specified
using the \-f option or the TIME environment variable.
.LP
The default format string is
.br
.in +3
%Uuser %Ssystem %Eelapsed %PCPU (%Xtext+%Ddata %Mmax)k
.br
%Iinputs+%Ooutputs (%Fmajor+%Rminor)pagefaults %Wswaps
.br
.in -3
.LP
When the \-p option is given the (portable) output format
.br
.in +3
real %e
.br
user %U
.br
sys %S
.br
.in -3
is used.
.SS "The format string"
The format is interpreted in the usual printf-like way.
Ordinary characters are directly copied, tab, newline
and backslash are escaped using \et, \en and \e\e,
a percent sign is represented by %%, and otherwise %
indicates a conversion. The program
.B time
will always add a trailing newline itself.
The conversions follow. All of those used by
.BR tcsh (1)
are supported.
.LP
.B "Time"
.TP
.B %E
Elapsed real time (in [hours:]minutes:seconds).
.TP
.B %e
(Not in tcsh.) Elapsed real time (in seconds).
.TP
.B %S
Total number of CPU-seconds that the process spent in kernel mode.
.TP
.B %U
Total number of CPU-seconds that the process spent in user mode.
.TP
.B %P
Percentage of the CPU that this job got, computed as (%U + %S) / %E.
.LP
.B "Memory"
.TP
.B %M
Maximum resident set size of the process during its lifetime, in Kbytes.
.TP
.B %t
(Not in tcsh.) Average resident set size of the process, in Kbytes.
.TP
.B %K
Average total (data+stack+text) memory use of the process,
in Kbytes.
.TP
.B %D
Average size of the process's unshared data area, in Kbytes.
.TP
.B %p
(Not in tcsh.) Average size of the process's unshared stack space, in Kbytes.
.TP
.B %X
Average size of the process's shared text space, in Kbytes.
.TP
.B %Z
(Not in tcsh.) System's page size, in bytes.
This is a per-system constant, but varies between systems.
.TP
.B %F
Number of major page faults that occurred while the process was running.
These are faults where the page has to be read in from disk.
.TP
.B %R
Number of minor, or recoverable, page faults.
These are faults for pages that are not valid but which have
not yet been claimed by other virtual pages.  Thus the data
in the page is still valid but the system tables must be updated.
.TP
.B %W
Number of times the process was swapped out of main memory.
.TP
.B %c
Number of times the process was context-switched involuntarily
(because the time slice expired).
.TP
.B %w
Number of waits: times that the program was context-switched voluntarily,
for instance while waiting for an I/O operation to complete.
.LP
.B "I/O"
.TP
.B %I
Number of file system inputs by the process.
.TP
.B %O
Number of file system outputs by the process.
.TP
.B %r
Number of socket messages received by the process.
.TP
.B %s
Number of socket messages sent by the process.
.TP
.B %k
Number of signals delivered to the process.
.TP
.B %C
(Not in tcsh.) Name and command line arguments of the command being timed.
.TP
.B %x
(Not in tcsh.) Exit status of the command.
.SH "GNU OPTIONS"
.TP
.BI "\-f " FORMAT ", \-\-format=" FORMAT
Specify output format, possibly overriding the format specified
in the environment variable TIME.
.TP
.B "\-p, \-\-portability"
Use the portable output format.
.TP
.BI "\-o " FILE ", \-\-output=" FILE
Do not send the results to stderr, but overwrite the specified file.
.TP
.B "\-a, \-\-append"
(Used together with \-o.) Do not overwrite but append.
.TP
.B "\-v, \-\-verbose"
Give very verbose output about all the program knows about.
.SH "GNU STANDARD OPTIONS"
.TP
.B "\-\-help"
Print a usage message on standard output and exit successfully.
.TP
.B "\-V, \-\-version"
Print version information on standard output, then exit successfully.
.TP
.B "\-\-"
Terminate option list.
.SH BUGS
Not all resources are measured by all versions of Unix,
so some of the values might be reported as zero.
The present selection was mostly inspired by the data
provided by 4.2 or 4.3BSD.
.LP
GNU time version 1.7 is not yet localized.
Thus, it does not implement the POSIX requirements.
.LP
The environment variable TIME was badly chosen.
It is not unusual for systems like autoconf or make
to use environment variables with the name of a utility to override
the utility to be used. Uses like MORE or TIME for options to programs
(instead of program path names) tend to lead to difficulties.
.LP
It seems unfortunate that \-o overwrites instead of appends.
(That is, the \-a option should be the default.)
.LP
Mail suggestions and bug reports for GNU
.B time
to
.br
.I bug-utils@prep.ai.mit.edu
.br
Please include the version of
.B time ,
which you can get by running
.br
.I time --version
.br
and the operating system
and C compiler you used.
.SH "SEE ALSO"
.BR tcsh (1),
.BR times (2),
.BR wait3 (2)
.SH AUTHORS
.TP
.IP "David Keppel"
Original version
.IP "David MacKenzie"
POSIXization, autoconfiscation, GNU getoptization,
documentation, other bug fixes and improvements.
.IP "Arne Henrik Juul"
Helped with portability
.IP "Francois Pinard"
Helped with portability

Added core/traceroute/Pkgfile.





























>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# Description: A tool to trace the route of ip packets
# URL:         http://traceroute.sourceforge.net/
# Maintainer:  CRUX System Team, core-ports at crux dot nu

name=traceroute
version=2.0.18
release=1
source=(http://downloads.sourceforge.net/project/$name/$name/$name-$version/$name-$version.tar.gz)

build() {
    cd $name-$version
    make CFLAGS="$CFLAGS"
    make DESTDIR=$PKG prefix=/usr mandir=/usr/man install
}

Added core/udev/81-crux.rules.













>
>
>
>
>
>
1
2
3
4
5
6
#
# 81-crux.rules
# 

KERNEL=="fuse", ACTION=="add", RUN+="/bin/mount -t fusectl fusectl /sys/fs/fuse/connections"

Added core/udev/Pkgfile.









































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# Description: Userspace device management daemon
# URL: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html
# Maintainer: CRUX System Team, core-ports at crux dot nu

name=udev
version=175
release=2
source=(ftp://ftp.kernel.org/pub/linux/utils/kernel/hotplug/$name-$version.tar.bz2 \
        81-crux.rules start_udev)

build() {
    cd udev-$version

    ./configure --prefix=/usr \
                --sbindir=/sbin \
                --sysconfdir=/etc \
                --with-rootlibdir=/lib \
                --libexecdir=/lib/udev \
                --mandir=/usr/man \
                --disable-introspection \
                --disable-gudev \
                --disable-udev_acl \
                --disable-keymap \
                --enable-static \
                --enable-rule_generator

    make
    make install DESTDIR=$PKG

    mkdir -p $PKG/lib/{firmware,udev/devices/{pts,shm}}
    mkdir -p $PKG/{lib,sbin}
    
    # Symlink to udevd
    ln -s ../lib/udev/udevd $PKG/sbin/udevd

    # Populate nodes
    mknod -m 600 $PKG/lib/udev/devices/console c 5 1
    mknod -m 600 $PKG/lib/udev/devices/kmsg c 1 11
    mknod -m 666 $PKG/lib/udev/devices/null c 1 3
    mknod -m 666 $PKG/lib/udev/devices/zero c 1 5

    # Add CRUX items
    install -m 0755 $SRC/start_udev $PKG/sbin
    install -m 0644 $SRC/81-crux.rules $PKG/lib/udev/rules.d

    # Keep udevinfo for legacy support
    mkdir -p $PKG/usr/bin
    ln -s /sbin/udevadm $PKG/usr/bin/udevinfo

    # Remove junk
    rm -rf $PKG/usr/share/{gtk-,}doc
}

Added core/udev/start_udev.





































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/bin/sh

# - if /dev is not mounted - mount as a devtmpfs (CONFIG_DEVTMPFS=y) or tmpfs
# - if /dev is mounted (e.g. due to handover from initramfs or
#   CONFIG_DEVTMPFS_MOUNT=y), remount with specific options
# - some video drivers require exec access in /dev, thus it's set here
# - for completness, we add few sanity limits (2k non-empty files, 16k inodes)

UDEVOPTS="exec,nosuid,noatime,mode=0755,nr_blocks=2048,nr_inodes=16384"
if /bin/mountpoint -q /dev ; then
	/bin/mount -n -o remount,${UDEVOPTS} dev /dev
else
	if /bin/sed -n '/devtmpfs/q1' /proc/filesystems ; then
		UDEVFS=tmpfs
	else
		UDEVFS=devtmpfs
	fi
	/bin/mount -n -t $UDEVFS -o ${UDEVOPTS} dev /dev
fi

# make sure hotplugger is not set
echo > /proc/sys/kernel/hotplug

# since v155, udevd automatically copies /lib/udev/devices
# and creates /proc/{kcore,self/fd/{0,1,2}} symlinks

# launch udev daemon, make sure it's not running first
test -z "$(/bin/pidof -s udevd)" && /sbin/udevd --daemon

# coldplug devices and wait for the queue to be processed
/sbin/udevadm trigger --type=subsystems --action=add
/sbin/udevadm trigger --type=devices --action=add
/sbin/udevadm settle

Added core/unzip/Pkgfile.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Description: Decompress utility for zipfiles
# URL:         http://infozip.sourceforge.net/UnZip.html
# Maintainer:  CRUX System Team, core-ports at crux dot nu

name=unzip
version=6.0
release=2
source=(http://downloads.sourceforge.net/sourceforge/infozip/${name}${version//./}.tar.gz)

build() {
    cd ${name}${version//./}
    make -f unix/Makefile LOCAL_UNZIP="$CFLAGS" prefix=/usr linux_noasm
    make -f unix/Makefile prefix=$PKG/usr install
    ln -sf unzip $PKG/usr/bin/zipinfo
}

Added core/usbutils/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: pciutils-like utilities for USB
# URL:         https://github.com/gregkh/usbutils
# Maintainer:  CRUX System Team, core-ports at crux dot nu
# Depends on:  libusb

name=usbutils
version=005
release=1
source=(http://crux.s3.amazonaws.com/dist/$name-$version.tar.xz)

build() {
    cd $name-$version
    ./configure --prefix=/usr --mandir=/usr/man --disable-zlib
    make
    make DESTDIR=$PKG install
}

Added core/util-linux-ng/Pkgfile.























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# Description: Miscellaneous system utilities
# URL:         http://userweb.kernel.org/~kzak/util-linux/
# Maintainer:  CRUX System Team, core-ports at crux dot nu
# Depends on:  ncurses zlib

name=util-linux-ng
version=2.21.1
release=1
source=(http://ftp.kernel.org/pub/linux/utils/util-linux/v2.21/util-linux-$version.tar.xz)

build() {
    cd util-linux-$version

    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --disable-{nls,wall,mountpoint} \
                --enable-{write,raw,kill}
    make
    make DESTDIR=$PKG install

    install -d $PKG/{etc,var/{lib/libuuid,run/uuidd}}
    touch $PKG/etc/adjtime

    rm -r $PKG/usr/{share,man/ru}
    rm $PKG/sbin/{mkfs.bfs,mkfs.minix,fsck.minix}
    rm $PKG/usr/man/man8/{fsck.minix,mkfs.bfs,mkfs.minix}.8
}

Added core/vim/Pkgfile.



























































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# Description: Highly configurable text editor
# URL:         http://www.vim.org/
# Maintainer:  CRUX System Team, core-ports at crux dot nu
# Depends on:  ncurses acl

name=vim
version=7.3.470
release=1
source=(ftp://ftp.vim.org/pub/vim/unix/vim-7.3.tar.bz2
        http://crux.nu/files/distfiles/vim-7.3.001-050.xz
        http://crux.nu/files/distfiles/vim-7.3.051-102.xz
        http://crux.nu/files/distfiles/vim-7.3.103-154.xz
        http://crux.nu/files/distfiles/vim-7.3.155-198.xz
        http://crux.nu/files/distfiles/vim-7.3.199-260.xz
        http://crux.nu/files/distfiles/vim-7.3.261-303.xz
        http://crux.nu/files/distfiles/vim-7.3.304-353.xz
        http://crux.nu/files/distfiles/vim-7.3.354-401.xz
        http://crux.nu/files/distfiles/vim-7.3.402-470.xz)

build () {
    cd vim73/src

    unxz -c $SRC/vim-7.3.*.xz | patch -p0 -d $SRC/vim73

    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --with-vim-name=vim \
                --without-x \
                --disable-gui \
                --enable-multibyte \
                --disable-gpm \
                --disable-nls

    make VIMRTDIR= 
    make VIMRTDIR= DESTDIR=$PKG installvimbin installruntime installlinks

    mv $PKG/usr/share/vim/vimrc_example.vim $PKG/usr/share/vim/vimrc
    rm -r $PKG/usr/{man/man?/vimtutor*,share/vim/{tutor,macros}}
    rm $PKG/usr/share/vim/*/README.txt
    ln -sf vim $PKG/usr/bin/evim
    ln -sf /bin/vi $PKG/usr/bin/vi
    ln -sf vim.1.gz $PKG/usr/man/man1/ex.1.gz
    ln -sf vim.1.gz $PKG/usr/man/man1/vi.1.gz
    ln -sf vim.1.gz $PKG/usr/man/man1/rvim.1.gz
    ln -sf vim.1.gz $PKG/usr/man/man1/view.1.gz
    ln -sf vim.1.gz $PKG/usr/man/man1/rview.1.gz
    ln -sf vim.1.gz $PKG/usr/man/man1/gvim.1.gz

    ./configure --prefix=/ \
                --datarootdir=/usr/share \
                --with-vim-name=vi \
                --without-x \
                --disable-gui \
                --enable-multibyte \
                --disable-gpm \
                --disable-nls \
                --with-features=tiny

    make VIMRTDIR=
    make VIMRTDIR= DESTDIR=$PKG installvimbin
}

Added core/wget/Pkgfile.























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# Description: A network utility for downloading content from the Web
# URL:         http://www.gnu.org/software/wget/
# Maintainer:  CRUX System Team, core-ports at crux dot nu
# Depends on:  openssl

name=wget
version=1.13.4
release=1
source=(http://ftp.gnu.org/gnu/$name/$name-$version.tar.xz \
        wgetrc)

build() {
    cd $name-$version

    ./configure --prefix=/usr \
                --sysconfdir=/etc \
                --mandir=/usr/man \
                --disable-debug \
                --disable-nls \
                --with-ssl=openssl

    make
    make DESTDIR=$PKG install 
    install -D -m 644 $SRC/wgetrc $PKG/etc/wgetrc

    rm -r $PKG/usr/share
}

Added core/wget/wgetrc.











>
>
>
>
>
1
2
3
4
5
#
# /etc/wgetrc: wget(1) configuration
#

# End of file

Added core/which/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: Show full path of commands
# URL:         http://www.xs4all.nl/~carlo17/which/
# Maintainer:  CRUX System Team, core-ports at crux dot nu

name=which
version=2.20
release=1
source=(http://www.xs4all.nl/~carlo17/which/$name-$version.tar.gz)

build() {
    cd $name-$version
    ./configure --prefix=/usr --mandir=/usr/man
    make
    make DESTDIR=$PKG install
    rm -r $PKG/usr/share
}

Added core/xfsprogs/Pkgfile.























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# Description: Filesystem utilities for XFS
# URL:         http://oss.sgi.com/projects/xfs/
# Maintainer:  CRUX System Team, core-ports at crux dot nu
# Depends on:  util-linux-ng

name=xfsprogs
version=3.1.8
release=1
source=(ftp://oss.sgi.com/projects/xfs/cmd_tars/$name-$version.tar.gz)

build() {
    cd $name-$version

    export DEBUG=-DNDEBUG
    export OPTIMIZER=$CFLAGS

    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --disable-gettext
    make
    make DIST_ROOT=$PKG install install-dev

    rm $PKG/lib/libhandle.{a,la,so}
    ln -sf ../../lib/libhandle.so.1.0.3 $PKG/usr/lib/libhandle.so

    rm -r $PKG/usr/share
}

Added core/xz/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: Compression utility using the lzma algorithm, successor of lzma-utils
# URL:         http://tukaani.org/xz/
# Maintainer:  CRUX System Team, core-ports at crux dot nu

name=xz
version=5.0.3
release=1
source=(http://tukaani.org/xz/$name-$version.tar.bz2)

build() {
    cd $name-$version
    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --disable-nls 
    make
    make DESTDIR=$PKG install
    
    ln -s liblzma.so.$version $PKG/usr/lib/liblzma.so.0

    rm -r $PKG/usr/share
}

Added core/zip/Pkgfile.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Description: Compression and file packaging/archive utility
# URL:         http://infozip.sourceforge.net/Zip.html
# Maintainer:  CRUX System Team, core-ports at crux dot nu
# Depends on:  bzip2

name=zip
version=3.0
release=1
source=(http://downloads.sourceforge.net/sourceforge/infozip/${name}${version//./}.tar.gz)

build() {
    cd ${name}${version//./}
    make -f unix/Makefile LOCAL_ZIP="$CFLAGS" prefix=/usr generic
    make -f unix/Makefile INSTALL=install prefix=$PKG/usr install
}

Added core/zlib/Pkgfile.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Description: A compression/decompression Library
# URL:         http://www.zlib.net/
# Maintainer:  CRUX System Team, core-ports at crux dot nu

name=zlib
version=1.2.6
release=1
source=(http://www.zlib.net/$name-$version.tar.bz2)

build() {
    cd $name-$version
    ./configure --prefix=/usr
    make
    make DESTDIR=$PKG mandir=/usr/man install
}

Added opt-x86_64/README.



>
1
This is the opt ports repository for the x86_64 architecture.

Added opt-x86_64/amd64-essential-codecs/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: "Essential" x86_64 binary codecs for mplayer, xine, etc.
# URL: http://www.mplayerhq.hu/DOCS/codecs-status.html
# Maintainer:	Fredrik Rinnestam, fredrik at obra dot se
# Arch Maintainer: Fredrik Rinnestam, fredrik at obra dot se
# Packager: Matt Housh, jaeger at morpheus dot net

name=amd64-essential-codecs
version=20071007
release=2
source=(http://www3.mplayerhq.hu/MPlayer/releases/codecs/essential-amd64-$version.tar.bz2)

build() {
	cd essential-amd64-$version
	mkdir -p $PKG/usr/lib/codecs
	install -m 0644 * $PKG/usr/lib/codecs/
    rm -f $PKG/usr/lib/codecs/README
}

Added opt-x86_64/emacs/Pkgfile.



















































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# Description: an extensible, customizable, self-documenting real-time display editor
# URL: http://www.gnu.org/software/emacs/
# Maintainer: Antti Nykanen, aon at iki dot fi
# Arch Maintainer: Fredrik Rinnestam, fredrik at crux dot nu
# Depends on: xorg, libtiff, libungif, ctags, libpng

name=emacs
version=23.3
release=2
source=(http://ftp.gnu.org/gnu/$name/$name-23.3a.tar.gz
	$name-$version-etc-blacklist)

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--libexecdir=/usr/lib \
		--mandir=/usr/man \
		--localstatedir=/usr/lib/emacs/$version \
		--with-x \
		--without-makeinfo

	make
	make DESTDIR=$PKG install

	rm -rf $PKG/usr/share/info
	find $PKG/usr/share/emacs -name "*.el.gz" | while read file; do
		[ -f ${file%.gz}c ] && rm -f $file
	done

	rm $PKG/usr/bin/emacs-$version 
	rm $PKG/usr/{bin/{c,e}tags,man/man1/{c,e}tags.1}
	rm $PKG/usr/share/emacs/$version/lisp/{COPYING,calc/README.prev,nxml/TODO,{,term/,international/}README}

	for i in $(< $SRC/$name-$version-etc-blacklist); do
		rm -r $PKG/usr/share/emacs/$version/etc/$i
	done

	chown -R root:root $PKG
}

Added opt-x86_64/emacs/emacs-23.3-etc-blacklist.























































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
BABYL
CENSORSHIP
COOKIES
DEVEL.HUMOR
DISTRIB
ERC-NEWS
ETAGS.EBNF
ETAGS.README
FTP
GNU
GNUS-NEWS
INTERVIEW
JOKES
LINUX-GNU
MACHINES
MAILINGLISTS
MH-E-NEWS
MOTIVATION
NXML-NEWS
README
SERVICE
TERMS
condom.1
copying.paper
e
echo.msg
emacs-buffer.gdb
emacs.csh
emacs.icon
enriched.doc
future-bug
grep.txt
ms-kermit
refcards
rgb.txt
ses-example.ses
charsets/README
images/README
nxml/README
schema/README
images/*/README
images/smilies/*/README
images/tree-widget/*/README

Added opt-x86_64/firefox-java-plugin/Pkgfile.































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# Description: Java plugin for Mozilla Firefox
# URL: http://java.sun.com
# Maintainer: Jose V Beneyto, sepen at users dot sourceforge dot net
# Arch Maintainer: Fredrik Rinnestam, fredrik at rinnestam dot se
# Depends on: jre, firefox

name=firefox-java-plugin
version=1.7.0
release=1
source=()

build(){
  plugins=(
    # jre
    /usr/lib/java/lib/amd64/libnpjp2.so \
    # jdk
    /usr/lib/java/jre/lib/amd64/libnpjp2.so
    )
  
  for p in ${plugins[@]}; do
    test -f $p && break
  done
  
  if [ ! -f $p ]; then
    echo "Java Runtime Environment not found!"
    return
  fi
  
  mkdir -p $PKG/usr/lib/firefox/plugins
  ln -s $p $PKG/usr/lib/firefox/plugins
}

Added opt-x86_64/flash-player-plugin/Pkgfile.





























>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# Description: Macromedia Flash Plugin for Firefox
# URL: http://www.adobe.com/products/flashplayer/
# Maintainer: Fredrik Rinnestam, fredrik at crux dot nu
# Packager: Matt Housh, jaeger at crux dot nu
# Depends on:

name=flash-player-plugin
version=11.2.202.228
release=1
source=(http://fpdownload.macromedia.com/get/flashplayer/pdc/$version/install_flash_player_11_linux.x86_64.tar.gz)

build() {
  install -D -m 0755 libflashplayer.so $PKG/usr/lib/mozilla/plugins/libflashplayer.so
}

Added opt-x86_64/jdk/Pkgfile.













































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# Description: Java 2 Software Development Kit
# URL: http://java.sun.com
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Arch Maintainer: Predrag Ivanovic, predivan at open dot telekom dot rs
# Packager: Simone Rota, sip at crux dot nu

name=jdk
version=1.7.0_03
release=1
source=(http://download.oracle.com/otn-pub/java/$name/7u3-b04/$name-7u3-linux-x64.tar.gz)

build(){
	rm -rf $SRC/jdk*/{man/ja,jre/lib/javaws/messages_,demo,sample}*
	rm -rf $SRC/jdk*/jre/lib/fontconfig.{RedHat,SuSE,Sun,Turbo}.*
	rm -rf $SRC/jdk*/{,jre/}[A-Z]*

	install -d $PKG/usr/lib
	mv $SRC/jdk* $PKG/usr/lib
	mv $PKG/usr/lib/jdk*/man $PKG/usr

	cd $PKG/usr/lib
	export GLOBIGNORE="*/src.zip"
	for i in jdk*/* jdk*/jre/*; do
	  test -f $i && rm -rf $i;
	done
	
	ln -s jdk* $PKG/usr/lib/java

	# generate classes.jsa
	cd $PKG/usr/lib/java
	./bin/java -server -Xshare:dump
	./bin/java -client -Xshare:dump

	mkdir -p $PKG/usr/bin && cd $PKG/usr/bin
	for j in java javac javah javap javaws jar keytool; do
		ln -s ../lib/java/bin/$j
	done
}

Added opt-x86_64/jdk/README.













>
>
>
>
>
>
1
2
3
4
5
6

README for jdk

	To download Java SE Development Kit 7 go to:
	http://www.oracle.com/technetwork/java/javase/downloads/java-se-jdk-7-download-432154.html
	(You must accept the Oracle Binary Code License Agreement for Java SE to download this software)

Added opt-x86_64/jre/Pkgfile.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Description: Java 2 Runtime Kit
# URL:         http://java.sun.com
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Arch Maintainer: Predrag Ivanovic, predivan at open dot telekom dot rs
# Packager:    Simone Rota, sip at crux dot nu

name=jre
version=1.7.0_03
release=1
source=(http://download.oracle.com/otn-pub/java/jdk/7u3-b04/$name-7u3-linux-x64.tar.gz)


build(){
    cd $name$version

    install -d $PKG/usr/{bin,man,lib/$name$version}
    mv man/man1 $PKG/usr/man
    mv bin lib plugin  $PKG/usr/lib/$name$version
    
    ln -s $name$version $PKG/usr/lib/java
    ln -s ../lib/java/bin/java $PKG/usr/bin/java
    ln -s ../lib/java/bin/javaws $PKG/usr/bin/javaws
    ln -s ../lib/java/bin/keytool $PKG/usr/bin/keytool
}

Added opt-x86_64/libc-client/Pkgfile.

































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# Description: University of Washington's IMAP/mail c-client library
# URL:         http://www.washington.edu/imap/
# Maintainer:  Juergen Daubert, juergen dot daubert at t-online dot de
# Depends on:  openssl

name=libc-client
version=2007f
release=1
source=(ftp://ftp.cac.washington.edu/imap/imap-$version.tar.gz)

build () {
    cd imap-${version::5}
    sed -i 's/read x/x=y/' Makefile
    echo y | make slx EXTRACFLAGS="$CFLAGS -fPIC" \
                      SSLTYPE=unix \
                      SSLDIR=/usr \
                      SSLCERTS=/etc/ssl/certs \
                      IP=6
    cd c-client
    gcc -Wl,-soname,$name.so.1 -shared -fPIC -o $name.so.1.0.0 *.o

    install -d $PKG/usr/{lib,include/c-client}

    install -m 644 c-client.a $PKG/usr/lib/$name.a
    install -m 755 $name.so.1.0.0 $PKG/usr/lib
    ln -s $name.so.1.0.0 $PKG/usr/lib/$name.so.1
    ln -s $name.so.1.0.0 $PKG/usr/lib/$name.so

    install -m 644 *.h $PKG/usr/include/c-client
    install -m 644 linkage.c $PKG/usr/include/c-client
    rm $PKG/usr/include/c-client/os_*.h
}

Added opt-x86_64/libmng/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description:  libmng - Mutliple Image Network Graphics 
# URL:          http://www.libmng.com
# Maintainer:   Juergen Daubert, juergen dot daubert at t-online dot de
# Packager:     Daniel Mueller, daniel at danm dot de
# Arch maintainer: Fredrik Rinnestam, fredrik at obra dot se
# Depends on:   zlib, libjpeg, lcms

name=libmng
version=1.0.10
release=1
source=(http://downloads.sourceforge.net/$name/$name-$version.tar.gz)

build() {
    cd $name-$version
 
    ln -s makefiles/configure.in .
    ln -s makefiles/Makefile.am .
    autoreconf --force --install
    ./configure --prefix=/usr --mandir=/usr/man
    make 
    make DESTDIR=$PKG install
}

Added opt-x86_64/lua/Pkgfile.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Description: A programming language designed for extending applications
# URL: http://www.lua.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Arch Maintainer: Fredrik Rinnestam, fredrik at crux dot nu
# Depends on:

name=lua
version=5.2.0
release=2
source=(http://www.lua.org/ftp/$name-$version.tar.gz \
        $name.diff)

build() {
	cd $name-$version

	patch -Np1 -i $SRC/$name.diff

	export CFLAGS="$CFLAGS -fPIC"
	make linux
	make INSTALL_TOP=$PKG/usr install

	make pc > lua.pc
	install -D -m 0644 lua.pc $PKG/usr/lib/pkgconfig/lua.pc
}

Added opt-x86_64/lua/lua.diff.





































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
diff -aur lua-5.2.0.orig/Makefile lua-5.2.0/Makefile
--- lua-5.2.0.orig/Makefile	2011-11-16 00:38:12.000000000 +0100
+++ lua-5.2.0/Makefile	2012-03-14 09:00:52.823998608 +0100
@@ -10,7 +10,7 @@
 # so take care if INSTALL_TOP is not an absolute path. See the local target.
 # You may want to make INSTALL_LMOD and INSTALL_CMOD consistent with
 # LUA_ROOT, LUA_LDIR, and LUA_CDIR in luaconf.h.
-INSTALL_TOP= /usr/local
+INSTALL_TOP= /usr
 INSTALL_BIN= $(INSTALL_TOP)/bin
 INSTALL_INC= $(INSTALL_TOP)/include
 INSTALL_LIB= $(INSTALL_TOP)/lib
@@ -41,7 +41,7 @@
 # What to install.
 TO_BIN= lua luac
 TO_INC= lua.h luaconf.h lualib.h lauxlib.h lua.hpp
-TO_LIB= liblua.a
+TO_LIB= liblua.a liblua.so.5.2
 TO_MAN= lua.1 luac.1
 
 # Lua version and release.
@@ -63,6 +63,7 @@
 	cd src && $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC)
 	cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB)
 	cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN)
+	ln -s liblua.so.5.2 $(INSTALL_LIB)/liblua.so
 
 uninstall:
 	cd src && cd $(INSTALL_BIN) && $(RM) $(TO_BIN)
@@ -103,10 +104,14 @@
 
 # echo pkg-config data
 pc:
-	@echo "version=$R"
 	@echo "prefix=$(INSTALL_TOP)"
 	@echo "libdir=$(INSTALL_LIB)"
 	@echo "includedir=$(INSTALL_INC)"
+	@echo "Name: Lua"
+	@echo "Description: An Extensible Extension Language"
+	@echo "Version: $R"
+	@echo "Libs: -L$(INSTALL_LIB) -llua -lm"
+	@echo "Cflags: -I$(INSTALL_INC)"
 
 # list targets that do not create files (but not all makes understand .PHONY)
 .PHONY: all $(PLATS) clean test install local none dummy echo pecho lecho
diff -aur lua-5.2.0.orig/src/Makefile lua-5.2.0/src/Makefile
--- lua-5.2.0.orig/src/Makefile	2011-09-19 14:45:14.000000000 +0200
+++ lua-5.2.0/src/Makefile	2012-03-14 08:41:50.374000136 +0100
@@ -7,7 +7,8 @@
 PLAT= none
 
 CC= gcc
-CFLAGS= -O2 -Wall -DLUA_COMPAT_ALL $(SYSCFLAGS) $(MYCFLAGS)
+CFLAGS ?= -O2 -Wall
+CFLAGS += -DLUA_COMPAT_ALL $(SYSCFLAGS) $(MYCFLAGS)
 LDFLAGS= $(SYSLDFLAGS) $(MYLDFLAGS)
 LIBS= -lm $(SYSLIBS) $(MYLIBS)
 
@@ -29,6 +30,7 @@
 PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris
 
 LUA_A=	liblua.a
+LUA_SO= liblua.so
 CORE_O=	lapi.o lcode.o lctype.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o \
 	lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o \
 	ltm.o lundump.o lvm.o lzio.o
@@ -43,7 +45,7 @@
 LUAC_O=	luac.o
 
 ALL_O= $(BASE_O) $(LUA_O) $(LUAC_O)
-ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T)
+ALL_T= $(LUA_A) $(LUA_SO) $(LUA_T) $(LUAC_T)
 ALL_A= $(LUA_A)
 
 # Targets start here.
@@ -59,6 +61,10 @@
 	$(AR) $@ $?
 	$(RANLIB) $@
 
+$(LUA_SO): $(CORE_O) $(LIB_O)
+	$(CC) -shared -Wl,-soname,liblua.so -o $@.5.2 $? $(MYLDFLAGS)
+	ln -s $@.5.2 $@
+
 $(LUA_T): $(LUA_O) $(LUA_A)
 	$(CC) -o $@ $(LDFLAGS) $(LUA_O) $(LUA_A) $(LIBS)
 
diff -aur lua-5.2.0.orig/src/luaconf.h lua-5.2.0/src/luaconf.h
--- lua-5.2.0.orig/src/luaconf.h	2011-12-06 17:58:36.000000000 +0100
+++ lua-5.2.0/src/luaconf.h	2012-03-14 08:42:10.370999861 +0100
@@ -100,7 +100,7 @@
 #else			/* }{ */
 
 #define LUA_VDIR	LUA_VERSION_MAJOR "." LUA_VERSION_MINOR "/"
-#define LUA_ROOT	"/usr/local/"
+#define LUA_ROOT	"/usr/"
 #define LUA_LDIR	LUA_ROOT "share/lua/" LUA_VDIR
 #define LUA_CDIR	LUA_ROOT "lib/lua/" LUA_VDIR
 #define LUA_PATH_DEFAULT  \

Added opt-x86_64/netpbm/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Maintainer: Antti Nykanen, aon at iki dot fi
# Description: A toolkit for manipulation of graphic images
# URL: http://netpbm.sf.net
# Depends on: ghostscript

name=netpbm
version=10.52.3
release=1
source=(http://crux.nu/files/distfiles/$name-$version.tar.xz
	config.mk)

build() {
	export MAKEFLAGS="$MAKEFLAGS -j1"
        export CFLAGS="$CFLAGS -fPIC"
	cd netpbm-$version
	sed -e "s|#CFLAGS#|$CFLAGS|" $SRC/config.mk > config.mk
	make
	make pkgdir=$PKG/usr package
	mkdir $PKG/usr/share
	mv $PKG/usr/misc $PKG/usr/share/netpbm
	rm -rf $PKG/usr/{README,VERSION,link,man,config_template,pkginfo,bin/doc.url}
}

Added opt-x86_64/netpbm/config.mk.



















































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
####This file was automatically created by 'configure.'
####Many variables are set twice -- a generic setting, then 
####a system-specific override at the bottom of the file.
####
# This is a make file inclusion, to be included in all the Netpbm make
# files.

# This file is meant to contain variable settings that customize the
# build for a particular target system configuration.

# The distribution contains the file Makefile.config.in.  You edit
# Makefile.config.in in ways relevant to your particular environment 
# to create Makefile.config.  The "configure" program will do this
# for you in simple cases.

# Some of the variables that the including make file must set for this
# file to work:
#
#  SRCDIR: The directory at the top of the Netpbm source tree.  Note that
#  this is typically a relative directory, and it must be relative to the
#  make file that includes this file.

DEFAULT_TARGET = nonmerge
#DEFAULT_TARGET = merge

# Fiasco has some special requirements that make it fail to compile on
# some systems, and since it isn't very important, just set this to "N"
# and skip it on those systems unless you want to debug it and fix it.
# OpenBSD:
#BUILD_FIASCO = N
BUILD_FIASCO = Y

# The following are commands for the build process to use.  These values
# do not get built into anything.

# The C compiler (including macro preprocessor)
#CC = gcc
# Note that 'cc' is usually an alias for whatever is the main compiler
# on a system, e.g. the GNU Compiler on Linux.
CC = cc

# The linker.
LD = $(CC)
#LD = ld
#Tru64:
#LD = cc
#LD = gcc 

#If the linker identified above is a compiler that invokes a linker
#(as in 'cc foo.o -o foo'), set LINKERISCOMPILER.  The main difference is
#that we expect a compiler to take linker options in the '-Wl,-opt1,val1'
#syntax whereas the actual linker would take '-opt1 val1'.
LINKERISCOMPILER=Y
#If $(LD) is 'ld':
#LINKERISCOMPILER=N

#LINKER_CAN_DO_EXPLICIT_LIBRARY means the linker specified above can
#take a library as just another link object argument, as in 'ld
#pnmtojpeg.o /usr/local/lib/libjpeg.so ...'  as opposed to requiring a
#-l option as in 'ld pnmtojpeg.o -L/usr/local/lib -l jpeg'.
#This variable controls how 'libopt' gets built.  Note that with some
#linkers, you can specify a shared library explicitly, but then it has
#to live in that exact place at run time.  That's not good enough for us.

LINKER_CAN_DO_EXPLICIT_LIBRARY=N
#GNU:
#LINKER_CAN_DO_EXPLICIT_LIBRARY=Y

# This is the name of the header file that declares the types
# uint32_t, etc.  This name is used as #include $(INTTYPES_H)  .
# Set to null if the types come automatically without including anything.

# We have a report (2005.09.17) that on IRIX 5.3 with the native IDO
# cc, inttypes.h and sys/types.h conflict (and Netpbm programs include
# sys/types for other things), so for that environment, <inttypes.h>
# won't work, but "inttypes_netpbm.h" might.

INTTYPES_H = <inttypes.h>
# Linux libc5:
#INTTYPES_H = <types.h>
# Solaris:
# Solaris has <sys/inttypes.h>, but it doesn't define int_fast2_t, etc.
#INTTYPES_H = "inttypes_netpbm.h"
# Others:
#INTTYPES_H = <sys/stdint.h>
#INTTYPES_H = <sys/types.h>
# The automatically generated Netpbm version:
#INTTYPES_H = "inttypes_netpbm.h"

# HAVE_INT64 tells whether, assuming you include the header indicated by
# INTTYPES_H, you have the int64_t type and related stuff.  (If you don't
# the build will omit certain code that does 64 bit computations).
HAVE_INT64 = Y
#HAVE_INT64 = N

# CC and LD are for building the Netpbm programs, which are not necessarily
# intended to run on the same system on which Make is running.  But when we 
# build a build tool such as Libopt, it is meant to run only on the same 
# system on which the Make is running.  The variables below define programs
# to use to compile and link build tools.
CC_FOR_BUILD = $(CC)
LD_FOR_BUILD = $(LD)
CFLAGS_FOR_BUILD = $(CFLAGS)

# MAKE is set automatically by Make to what was used to invoke Make.

INSTALL = $(SRCDIR)/buildtools/install.sh
#Solaris:
#INSTALL = /usr/ucb/install
#Tru64:
#INSTALL = installbsd
#OSF1:
#INSTALL = $(SRCDIR)/buildtools/installosf
#Red Hat Linux:
#INSTALL = install

# STRIPFLAG is the option you pass to the above install program to make it
# strip unnecessary information out of binaries.
STRIPFLAG = -s
# If you don't want to strip the binaries, just leave it null:
#STRIPFLAG = 

SYMLINK = ln -s
# At least some Windows environments don't have any concept of symbolic
# links, but direct copies are usually a passable alternative.
#SYMLINK = cp

#MANPAGE_FORMAT is "nroff" or "cat".  It determines in what format the
#pointer man pages are installed (ready to nroff, or ready to cat).  
#A pointer man pages is just a single-paragraph pages that tells you there is
#no man page for the program, to look at the HTML documentation instead.
MANPAGE_FORMAT = nroff
#MANPAGE_FORMAT = cat

AR = ar
RANLIB = ranlib
# IRIX, SCO don't have Ranlib:
#RANLIB = true

# LEX is the beginning of a shell command that runs a Lex-like
# pattern matcher generator.  Null string means there isn't any such
# command.  That means the build will skip parts that need one.

LEX = flex
# Solaris:
# LEX = flex -e
# Windows Mingw:
# LEX =
# 
# LEX = lex

# C compiler options 

# gcc:
# -ansi and -Werror should work too, but are not included
# by default because there's no point in daring the build to fail.
# -pedantic isn't a problem because it causes at worst a warning.
#CFLAGS = -O3 -ffast-math -pedantic -fno-common \
#          -Wall -Wno-uninitialized -Wmissing-declarations -Wimplicit \
#          -Wwrite-string -Wmissing-prototypes -Wundef
# The merged programs have a main_XXX subroutine instead of main(),
# which would cause a warning with -Wmissing-declarations or 
# -Wmissing-prototypes.
#CFLAGS_MERGE = -Wno-missing-declarations -Wno-missing-prototypes
# A user of DEC Tru64 4.0F in May 2000 needed -DLONG_32 for ppmtompeg,
# but word size-sensitive code was removed from parallel.c in September 2004.
# A user of Tru64 5.1A in July 2003 needed NOT to have -DLONG_32.  In
# theory, you need this if on your system, long is 32 bits and int is not.
# But it may be completely irrelevant today.
#Tru64:
#CFLAGS = -O2 -std1 -DLONG_32
#CFLAGS = -O2 -std1
#AIX:
#CFLAGS= -O3
#HP-UX:
#CFLAGS= -O3 -fPIC
#IRIX:
#CFLAGS= -n32 -O3
#Amiga with GNU compiler:
#CFLAGS= -m68020-60 -ffast-math -mstackextend 
# You can add -noixemul for Amiga and successfully compile most of the 
# programs.  (Of the remaining ones, if you can supply your own strtod() 
# function, most of them will build with -noixemul).  So try building 
# with 'make --keep-going CADD=-noixemul' first, then just 'make' to build
# everything that failed for lack of the ixemul library in the first step.
# That way, the parts that don't required the ixemul library won't indicate
# a dependency on it.
#OpenBSD:
#CFLAGS = -I/usr/local/include

# EXE is a suffix that the linker puts on any executable it generates.
# In cygwin, this is .exe and most programs deal with its existence without
# us having to know about it.  Some don't though, so set this:

EXE =
#Cygwin, DJGPP/Windows:
#EXE = .exe
  
# linker options.  

# LDFLAGS is often set as an environment variable;  A setting here overrides
# it.  So either make sure you want to override it, or do a "LDFLAGS +=" here.

# LDFLAGS is usually not the right place for a -L option, because we put
# LDFLAGS _before_ our own -L options, so it would cancel out our
# specific selection of libraries.  For example, if you say
# LDFLAGS=/usr/local/lib and an old copy of the libnetpbm is in
# /usr/local/lib, then you'd be linking against that old copy instead of
# the copy you just built, which is located by a -L option later on the
# link command.  LIBS is the right variable for adding -L options.  LIBS
# goes after any of our make files' own -L options.

# Eunice users may want to use -noshare so that the executables can
# run standalone:
#LDFLAGS += -noshare
#Tru64:
# Russ Allberry says on 2001.06.09 that -oldstyle_liblookup may be necessary
# to keep from finding an ancient system libjpeg.so that isn't compatible with
# NetPBM.  Michael Long found that /usr/local/lib is not in the default
# search path, or not soon enough, and he was getting an old libjpeg that
# caused all the jpeg symbol references to be unresolved.  He had installed
# a new libjpeg in /usr/local/lib.
#LDFLAGS += -call_shared -oldstyle_liblookup -L/usr/local/lib
#AIX:
#LDFLAGS += -L /usr/pubsw/lib
#HP-UX:
#LDFLAGS += -Wl,+b,/usr/pubsw/lib
#IRIX:
#LDFLAGS += -n32

# Linker options for created Netpbm shared libraries.

# Here, $(SONAME) resolves to the soname for the shared library being created.
# The following are gcc options.  This works on GNU libc systems.
LDSHLIB = -shared -Wl,-soname,$(SONAME)
# You need -nostart instead of -shared on BeOS.  Though the BeOS compiler is
# ostensibly gcc, it has the -nostart option, which is not mentioned in gcc
# documentation and doesn't exist in at least one non-BeOS installation.
# BeOS doesn't have sonames built in.
#LDSHLIB = -nostart
#LDSHLIB = -G
# Solaris, SunOS with GNU Ld, SCO:
# These systems have no soname option.
#LDSHLIB = -shared
# Solaris with Sun Ld:
#LDSHLIB = -Wl,-Bdynamic,-G,-h,$(SONAME) 
#Tru64:
#LDSHLIB = -shared -expect_unresolved "*"
#IRIX:
#LDSHLIB = -shared -n32
#AIX GNU compiler/linker:
#LDSHLIB = -shared
#AIX Visual Age C:
#LDSHLIB = -qmkshrobj

# LDRELOC is the command to combine two .o files (relocateable object files)
# into a single .o file that can later be linked into something else.  NONE
# means no such command is available.

LDRELOC = NONE
# GNU Ld:
# Older GNU Ld misspells the option as --relocateable.  Newer GNU Ld
# correctly spells it --relocatable.  The abbreviation --reloc works on
# both.
#LDRELOC = ld --reloc
#LDRELOC = ld -r


# On older systems, you have to make shared libraries out of position
# independent code, so you need -fpic or fPIC here.  (The rule is: if
# -fpic works, use it.  If it bombs, go to fPIC).  On newer systems,
# it isn't necessary, but can save real memory at the expense of
# execution speed.  Without position independent code, the library
# loader may have to patch addresses into the executable text.  On an
# older system, this would cause a program crash because the loader
# would be writing into read-only shared memory.  But on newer
# systems, the system silently creates a private mapping of the page
# or segment being modified (the "copy on write" phenomenon).  So it
# needs its own private real page frame.  In one experiment, A second
# copy of Pbmtext used 16K less real memory when built with -fpic than
# when built without.  2001.06.02.

# We have seen -fPIC required on IA64 and AMD64 machines (GNU
# compiler/linker).  Build-time linking fails without it.  I don't
# know why -- history seems to be repeating itself.  2005.02.23.

CFLAGS_SHLIB = 
# Solaris or SunOS with gcc, and NetBSD:
#CFLAGS_SHLIB = -fpic
#CFLAGS_SHLIB = -fPIC
# Sun compiler:
#CFLAGS_SHLIB = -Kpic
#CFLAGS_SHLIB = -KPIC

# SHLIB_CLIB is the link option to include the C library in a shared library,
# normally "-lc".  On typical systems, this serves no purpose.  On some,
# though, it causes information about which C library to use to be recorded
# in the shared library and thus choose the correct library among several or
# avoid using an incompatible one.  But on some systems, the link fails.
# On 2002.09.30, "John H. DuBois III" <spcecdt@armory.com> reports that on 
# SCO OpenServer, he gets the following error message with -lc:
#
#  -lc; relocations referenced  ;  from file(s) /usr/ccs/lib/libc.so(random.o);
#   fatal error: relocations remain against allocatable but non-writable 
#   section: ; .text

SHLIB_CLIB = -lc
# SCO:
SHLIB_CLIB =

# On some systems you have to build into an executable the list of
# directories where its dynamically linked libraries can be found at
# run time.  This is typically done with a -R or -rpath linker
# option.  Even on systems that don't require it, you might prefer to do
# that rather than set up environment variables or configuration files
# to tell the system where the libraries are.  A "Y" here means to put
# the directory information in the executable at link time.

NEED_RUNTIME_PATH = N
# Solaris, SunOS, NetBSD, AIX:
#NEED_RUNTIME_PATH = Y

# RPATHOPTNAME is the option you use on the link command to specify
# a runtime search path for a shared library.  It is meaningless unless
# NEED_RUNTIME_PATH is Y.
RPATHOPTNAME = -rpath

# The following variables tell where your various libraries on which
# Netpbm depends live.  The LIBxxx variable is a full file
# specification of the link library (not necessarily the library used
# at run time).  e.g. "/usr/local/lib/graphics/libjpeg.so".  It usually
# doesn't matter if the library prefix and suffix are right -- you can
# use "lib" and ".so" or ".a" regardless of what your system actually
# uses because these just turn into "-L" and "-l" linker options
# anyway.  ".a" implies a static library for some purposes, though.
# If you don't have the library in question, use a value of NONE for
# LIBxxx and the build will simply skip the programs that require that
# library.  If the library is in your linker's (or the Netpbm build's)
# default search path, leave off the directory part, e.g. "libjpeg.so".

# The xxxHDR_DIR variable is the directory in which the interface
# headers for the library live (e.g. /usr/include).  If they are in your
# compiler's default search path, set this variable to null.

# This is where the Netpbm shared libraries will reside when Netpbm is
# fully installed.  In some configurations, the Netpbm builder builds
# this information into the Netpbm executables.  This does NOT affect
# where the Netpbm installer installs the libraries.  A null value
# means the libraries are in a default search path used by the runtime
# library loader.
NETPBMLIB_RUNTIME_PATH = 
#NETPBMLIB_RUNTIME_PATH = /usr/lib/netpbm

# The TIFF library.  See above.  If you want to build the tiff
# converters, you must have the tiff library already installed.

TIFFLIB = NONE
TIFFHDR_DIR =

#TIFFLIB = libtiff.so
#TIFFHDR_DIR = /usr/include/libtiff
#NetBSD:
#TIFFLIB = $(LOCALBASE)/lib/libtiff.so
#TIFFHDR_DIR = $(LOCALBASE)/include
# OSF, Tru64:
#TIFFLIB = /usr/local1/DEC/lib/libtiff.so
#TIFFHDR_DIR = /usr/local1/DEC/include

# Some TIFF libraries do Jpeg and/or Z (flate) compression and thus any
# program linked with the TIFF library needs a Jpeg and/or Z library.
# Some TIFF libraries have such library statically linked in, but others
# need it to be dynamically linked at program load time.
# Make this 'N' if youf TIFF library doesn't need such dynamic linking.
# As of 2005.01, the most usual build of the TIFF library appears to require
# both.
TIFFLIB_NEEDS_JPEG = Y
TIFFLIB_NEEDS_Z = Y

# The JPEG library.  See above.  If you want to build the jpeg
# converters you must have the jpeg library already installed.

# Tiff files can use JPEG compression, so the Tiff library can reference
# the JPEG library.  If your Tiff library references a dynamic JPEG 
# library, you must specify at least JPEGLIB here, or the Tiff
# converters will not build.  Note that your Tiff library may have the
# JPEG stuff statically linked in, in which case you won't need 
# JPEGLIB in order to build the Tiff converters.

JPEGLIB = NONE
JPEGHDR_DIR =
#JPEGLIB = libjpeg.so
#JPEGHDR_DIR = /usr/include/jpeg
# Netbsd:
#JPEGLIB = ${LOCALBASE}/lib/libjpeg.so
#JPEGHDR_DIR = ${LOCALBASE}/include
# OSF, Tru64:
#JPEGLIB = /usr/local1/DEC/libjpeg.so
#JPEGHDR_DIR = /usr/local1/DEC/include
# Typical:
#JPEGLIB = /usr/local/lib/libjpeg.so
#JPEGHDR_DIR = /usr/local/include
# Don't build JPEG stuff:
#JPEGLIB = NONE


# The PNG library.  See above.  If you want to build the PNG
# converters you must have the PNG library already installed.

# The PNG library, by convention starting around April 2002, gets installed
# with names that include a version number, such as libpng10.a and header
# files in /usr/include/libpng10.  But there is conventionally an unnumbered
# alias (e.g. libpng.a, /usr/include/libpng) for the preferred version.
#
# Recent versions of the library (since some time in the 2002-2006 period)
# have an associated 'libpng-config' that tells how to link it.  The make
# files will use that program if it exists (must be in the PATH).  In that
# case, PNGLIB and PNGHDR_DIR are irrelevant, but PNGVER is still meaningful,
# because the make file runs 'libpng$(PNGVER)-config'.

PNGLIB = NONE
PNGHDR_DIR =
PNGVER = 
#PNGLIB = libpng$(PNGVER).so
#PNGHDR_DIR = /usr/include/libpng$(PNGVER)
# NetBSD:
#PNGLIB = $(LOCALBASE)/lib/libpng$(PNGVER).so
#PNGHDR_DIR = $(LOCALBASE)/include
# OSF/Tru64:
#PNGLIB = /usr/local1/DEC/lib/libpng$(PNGVER).so
#PNGHDR_DIR = /usr/local1/DEC/include

# The zlib compression library.  See above.  You need it to build
# anything that needs the PNG library (see above).  If you selected
# NONE for the PNG library, it doesn't matter what you specify here --
# it won't get used.
#
# If you have 'libpng-config' (see above), these are irrelevant.

ZLIB = NONE
ZHDR_DIR = 
#ZLIB = libz.so

# The JBIG lossless image compression library (aka JBIG-KIT):

JBIGLIB = $(BUILDDIR)/converter/other/jbig/libjbig.a
JBIGHDR_DIR = $(SRCDIR)/converter/other/jbig

# The Jasper JPEG-2000 image compression library (aka JasPer):
JASPERLIB = $(INTERNAL_JASPERLIB)
JASPERHDR_DIR = $(INTERNAL_JASPERHDR_DIR)
# JASPERDEPLIBS is the libraries (-l options or file names) on which
# The Jasper library depends -- i.e. what you have to link into any
# executable that links in the Jasper library.
JASPERDEPLIBS =
#JASPERDEPLIBS = -ljpeg

# And the Utah Raster Toolkit (aka URT aka RLE) library:

URTLIB = $(BUILDDIR)/urt/librle.a
URTHDR_DIR = $(SRCDIR)/urt

# The X11 library has facilities for talking to an X Window System
# server.  It is required by Pamx.

X11LIB = NONE
X11HDR_DIR =

#X11LIB = /usr/lib/libX11.so
#X11HDR_DIR =

# The Linux SVGA library (Svgalib) is a facility for displaying graphics
# on the Linux console.  It is required by Ppmsvgalib.

LINUXSVGALIB = NONE
LINUXSVGAHDR_DIR = 

#LINUXSVGALIB = /usr/lib/libvga.so
#LINUXSVGAHDR_DIR = /usr/include/vgalib

# If you don't want any network functions, set OMIT_NETWORK to "y".
# The only thing that requires network functions is the option in
# ppmtompeg to run it on multiple computers simultaneously.  On some
# systems network functions don't work or we haven't figured out how to 
# make them work, or they just aren't worth the effort.  
OMIT_NETWORK =
#DJGPP/Windows, Tru64:
#   (there's some minor header problem that prevents network functions from 
#   building on Tru64 2000.10.06)
#OMIT_NETWORK = y

# These are -l options to link in the network libraries.  Often, these are
# built into the standard C library, so this can be null.  This is irrelevant
# if OMIT_NETWORK is "y".

NETWORKLD = 
# Solaris, SunOS:
#NETWORKLD = -lsocket -lnsl
# SCO:
#NETWORKLD = -lsocket, -lresolv

VMS = 
#VMS:
#VMS = yes

# DONT_HAVE_PROCESS_MGMT is Y if this system doesn't have the usual
# Unix process management stuff - fork, wait, etc.  N for a regular Unix
# system.
DONT_HAVE_PROCESS_MGMT = N

# The following variables are used only by 'make install' (and the
# variants of it).  Paths here don't, for example, get built into any
# programs.

# This is where everything goes when you do 'make package', unless you
# override it by setting 'pkgdir' on the Make command line.
PKGDIR_DEFAULT = /tmp/netpbm

# Subdirectory of the package directory ($(pkgdir)) in which man pages
# go.
PKGMANDIR = man

# File permissions for installed files.
# Note that on some systems (e.g. Solaris), 'install' can't use the 
# mnemonic permissions - you have to use octal.

# binaries (pbmmake, etc)
INSTALL_PERM_BIN =  755       # u=rwx,go=rx
# shared libraries (libpbm.so, etc)
INSTALL_PERM_LIBD = 755       # u=rwx,go=rx
# static libraries (libpbm.a, etc)
INSTALL_PERM_LIBS = 644       # u=rw,go=r
# header files (pbm.h, etc)
INSTALL_PERM_HDR =  644       # u=rw,go=r
# man pages (pbmmake.1, etc)
INSTALL_PERM_MAN =  644       # u=rw,go=r
# data files (pnmtopalm color maps, etc)
INSTALL_PERM_DATA = 644       # u=rw,go=r

# Specify the suffix that want the man pages to have.

SUFFIXMANUALS1 = 1
SUFFIXMANUALS3 = 3
SUFFIXMANUALS5 = 5

#NETPBMLIBTYPE tells the kind of libraries that will get built to hold the
#Netpbm library functions.  The value is used only in make file tests.
# "unixshared" means a unix-style shared library, typically named like 
# libxyz.so.2.3
NETPBMLIBTYPE = unixshared
# "unixstatic" means a unix-style static library, (like libxyz.a)
#NETPBMLIBTYPE = unixstatic
# "dll" means a Windows DLL shared library
#NETPBMLIBTYPE = dll
# "dylib" means a Darwin/Mac OS shared library
#NETPBMLIBTYPE = dylib

#NETPBMLIBSUFFIX is the suffix used on whatever kind of library is 
#selected above.  All this is used for is to construct library names.
#The make files never examine the actual value.
NETPBMLIBSUFFIX = so

# "a" is the suffix for unix-style static libraries.  It is also
# traditionally used for shared libraries on AIX.  The Visual Age C
# manual says sometimes .so works on AIX, and GNU software for AIX
# 5.1.0 does indeed use it.  In our experiments, it works fine if you
# name the library file explicitly on the link, but isn't in the -l
# search order.  If you name the library explicitly on the link, the
# library must live in exactly the same position at run time, so we
# can't use that.  Therefore, you cannot build both static and shared
# libraries with AIX.  You have to choose.
#NETPBMLIBSUFFIX = a
# For HP-UX shared libraries:
#NETPBMLIBSUFFIX = sl
# Darwin/Mac OS shared library:
#NETPBMLIBSUFFIX = dylib
# Windows shared library:
#NETPBMLIBSUFFIX = dll

#STATICLIB_TOO is "y" to signify that you want a static library built
#and installed in addition to whatever library type you specified by
#NETPBMLIBTYPE.  If NETPBMLIBTYPE specified a static library,
#STATICLIB_TOO simply has no effect.
STATICLIB_TOO = y
#STATICLIB_TOO = n

#STATICLIBSUFFIX is the suffix that static libraries have.  It's
#meaningless if you aren't building static libraries.
STATICLIBSUFFIX = a

#SHLIBPREFIXLIST is a blank-delimited list of prefixes that a filename
#of a shared library may have on this system.  Traditionally, it's
#just "lib", as in libc or libnetpbm.  On Windows, though, varying
#prefixes are used when multiple alternative forms of a library are
#available.  The first prefix in this list is what we use to name the
#Netpbm shared libraries.
#
# This variable controls how 'libopt' gets built.
#
SHLIBPREFIXLIST = lib
#Cygwin:
#SHLIBPREFIXLIST = cyg lib

NETPBMSHLIBPREFIX = $(firstword $(SHLIBPREFIXLIST))

#DLLVER is used to version the DLLs built on cygwin or other
#windowsish platforms.  We can't add this to LIBROOT, or we'd
#version the static libs (which is bad).  We can't add this
#at the end of the name (like unix does with so numbers) because
#windows will only load dlls whose name ends in "dll".  So,
#we have this variable, which becomes the end of the library "root" name
#for DLLs only.
#
# This variable controls how 'libopt' gets built.
#
DLLVER =
#Cygwin
#DLLVER = $(NETPBM_MAJOR_RELEASE)

#NETPBM_DOCURL is the URL of the main documentation page for Netpbm.
#This is a directory which contains a file for each Netpbm program,
#library, and file type.  E.g. The documentation for jpegtopnm might be in
#http://netpbm.sourceforge.net/doc/jpegtopnm.html .  This value gets
#installed in the man pages (which say no more than to read the webpage)
#and in the Webman netpbm.url file.
NETPBM_DOCURL = http://netpbm.sourceforge.net/doc/
#For a system with no web access, but a local copy of the doc:
#NETPBM_DOCURL = file:/usr/doc/netpbm/





####Lines above were copied from Makefile.config.in by 'configure'.
####Lines below were added by 'configure' based on the GNU platform.
DEFAULT_TARGET = nonmerge
NETPBMLIBTYPE=unixshared
NETPBMLIBSUFFIX=so
STATICLIB_TOO=y
CFLAGS = #CFLAGS#
CFLAGS_MERGE = -Wno-missing-declarations -Wno-missing-prototypes
LDRELOC = ld --reloc
LINKER_CAN_DO_EXPLICIT_LIBRARY=Y
LINKERISCOMPILER = Y
TIFFLIB = libtiff.so
JPEGLIB = libjpeg.so
PNGLIB = libpng.so
ZLIB = libz.so
X11LIB = /usr/lib/libX11.so
NETPBM_DOCURL = http://netpbm.sourceforge.net/doc/

Added opt-x86_64/nspr/Pkgfile.



























































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# Description: Netscape Portable Runtime library
# URL:         http://www.mozilla.org/projects/nspr/
# Maintainer:  Fredrik Rinnestam, fredrik at rinnestam dot se

name=nspr
version=4.9
release=1
source=(http://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v$version/src/$name-$version.tar.gz
        $name.pc.in)

build() {
    local NSPR_LIBS NSPR_CFLAGS NSPR_VERSION

    cd $name-$version

    ./mozilla/nsprpub/configure \
        --prefix=/usr \
        --libdir=/usr/lib \
        --includedir=/usr/include/nspr \
        --enable-optimize="$CFLAGS" \
        --enable-64bit \
        --disable-debug

    make
    make DESTDIR=$PKG install

    NSPR_LIBS=`./config/nspr-config --libs`
    NSPR_CFLAGS=`./config/nspr-config --cflags`
    NSPR_VERSION=`./config/nspr-config --version`

    install -d $PKG/usr/lib/pkgconfig

    sed $SRC/nspr.pc.in \
        -e "s,@libdir@,/usr/lib," \
        -e "s,@prefix@,/usr," \
        -e "s,@exec_prefix@,/usr/bin," \
        -e "s,@includedir@,/usr/include/nspr," \
        -e "s,@NSPR_VERSION@,$NSPR_VERSION," \
        -e "s,@FULL_NSPR_LIBS@,$NSPR_LIBS," \
        -e "s,@FULL_NSPR_CFLAGS@,$NSPR_CFLAGS," > \
        $PKG/usr/lib/pkgconfig/nspr.pc

    rm $PKG/usr/bin/{compile-et.pl,prerr.properties}
    rm -r $PKG/usr/include/nspr/md
}

Added opt-x86_64/nspr/nspr.pc.in.





















>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@
includedir=@includedir@

Name: NSPR
Description: The Netscape Portable Runtime
Version: @NSPR_VERSION@
Libs: @FULL_NSPR_LIBS@
Cflags: @FULL_NSPR_CFLAGS@

Added opt-x86_64/nss/Pkgfile.



























































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# Description: Mozilla Network Security Services (NSS)
# URL:         http://www.mozilla.org/projects/security/pki/nss/
# Maintainer:  Fredrk Rinnestam, fredrik at rinnestam dot se
# Depends on:  nspr sqlite3

name=nss
version=3.13.4
release=1
source=(ftp://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_13_4_RTM/src/$name-$version.tar.gz \
        nss-config.in nss.pc.in)

build() {
    cd $name-$version

    local file

    export NSPR_INCLUDE_DIR=/usr/include/nspr
    export NSPR_LIB_DIR=/usr/lib
    export NSS_USE_SYSTEM_SQLITE=1
    export BUILD_OPT=1

    make -j1 USE_64=1 -C mozilla/security/nss build_coreconf build_dbm all

    install -d $PKG/usr/{bin,lib/pkgconfig,include/nss}

    for file in \
        libnss3.so libssl3.so libsmime3.so libsoftokn3.so \
        libsoftokn3.chk libnssckbi.so libfreebl3.so libfreebl3.chk \
        libcrmf.a libnssb.a libnssckfw.a libnssutil3.so libnssdbm3.so
    do
        install -m 0644 mozilla/dist/*.OBJ/lib/$file $PKG/usr/lib
    done

    chmod +x $PKG/usr/lib/*.so

    for file in \
        certutil cmsutil crlutil modutil pk12util signtool signver ssltap
    do
        install -m 0755 mozilla/dist/*.OBJ/bin/$file $PKG/usr/bin
    done

    install -m 0644 mozilla/dist/public/nss/*.h $PKG/usr/include/nss

    # we have to provide our own nss-config, because xulrunner needs it
    install -m 0755 $SRC/nss-config.in $PKG/usr/bin/nss-config

    sed -i "s/@VERSION@/$version/" $PKG/usr/bin/nss-config

    NSS_LIBS=`$PKG/usr/bin/nss-config --libs`
    NSS_CFLAGS=`$PKG/usr/bin/nss-config --cflags`
    sed $SRC/nss.pc.in \
        -e "s,%libdir%,/usr/lib," \
        -e "s,%prefix%,/usr," \
        -e "s,%exec_prefix%,/usr/bin," \
        -e "s,%includedir%,/usr/include/nss," \
        -e "s,%NSS_VERSION%,$version," \
        -e "s,%FULL_NSS_LIBS%,$NSS_LIBS," \
        -e "s,%FULL_NSS_CFLAGS%,$NSS_CFLAGS," > \
            $PKG/usr/lib/pkgconfig/nss.pc

}

Added opt-x86_64/nss/nss-config.in.





























































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
#!/bin/sh

prefix=/usr
version=@VERSION@

usage()
{
	cat <<EOF
Usage: nss-config [OPTIONS] [LIBRARIES]
Options:
	[--prefix[=DIR]]
	[--exec-prefix[=DIR]]
	[--includedir[=DIR]]
	[--libdir[=DIR]]
	[--version]
	[--libs]
	[--cflags]
Dynamic Libraries:
	nss
	nssutil
	ssl
	smime
EOF
	exit $1
}

if test $# -eq 0; then
	usage 1 1>&2
fi

lib_ssl=yes
lib_smime=yes
lib_nss=yes
lib_nssutil=yes

while test $# -gt 0; do
  case "$1" in
  -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
  *) optarg= ;;
  esac

  case $1 in
    --prefix=*)
      prefix=$optarg
      ;;
    --prefix)
      echo_prefix=yes
      ;;
    --exec-prefix=*)
      exec_prefix=$optarg
      ;;
    --exec-prefix)
      echo_exec_prefix=yes
      ;;
    --includedir=*)
      includedir=$optarg
      ;;
    --includedir)
      echo_includedir=yes
      ;;
    --libdir=*)
      libdir=$optarg
      ;;
    --libdir)
      echo_libdir=yes
      ;;
    --version)
      echo $version
      ;;
    --cflags)
      echo_cflags=yes
      ;;
    --libs)
      echo_libs=yes
      ;;
    ssl)
      lib_ssl=yes
      ;;
    smime)
      lib_smime=yes
      ;;
    nss)
      lib_nss=yes
      ;;
    nssutil)
      lib_nssutil=yes
      ;;
    *)
      usage 1 1>&2
      ;;
  esac
  shift
done

# Set variables that may be dependent upon other variables
if test -z "$exec_prefix"; then
    exec_prefix=${prefix}
fi
if test -z "$includedir"; then
    includedir=${prefix}/include/nss
fi
if test -z "$libdir"; then
    libdir=${exec_prefix}/lib
fi

if test "$echo_prefix" = "yes"; then
    echo $prefix
fi

if test "$echo_exec_prefix" = "yes"; then
    echo $exec_prefix
fi

if test "$echo_includedir" = "yes"; then
    echo $includedir
fi

if test "$echo_libdir" = "yes"; then
    echo $libdir
fi

if test "$echo_cflags" = "yes"; then
    echo -I$includedir
fi

if test "$echo_libs" = "yes"; then
      libdirs="-L$libdir"
      if test -n "$lib_ssl"; then
	libdirs="$libdirs -lssl3"
      fi
      if test -n "$lib_smime"; then
	libdirs="$libdirs -lsmime3"
      fi
      if test -n "$lib_nss"; then
	libdirs="$libdirs -lnss3"
      fi
      if test -n "$lib_nssutil"; then
	libdirs="$libdirs -lnssutil3"
      fi
      echo $libdirs
fi

Added opt-x86_64/nss/nss.pc.in.





















>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
prefix=%prefix%
exec_prefix=%exec_prefix%
libdir=%libdir%
includedir=%includedir%

Name: NSS
Description: Network Security Services
Version: %NSS_VERSION%
Libs: %FULL_NSS_LIBS%
Cflags: %FULL_NSS_CFLAGS%

Added opt-x86_64/nvidia/Pkgfile.

































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# Description: nVIDIA Linux Display Driver for x86_64
# URL: http://www.nvidia.com/
# Packager: Matt Housh, jaeger at morpheus dot net
# Maintainer: Juergen Daubert, juergen dot daubert at t-online dot de
# Arch Maintainer: Predrag Ivanovic, predivan at open dot telekom dot rs
# Depends on: gtk gl-select

name=nvidia
version=295.40
release=1
source=(ftp://download.nvidia.com/XFree86/Linux-x86_64/$version/NVIDIA-Linux-x86_64-$version-no-compat32.run 
        $name-makefile.patch)

build() {
    sh NVIDIA-Linux-x86_64-$version-no-compat32.run --extract-only
    cd NVIDIA-Linux-x86_64-$version-no-compat32

    # libraries
    install -d $PKG/usr/lib/tls
    install -d $PKG/usr/lib/vdpau
    install -m 0755 libGL.so.$version              $PKG/usr/lib
    install -m 0755 libOpenCL.so.1.0.0             $PKG/usr/lib
    install -m 0755 libXvMCNVIDIA.so.$version      $PKG/usr/lib
    install -m 0644 libXvMCNVIDIA.a                $PKG/usr/lib
    install -m 0755 libcuda.so.$version            $PKG/usr/lib
    install -m 0755 libnvidia-cfg.so.$version      $PKG/usr/lib
    install -m 0755 libnvidia-compiler.so.$version $PKG/usr/lib
    install -m 0755 libnvidia-glcore.so.$version   $PKG/usr/lib
    install -m 0755 libnvidia-tls.so.$version      $PKG/usr/lib
    install -m 0755 libnvcuvid.so.$version         $PKG/usr/lib
    install -m 0755 tls/libnvidia-tls.so.$version  $PKG/usr/lib/tls
    install -m 0755 libvdpau_nvidia.so.$version    $PKG/usr/lib/vdpau
    
    ln -s libvdpau_nvidia.so.$version $PKG/usr/lib/vdpau/libvdpau_nvidia.so.1
    ln -s libvdpau_nvidia.so.$version $PKG/usr/lib/vdpau/libvdpau_nvidia.so

    # xorg driver/extensions
    install -d $PKG/usr/lib/xorg/modules/{drivers,extensions}
    install -m 0755 nvidia_drv.so                  $PKG/usr/lib/xorg/modules/drivers
    install -m 0755 libglx.so.$version             $PKG/usr/lib/xorg/modules/extensions
    install -m 0755 libnvidia-wfb.so.$version      $PKG/usr/lib/xorg/modules
    
    # nvidia programs amd man-pages
    install -d $PKG/usr/{bin,man/man1}
    install -m 0755 nvidia-{settings,xconfig}      $PKG/usr/bin
    install -m 0644 nvidia-{settings,xconfig}.1.gz $PKG/usr/man/man1

    # desktop file and icon
    install -d $PKG/usr/share/{applications,pixmaps}
    sed -i 's:__UTILS_PATH__:/usr/bin: ; s:__PIXMAP_PATH__:/usr/share/pixmaps:' nvidia-settings.desktop
    install -m 0644 nvidia-settings.desktop $PKG/usr/share/applications
    install -m 0644 nvidia-settings.png $PKG/usr/share/pixmaps

    # additional symlinks required by gl-select
    ln -s libGL.so.$version $PKG/usr/lib/libGL_so_1_2_nvidia
    ln -s libglx.so.$version $PKG/usr/lib/xorg/modules/extensions/libglx_so_nvidia

    # kernel module, patch Makefile.kbuild for normal users and no load during build
    cd kernel
    patch -p0 -i $SRC/$name-makefile.patch
    ln -s Makefile.kbuild Makefile
    IGNORE_CC_MISMATCH=1 make module
    install -D -m 0644 nvidia.ko $PKG/lib/modules/`uname -r`/extra/nvidia.ko
}

Added opt-x86_64/nvidia/README.

























































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44

README for nvidia 1xx.xx



*** NOTE for nvidia with udev ***

If using udev, add your user to the "video" group to be able to
use the nvidia devices required for 3d to function properly.


*** NOTE for users of legacy hardware ***

Before installing this port, take a look at the Legacy GPU list on
nvidia's site: http://www.nvidia.com/object/IO_32667.html

If your hardware is supported by either the 1.0-96xx or 1.0-71xx
driver series, install the corresponding port instead of this one.



POST-INSTALL

Use opt/gl-select from ports to select the correct gl/glx
libraries and extensions like so:

	# gl-select use nvidia


POST-REMOVE

Use opt/gl-select from ports to revert to the xorg gl/glx libraries
and extensions like so:

	# gl-select use xorg


When UPGRADING/DOWNGRADING the nvidia port (where the version changes),
use gl-select to revert to xorg and then re-select nvidia in order to
refresh the libGLcore and libGL symlinks, like so:

	# prt-get update nvidia
	# gl-select use xorg; gl-select use nvidia

Added opt-x86_64/nvidia/nvidia-makefile.patch.















































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
--- Makefile.kbuild.orig	2010-06-17 03:57:34.000000000 +0200
+++ Makefile.kbuild	2010-06-25 18:48:49.692516261 +0200
@@ -215,10 +215,10 @@
 .PHONY: suser-sanity-check rmmod-sanity-check build-sanity-checks
 
 suser-sanity-check:
-	@if ! $(CONFTEST) suser_sanity_check; then exit 1; fi
+	#@if ! $(CONFTEST) suser_sanity_check; then exit 1; fi
 
 rmmod-sanity-check:
-	@if ! $(CONFTEST) rmmod_sanity_check; then exit 1; fi
+	#@if ! $(CONFTEST) rmmod_sanity_check; then exit 1; fi
 
 build-sanity-checks:
 	@if ! $(CONFTEST) cc_version_check 		full_output; then exit 1; fi
@@ -246,9 +246,9 @@
 #
 
 module-install: suser-sanity-check module
-	@mkdir -p $(MODULE_ROOT)/video; \
-	install -m 0664 -o root -g root $(MODULE_OBJECT) $(MODULE_ROOT)/video; \
-	PATH="$(PATH):/bin:/sbin" depmod -ae;
+	#@mkdir -p $(MODULE_ROOT)/video; \
+	#install -m 0664 -o root -g root $(MODULE_OBJECT) $(MODULE_ROOT)/video; \
+	#PATH="$(PATH):/bin:/sbin" depmod -ae;
 
 #
 # This target builds, then installs, then creates device nodes and inserts
@@ -256,8 +256,8 @@
 #
 
 package-install: module-install rmmod-sanity-check
-	@PATH="$(PATH):/bin:/sbin" modprobe $(MODULE_NAME) && \
-	echo "$(MODULE_OBJECT) installed successfully.";
+	#@PATH="$(PATH):/bin:/sbin" modprobe $(MODULE_NAME) && \
+	#echo "$(MODULE_OBJECT) installed successfully.";
 
 #
 # Build an object file suitable for further processing by the installer

Added opt-x86_64/python/Pkgfile.





































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# Description: Python interpreter, version 2.7
# URL:         http://www.python.org
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Arch Maintainer: Fredrik Rinnestam, fredrik at crux dot nu
# Depends on:  db gdbm openssl bzip2 zlib sqlite3

name=python
version=2.7.3
release=1
source=(http://www.python.org/ftp/$name/$version/Python-$version.tar.xz)

build () {
    cd Python-$version

    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --enable-shared \
                --with-threads \
                --enable-ipv6

    make EXTRA_CFLAGS="$CFLAGS"
    make -j1 DESTDIR=$PKG install

    ln -sf python2.7 $PKG/usr/bin/python
    ln -s python2.7 $PKG/usr/lib/python
    ln -s python2.7 $PKG/usr/include/python
    ln -s /usr/lib/libpython2.7.so $PKG/usr/lib/python2.7/config/libpython2.7.so

    rm -r $PKG/usr/lib/python/{bsddb,ctypes,email,sqlite3}/test
    rm -r $PKG/usr/lib/python/{distutils,json,lib2to3}/tests
    rm $PKG/usr/lib/python/{distutils,site-packages,test/data}/README
    rm $PKG/usr/lib/python/idlelib/{ChangeLog,{NEWS,README,TODO}.txt}
    rm $PKG/usr/lib/python/ctypes/macholib/README.ctypes
}

Added opt-x86_64/rar/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: The RAR Archiver
# URL: http://www.rarlab.com/
# Packager: Matt Housh, jaeger at crux dot nu
# Maintainer: Lucas Hazel, lucas at die dot net dot au
# Arch Maintainer: Fredrik Rinnestam, fredrik at rinnestam dot se

name=rar
version=4.0.1
release=1
source=(http://www.rarlab.com/rar/rarlinux-x64-$version.tar.gz)

build() {
    cd $name
    install -D -m 0755 rar_static $PKG/usr/bin/rar
    install -D -m 0644 rarfiles.lst $PKG/etc/rarfiles.lst
    install -D -m 0755 default.sfx $PKG/usr/lib/default.sfx
}

Added opt-x86_64/valgrind/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: A debugging and profiling system for Linux programs
# URL: http://valgrind.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Arch Maintainer: 

name=valgrind
version=3.6.1
release=1
source=(http://$name.org/downloads/$name-$version.tar.bz2)

build() {
	cd $name-$version

	./configure --prefix=/usr --mandir=/usr/man
	make
	make DESTDIR=$PKG install

	rm -rf $PKG/usr/share/doc
	rmdir $PKG/usr/share
}

Added opt-x86_64/valgrind/valgrind.diff.











































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-util/valgrind/files/valgrind-3.5.0-glibc-2.12.patch?revision=1.1
http://cvs.fedoraproject.org/viewvc/rpms/valgrind/devel/valgrind-3.5.0-glibc-2.12.patch?view=log

http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-util/valgrind/files/valgrind-3.5.0-stat_h.patch?revision=1.1
http://cvs.fedoraproject.org/viewvc/rpms/valgrind/devel/valgrind-3.5.0-stat_h.patch?view=log

--- configure.in
+++ configure.in
@@ -666,6 +666,16 @@ AC_EGREP_CPP([GLIBC_211], [
 ],
 GLIBC_VERSION="2.11")
 
+AC_EGREP_CPP([GLIBC_212], [
+#include <features.h>
+#ifdef __GNU_LIBRARY__
+ #if (__GLIBC__ == 2 && __GLIBC_MINOR__ == 12)
+  GLIBC_212
+ #endif
+#endif
+],
+GLIBC_VERSION="2.12")
+
 AC_EGREP_CPP([AIX5_LIBC], [
 #include <standards.h>
 #if defined(_AIXVERSION_510) || defined(_AIXVERSION_520) || defined(_AIXVERSION_530)
@@ -759,6 +769,13 @@ case "${GLIBC_VERSION}" in
 	DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
 	DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
 	;;
+     2.12)
+	AC_MSG_RESULT(2.12 family)
+	AC_DEFINE([GLIBC_2_12], 1, [Define to 1 if you're using glibc 2.12.x])
+	DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}"
+	DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
+	DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
+	;;
      aix5)
 	AC_MSG_RESULT(AIX 5.1 or 5.2 or 5.3)
 	AC_DEFINE([AIX5_LIBC], 1, [Define to 1 if you're using AIX 5.1 or 5.2 or 5.3])
--- config.h.in
+++ config.h.in
@@ -18,6 +18,9 @@
 /* Define to 1 if you're using glibc 2.11.x */
 #undef GLIBC_2_11
 
+/* Define to 1 if you're using glibc 2.12.x */
+#undef GLIBC_2_12
+
 /* Define to 1 if you're using glibc 2.2.x */
 #undef GLIBC_2_2
 

--- include/vki/vki-amd64-linux.h
+++ include/vki/vki-amd64-linux.h
@@ -310,6 +310,9 @@ struct vki_stat {
 	long		st_blksize;
 	long		st_blocks;	/* Number 512-byte blocks allocated. */
 
+#undef st_atime
+#undef st_mtime
+#undef st_ctime
 	unsigned long	st_atime;
 	unsigned long 	st_atime_nsec; 
 	unsigned long	st_mtime;
--- include/vki/vki-x86-linux.h
+++ include/vki/vki-x86-linux.h
@@ -348,6 +348,9 @@ struct vki_stat {
 	unsigned long  st_size;
 	unsigned long  st_blksize;
 	unsigned long  st_blocks;
+#undef st_atime
+#undef st_mtime
+#undef st_ctime
 	unsigned long  st_atime;
 	unsigned long  st_atime_nsec;
 	unsigned long  st_mtime;
--- include/vki/vki-ppc32-linux.h
+++ include/vki/vki-ppc32-linux.h
@@ -392,6 +392,9 @@ struct vki_stat {
    long			st_size;
    unsigned long	st_blksize;
    unsigned long	st_blocks;
+#undef st_atime
+#undef st_mtime
+#undef st_ctime
    unsigned long	st_atime;
    unsigned long	st_atime_nsec;
    unsigned long	st_mtime;
--- include/vki/vki-ppc64-linux.h
+++ include/vki/vki-ppc64-linux.h
@@ -428,6 +428,9 @@ struct vki_stat {
   long            st_size;
   unsigned long   st_blksize;
   unsigned long   st_blocks;
+#undef st_atime
+#undef st_mtime
+#undef st_ctime
   unsigned long   st_atime;
   unsigned long   st_atime_nsec;
   unsigned long   st_mtime;

Added opt/README.



>
1
Add info about the opt repository

Added opt/a2ps/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description: ASCII to Postscript converter (Prettyprint)
# URL:         http://www.gnu.org/software/a2ps/
# Maintainer:  Juergen Daubert, jue at crux dot nu 
# Depends on:  psutils gperf perl

name=a2ps
version=4.14
release=1
source=(http://ftp.gnu.org/gnu/a2ps/$name-$version.tar.gz)

build() {
    cd $name-$version
    
    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --disable-nls
    make
    make DESTDIR=$PKG install

    rm -r $PKG/usr/share/info
    find $PKG -type f -name README -delete
}

Added opt/adobereader/Pkgfile.























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# Description: Portable Document Format Viewer with Search
# URL: http://www.adobe.com/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Markus Ackermann, maol at symlink dot ch
# Depends on: gtk libstdc++-compat

name=adobereader
version=9.4.6
release=1
source=(ftp://ftp.adobe.com/pub/adobe/reader/unix/9.x/$version/enu/AdbeRdr${version}-1_i486linux_enu.tar.bz2 \
        acroread.diff)

PKGMK_NO_STRIP="yes"

build() {
  install -d $PKG/usr/{bin,lib}
  tar -C $PKG/usr/lib -xf $SRC/AdobeReader/COMMON.TAR
  tar -C $PKG/usr/lib -xf $SRC/AdobeReader/ILINXR.TAR

  rm -rf $PKG/usr/lib/Adobe/Reader9/{help,HowTo,bin/UNINSTALL} \
    $PKG/usr/lib/Adobe/Reader9/Browser/{HowTo,install_browser_plugin} \
    $(find $PKG/usr/lib -name PPKLite.api) \
    $PKG/usr/lib/Adobe/Reader9/Reader/intellinux/lib/libauthplay*

  patch $PKG/usr/lib/Adobe/Reader9/bin/acroread $SRC/acroread.diff
  ln -sf /usr/lib/Adobe/Reader9/bin/acroread $PKG/usr/bin/acroread
}

Added opt/adobereader/README.









>
>
>
>
1
2
3
4
PRE-INSTALL

It seems that the Mozilla plugin has problems with stripping. Be sure to build
the package with -ns option if you intend to use the plugin.

Added opt/adobereader/acroread.diff.























>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
--- acroread.orig	2011-11-18 11:39:00.303834998 +0100
+++ acroread	2011-11-18 11:30:59.000000000 +0100
@@ -526,7 +526,7 @@ fi
 if [ -z "$mozillaPath" ]; then
   MozPath="`gconftool-2 -g /desktop/gnome/url-handlers/http/command 2>/dev/null | cut -d ' ' -f1 2>/dev/null`"
   [ -x "${MozPath}" ] || MozPath="`Which "$MozPath"`"
-  mozillaPath="`readlink "$MozPath" | xargs dirname`"
+  [ -n $MozPath ] || mozillaPath="`readlink "$MozPath" | xargs dirname`"
   if [ -n "$mozillaPath" ] &&  $TestCmd $TestCmdOption "$mozillaPath/libgtkembedmoz.so" || $TestCmd $TestCmdOption "$mozillaPath/libxul.so" ; then
     MOZILLA_COMP_PATH="$mozillaPath"
     export MOZILLA_COMP_PATH

Added opt/alsa-lib/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: ALSA libraries
# URL: http://www.alsa-project.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: python

name=alsa-lib
version=1.0.24.1
release=1
source=(ftp://ftp.alsa-project.org/pub/lib/$name-$version.tar.bz2)

build() {
	cd $name-$version
	./configure --prefix=/usr
	make
	make DESTDIR=$PKG install
}

Added opt/alsa-oss/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: ALSA OSS Emulation
# URL: http://www.alsa-project.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: alsa-lib

name=alsa-oss
version=1.0.17
release=1
source=(ftp://ftp.alsa-project.org/pub/oss-lib/$name-$version.tar.bz2)

build() {
	cd $name-$version
	./configure --prefix=/usr --mandir=/usr/man
	make
	make DESTDIR=$PKG install
}

Added opt/alsa-utils/Pkgfile.





































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# Description: ALSA utils
# URL: http://www.alsa-project.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: gettext, alsa-lib, dialog

name=alsa-utils
version=1.0.24.2
release=1
source=(ftp://ftp.alsa-project.org/pub/utils/$name-$version.tar.bz2 \
	rc.alsa)

build() {
	cd $name-$version
	./configure --prefix=/usr --disable-nls --mandir=/usr/man

	# alsactl_init.7 is generated using xmlto, which we don't have
	touch alsactl/alsactl_init.7

	make
	make DESTDIR=$PKG install
	rm -rf $PKG/usr/share $PKG/usr/man/fr

	# see above
	rm -f $PKG/usr/man/man7/alsactl_init.7
	rmdir $PKG/usr/man/man7

	install -D -m 0755 $SRC/rc.alsa $PKG/etc/rc.d/alsa

	# Not sure about this yet.
	rm $PKG/lib/udev/rules.d/90-alsa-restore.rules
	rmdir $PKG/lib/udev/rules.d
	rmdir $PKG/lib/udev
	rmdir $PKG/lib
}

Added opt/alsa-utils/README.

















































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40


README for alsa-utils


In order to facilitate saving and restoring of soundcard mixer levels at
shutdown and boot, take these two methods as examples:


***NOTE***
BOTH methods require that you store your mixer levels beforehand, use
'/usr/sbin/alsactl store' first!
**********


Method 1: /etc/modprobe.conf

Add something like the following to /etc/modprobe.conf:

----
# ALSA mixer settings save/restore
install snd-emu10k1 /sbin/modprobe --ignore-install \
	snd-emu10k1 $CMDLINE_OPTS; /usr/sbin/alsactl restore
remove snd-emu10k1 /usr/sbin/alsactl store; /sbin/modprobe -r \
	--ignore-remove snd-emu10k1
----

(As with the other READMEs replace 'snd-emu10k1' with the correct
 soundcard module for your system.)

(On some hardware it seems the kernel module gets loaded but the
 soundcard isn't initialized in time for the modprobe.conf install
 command to succeed. If this is the case for your hardware, try
 method 2 instead.)


Method 2: /etc/rc.d/alsa init script

Add "alsa" to the SERVICES array in /etc/rc.conf.

Added opt/alsa-utils/rc.alsa.





















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/bin/sh
#
# /etc/rc.d/alsa: store/restore ALSA mixer levels
#

# location of the alsactl executable
ALSACTL=/usr/sbin/alsactl

case $1 in
	start)
		$ALSACTL restore
		;;
	stop)
		$ALSACTL store
		;;
	restart)
		$0 stop
		sleep 2
		$0 start
		;;
	*)
		echo "Usage: $0 [start|stop|restart]"
		;;
esac

# End of file

Added opt/antiword/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: Show the text and images of MS Word documents
# URL: http://www.winfield.demon.nl
# Maintainer: Antti Nykanen, aon at iki dot fi
# Packager: sten, nick dot steeves at shaw dot ca

name=antiword
version=0.37
release=1
source=(http://www.winfield.demon.nl/linux/$name-$version.tar.gz)

build() {
	cd $name-$version
	make GLOBAL_INSTALL_DIR=/usr/bin OPT="$CFLAGS"
	install -d -m 0755 $PKG/usr/bin $PKG/usr/share/$name $PKG/usr/man/man1
	make DESTDIR=$PKG GLOBAL_INSTALL_DIR=/usr/bin global_install
	install -D -m 0644 Docs/$name.1 $PKG/usr/man/man1/$name.1
	# kantiword is a shell wrapper to make d&d possible in KDE
	#rm $PKG/usr/bin/kantiword
}

Added opt/antiword/README.











>
>
>
>
>
1
2
3
4
5
POST-INSTALL

Tip: If you put the following entry in your mailcap file,
Some mailclients, like mutt, will extract text from .doc-files:
application/msword;antiword %s;copiousoutput

Added opt/apache/Pkgfile.





















































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# Description: Apache HTTP server version 2.2.x
# Maintainer:  Juergen Daubert, jue at crux dot nu
# URL:         http://httpd.apache.org/
# Depends on:  apr libpcre openssl zlib
# Group:       apache

name=apache
version=2.2.22
release=1
source=(http://www.apache.org/dist/httpd/httpd-$version.tar.bz2 \
        $name-ssl_cert.patch crux.layout apache)

build(){
   cd httpd-$version

   patch -p1 < $SRC/$name-ssl_cert.patch
   cat $SRC/crux.layout >> config.layout

   ./configure --enable-layout=CRUX \
               --with-apr=/usr \
               --with-apr-util=/usr \
               --with-pcre=/usr \
               --enable-so \
               --enable-modules=all \
               --enable-mods-shared=all \
               --enable-ssl \
               --enable-proxy \
               --enable-cache --enable-{disk,file,mem}-cache \
               --with-mpm=prefork
   make 
   make -j1 DESTDIR=$PKG install

   mkdir -p $PKG/etc/ssl/{keys,certs}
   touch $PKG/etc/ssl/keys/apache.key
   touch $PKG/etc/ssl/certs/apache.crt
   install -D -m 755 $SRC/apache $PKG/etc/rc.d/apache

   sed -ri '/^(User|Group)/s/daemon/www/' $PKG/etc/apache/httpd.conf
   sed -i '1s|local/||' $PKG/var/www/cgi-bin/printenv
   rm -R $PKG/{var/www/htdocs/*,usr/bin}
   rm $PKG/var/www/{error,icons}/README*
}

Added opt/apache/apache.























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/bin/sh
#
# /etc/rc.d/apache: start/stop/restart apache HTTP server
#

KEY=/etc/ssl/keys/apache.key
CRT=/etc/ssl/certs/apache.crt

case $1 in
start)
	if [ ! -s $KEY -o ! -s $CRT ]; then 
		/usr/bin/mksslcert $KEY $CRT
	fi
	/usr/sbin/apachectl start 
	;;
stop)
	/usr/sbin/apachectl stop 
	;;
restart)
	/usr/sbin/apachectl restart 
	;;
*)
	echo "usage: $0 [start|stop|restart]"
	;;
esac

# End of file

Added opt/apache/apache-ssl_cert.patch.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
diff -Nru httpd-2.2.6.orig/docs/conf/extra/httpd-ssl.conf.in httpd-2.2.6/docs/conf/extra/httpd-ssl.conf.in
--- httpd-2.2.6.orig/docs/conf/extra/httpd-ssl.conf.in	2007-09-07 16:24:03.000000000 +0200
+++ httpd-2.2.6/docs/conf/extra/httpd-ssl.conf.in	2007-09-07 16:27:15.000000000 +0200
@@ -96,7 +96,7 @@
 #   in mind that if you have both an RSA and a DSA certificate you
 #   can configure both in parallel (to also allow the use of DSA
 #   ciphers, etc.)
-SSLCertificateFile "@exp_sysconfdir@/server.crt"
+SSLCertificateFile "/etc/ssl/certs/apache.crt"
 #SSLCertificateFile "@exp_sysconfdir@/server-dsa.crt"
 
 #   Server Private Key:
@@ -104,7 +104,7 @@
 #   directive to point at the key file.  Keep in mind that if
 #   you've both a RSA and a DSA private key you can configure
 #   both in parallel (to also allow the use of DSA ciphers, etc.)
-SSLCertificateKeyFile "@exp_sysconfdir@/server.key"
+SSLCertificateKeyFile "/etc/ssl/keys/apache.key"
 #SSLCertificateKeyFile "@exp_sysconfdir@/server-dsa.key"
 
 #   Server Certificate Chain:

Added opt/apache/crux.layout.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#   CRUX layout
<Layout CRUX>
    prefix:          /usr
    exec_prefix:     ${prefix}
    bindir:          ${prefix}/bin
    sbindir:         ${prefix}/sbin
    libdir:          ${prefix}/lib
    libexecdir:      ${prefix}/lib/apache
    installbuilddir: ${prefix}/lib/apache/build
    mandir:          ${prefix}/man
    sysconfdir:      /etc/apache
    datadir:         /var/www
    iconsdir:        ${datadir}/icons
    htdocsdir:       ${datadir}/htdocs
    manualdir:       ${htdocsdir}/manual
    cgidir:          ${datadir}/cgi-bin
    errordir:        ${datadir}/error
    includedir:      ${prefix}/include/apache
    localstatedir:   /var
    runtimedir:      ${localstatedir}/run/apache
    logfiledir:      ${localstatedir}/log/apache
    proxycachedir:   ${localstatedir}/cache/apache
</Layout>

Added opt/apr/Pkgfile.



































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# Description: Apache Portable Runtime library
# Maintainer:  Juergen Daubert, jue at crux dot nu
# URL:         http://apr.apache.org/
# Depends on:  util-linux-ng, expat, db, gdbm

name=apr
version=1.4.6
release=1
source=(http://www.apache.org/dist/$name/$name-$version.tar.bz2 \
        http://www.apache.org/dist/$name/$name-util-1.4.1.tar.bz2)

build(){
    cd $name-$version
    ./configure --prefix=/usr \
                --with-installbuilddir=/usr/share/apr-1 
    make 
    make DESTDIR=$PKG install

    cd $SRC/$name-util-1.4.1
    ./configure --prefix=/usr \
                --with-apr=$SRC/$name-$version \
                --with-expat=/usr \
                --with-berkeley-db=/usr \
                --with-gdbm=/usr \
                --without-sqlite3 \
                --disable-util-dso
    make
    make DESTDIR=$PKG install

    sed -i -r "/^APR_(SOURCE|BUILD)/s|=.*|=|" $PKG/usr/bin/apr-1-config
    sed -i -r "/^APU_(SOURCE|BUILD)/s|=.*|=|" $PKG/usr/bin/apu-1-config
    rm -r $PKG/usr/lib/*.exp
}

Added opt/aspell-en/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: English dictionary for aspell
# URL:         http://aspell.net
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  aspell

name=aspell-en
version=7.1-0
release=1
source=(http://ftp.gnu.org/gnu/aspell/dict/en/aspell6-en-$version.tar.bz2)

build () {
    cd aspell6-en-$version
    ./configure
    make
    make DESTDIR=$PKG install
}

Added opt/aspell/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: GNU aspell is a spell checker designed to replace ispell
# URL:         http://aspell.net
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  ncurses

name=aspell
version=0.60.6.1
release=1
source=(http://ftp.gnu.org/gnu/$name/$name-$version.tar.gz)

build () {
    cd $name-$version
    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --enable-curses=ncursesw
    make
    make DESTDIR=$PKG install
    rm -R $PKG/usr/share
}

Added opt/aterm/Pkgfile.























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# Description: xterm replacement with transparency and fading
# URL:         http://aterm.sourceforge.net
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  xorg-libxext xorg-libsm xorg-libxt xorg-font-misc-misc xorg-font-alias

name=aterm
version=1.0.1
release=2
source=(http://download.sourceforge.net/$name/$name-$version.tar.gz
        $name-fake_root.patch 
        $name-fkeys.patch 
        $name-$version-display-security-issue.patch)

build () {
    cd aterm-$version

    patch -p1 -i $SRC/$name-$version-display-security-issue.patch
    patch -p1 -i $SRC/$name-fake_root.patch
    patch -p1 -i $SRC/$name-fkeys.patch

    cp autoconf/configure.in .
    autoconf
    autoheader
    ./configure --prefix=/usr --enable-fake-root --mandir=/usr/man
    make
    make DESTDIR=$PKG install
}

Added opt/aterm/aterm-1.0.1-display-security-issue.patch.























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-1142
# http://sources.gentoo.org/viewcvs.py/gentoo-x86/x11-terms/aterm/

--- aterm-1.0.1/src/main.c	2007-08-01 16:08:29.000000000 +0200
+++ aterm-1.0.1.new/src/main.c	2008-05-03 14:06:52.000000000 +0200
@@ -2057,10 +2057,6 @@
  */
     get_options(argc, argv);
 
-	if( display_name == NULL )
-    	if ((display_name = getenv("DISPLAY")) == NULL)
-			display_name = ":0";
-
 #ifdef HAVE_AFTERSTEP
 #ifdef MyArgs_IS_MACRO	
     MyArgsPtr = safecalloc(1, sizeof(ASProgArgs) );
@@ -2102,7 +2098,9 @@
 	Xdisplay = XOpenDisplay(display_name);
     
 	if (!Xdisplay) {
-		print_error("can't open display %s", display_name);
+		print_error("can't open display %s", display_name?display_name:
+				getenv("DISPLAY")?getenv("DISPLAY"):
+				"as no -d given and DISPLAY not set");
 		exit(EXIT_FAILURE);
     }
   /* changed from _MOTIF_WM_INFO - Vaevictus - gentoo bug #139554 */

Added opt/aterm/aterm-fake_root.patch.







































































































































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
diff -Nru aterm-1.0.1.orig/README.configure aterm-1.0.1/README.configure
--- aterm-1.0.1.orig/README.configure	2007-08-02 14:35:31.000000000 +0200
+++ aterm-1.0.1/README.configure	2007-08-02 14:23:19.000000000 +0200
@@ -56,6 +56,10 @@
 	the mouse button down on a scrollbar arrow
 --disable-mousewheel
 	remove support for scrolling via mouse wheel or buttons 4 & 5
+--enable-fake-root
+	add support for pseudo root terminals. Associated with 
+	transparency options, this enables pseudo-terminals
+	looking like they are part of X root window
 --enable-old-selection
 	revert mouse selection to something similar to v2.20 (and prior) -
 	this implies word selection of those versions (i.e. next option)
diff -Nru aterm-1.0.1.orig/autoconf/configure.in aterm-1.0.1/autoconf/configure.in
--- aterm-1.0.1.orig/autoconf/configure.in	2007-08-02 14:35:30.000000000 +0200
+++ aterm-1.0.1/autoconf/configure.in	2007-08-02 15:00:51.000000000 +0200
@@ -82,6 +82,9 @@
 AC_ARG_ENABLE(mousewheel,  [  --disable-mousewheel    disable scrolling via mouse wheel or buttons 4 & 5],
   [if test x$enableval = xno; then  AC_DEFINE(NO_MOUSE_WHEEL,1,[Use wheel events (button4 and button5) to scroll])  fi])
 
+AC_ARG_ENABLE(fake-root,  [  --enable-fake-root      enable fake root support],
+  [if test x$enableval = xyes; then  AC_DEFINE(FAKE_ROOT,1,[Define to enable fake root pseudo-terminals])  fi])
+
 AC_ARG_ENABLE(old-selection, [  --enable-old-selection  enable v2.20 (and prior) mouse selection
                           - this implies old word selection],
   [if test x$enableval = xyes; then  AC_DEFINE(OLD_SELECTION,1,[Define to use old rxvt (ver 2.20 and before) style selection, not xterm style.]) fi])
@@ -635,7 +638,7 @@
   [setlocale(LC_CTYPE, "");],
   rxvt_cv_func_xsetlocale=yes, rxvt_cv_func_xsetlocale=no)])
 if test "${rxvt_cv_func_xsetlocale}" = no; then
-  AC_DEFINE(NO_XSETLOCALE)
+  AC_DEFINE(NO_XSETLOCALE,1,[Define if xsetlocale doesn't work])
 fi
 
 AC_CACHE_CHECK(for working plain setlocale, rxvt_cv_func_setlocale,
diff -Nru aterm-1.0.1.orig/doc/aterm.1 aterm-1.0.1/doc/aterm.1
--- aterm-1.0.1.orig/doc/aterm.1	2007-08-02 14:35:30.000000000 +0200
+++ aterm-1.0.1/doc/aterm.1	2007-08-02 14:23:19.000000000 +0200
@@ -230,6 +230,16 @@
 .IP "\fB-st\fP|\fB+st\fP" 
 Display scrollbar without/with a trough;
 resource \fBscrollBar_floating\fP\&.
+.IP "\fB-fr\fP|\fB+fr\fP" 
+Turn on/off making the aterm's parent window an unmanaged one mapped 
+at the bottom on the stack without cursor change. When turned on, also 
+provide a 'point-to-focus' behavior model independently
+from the X Window Manager.\&
+
+This is useful combined with other options (\fB-tr\fP, \fB-bw\fP,
+\fB-geometry\fP, ...) to provide pseudo-terminals seamlessly integrated
+into the X desktop. Please note this will not work as expected with WMs 
+masquerading the X root window with fake roots; resource \fBfakeRoot\fP\&.
 .IP "\fB-iconic\fP" 
 Start iconified, if the window manager supports that option\&.
 .IP "\fB-sl\fP \fInumber\fP" 
diff -Nru aterm-1.0.1.orig/src/command.c aterm-1.0.1/src/command.c
--- aterm-1.0.1.orig/src/command.c	2007-08-02 14:35:31.000000000 +0200
+++ aterm-1.0.1/src/command.c	2007-08-02 15:48:46.000000000 +0200
@@ -1886,9 +1886,9 @@
 	    case XK_F2:		/* "\033[12~" */
 	    case XK_F3:		/* "\033[13~" */
 	    case XK_F4:		/* "\033[14~" */
-			FKEY(11, XK_F1);
+		    FKEY(11, XK_F1);
 		break;
-#endif			
+#endif
 	    case XK_F5:		/* "\033[15~" */
 			FKEY(15, XK_F5);
 		break;
@@ -2411,6 +2411,13 @@
 	}
 	break;
 
+#ifdef FAKE_ROOT
+    case EnterNotify:
+      if (Options&Opt_fake_root)
+	XGrabKeyboard(Xdisplay,TermWin.parent,True,
+		      GrabModeAsync,GrabModeAsync,CurrentTime);
+      else break;
+#endif
     case FocusIn:
 	if (!TermWin.focus) {
 	    TermWin.focus = 1;
@@ -2427,7 +2434,12 @@
 #endif
 	}
 	break;
-
+#ifdef FAKE_ROOT
+    case LeaveNotify:
+      if (Options&Opt_fake_root)
+	XUngrabKeyboard(Xdisplay,CurrentTime);
+      else break;
+#endif
     case FocusOut:
 	if (TermWin.focus) {
 	    TermWin.focus = 0;
diff -Nru aterm-1.0.1.orig/src/main.c aterm-1.0.1/src/main.c
--- aterm-1.0.1.orig/src/main.c	2007-08-02 14:35:30.000000000 +0200
+++ aterm-1.0.1/src/main.c	2007-08-02 14:23:19.000000000 +0200
@@ -705,7 +705,14 @@
 					   &attributes);
 
 #else
-	attr_mask |= CWColormap ;
+#ifdef FAKE_ROOT
+    attributes.override_redirect = (Options&Opt_fake_root)?True:False;
+    mwmhints.flags = 0;
+#else
+    attributes.override_redirect = False;
+#endif
+
+    attr_mask |= CWColormap | CWOverrideRedirect ;
     TermWin.parent = XCreateWindow(Xdisplay, Xroot,
 				   szHint.x, szHint.y,
 				   szHint.width, szHint.height,
@@ -745,8 +752,17 @@
     }
    
 
-/* vt cursor: Black-on-White is standard, but this is more popular */
-    TermWin_cursor = XCreateFontCursor(Xdisplay, XC_xterm);
+/* vt cursor: Black-on-White is standard, but this is more popular,
+   so let's do the opposite unless we found ourselves in the FAKE_ROOT case
+*/
+    TermWin_cursor = XCreateFontCursor(Xdisplay, 
+#ifndef FAKE_ROOT
+				       XC_xterm
+#else
+				       (Options&Opt_fake_root)?
+				       XC_left_ptr:XC_xterm
+#endif
+);
     {
 		XColor          fg, bg;
 
@@ -754,6 +770,11 @@
 		XQueryColor(Xdisplay, Xcmap, &fg);
 		bg.pixel = PixColors[Color_bg];
 		XQueryColor(Xdisplay, Xcmap, &bg);
+#ifdef FAKE_ROOT
+		if (Options&Opt_fake_root)
+		  XRecolorCursor(Xdisplay, TermWin_cursor, &bg, &fg);
+		else
+#endif
 		XRecolorCursor(Xdisplay, TermWin_cursor, &fg, &bg);
     }
 
@@ -763,7 +784,12 @@
 							 ButtonPressMask | 
 							 ButtonReleaseMask |
 		  					 Button1MotionMask | 
-							 Button3MotionMask);
+				 Button3MotionMask 
+#ifdef FAKE_ROOT
+				 | EnterWindowMask | 
+				 LeaveWindowMask 
+#endif
+				 );
 	attributes.cursor = TermWin_cursor ;
 /* the vt window */
 #ifdef HAVE_AFTERIMAGE
@@ -2361,6 +2387,11 @@
 /* do it now to avoid unneccessary redrawing */
     XMapWindow(Xdisplay, TermWin.vt);
     XMapWindow(Xdisplay, TermWin.parent);
+#ifdef FAKE_ROOT
+/* put the window on the bottom of the stack if we are 'faking root' */
+    if (Options&Opt_fake_root)
+      XLowerWindow(Xdisplay, TermWin.parent);
+#endif
 
 #if 0
 #if defined(BACKGROUND_IMAGE) || defined(TRANSPARENT) || defined(_MYSTYLE_)
diff -Nru aterm-1.0.1.orig/src/rxvt.h aterm-1.0.1/src/rxvt.h
--- aterm-1.0.1.orig/src/rxvt.h	2007-08-02 14:35:31.000000000 +0200
+++ aterm-1.0.1/src/rxvt.h	2007-08-02 14:33:42.000000000 +0200
@@ -785,6 +785,7 @@
 #define Opt_transparent		(1LU<<13)
 #define Opt_transparent_sb	(1LU<<14)
 #define Opt_borderLess		(1LU<<16)
+#define Opt_fake_root       (1LU<<17)
 
 /* place holder used for parsing command-line options */
 #define Opt_Reverse		(1LU<<30)
diff -Nru aterm-1.0.1.orig/src/xdefaults.c aterm-1.0.1/src/xdefaults.c
--- aterm-1.0.1.orig/src/xdefaults.c	2007-08-02 14:35:30.000000000 +0200
+++ aterm-1.0.1/src/xdefaults.c	2007-08-02 14:23:19.000000000 +0200
@@ -80,6 +80,9 @@
 #ifdef GREEK_SUPPORT
 static const char *rs_greek_keyboard = NULL;
 #endif
+#ifdef FAKE_ROOT
+static const char *rs_fake_root = NULL;
+#endif
 /*}}} */
 
 /*{{{ monolithic option/resource structure: */
@@ -316,6 +319,10 @@
 	 "scroll-on-tty-output inhibit"),
     BOOL(rs_scrollKeypress, "scrollKey", "sk",
          Opt_scrollKeypress, "scroll-on-keypress"),
+#ifdef FAKE_ROOT
+    BOOL(rs_fake_root, "fakeRoot", "fr", Opt_fake_root, 
+	 "fake root window embedding"),
+#endif
     STRG(rs_minBufferWidth, "minBufferWidth", "mbw", "number",
          "minimum number of columns stored in buffer"),
     STRG(rs_saveLines, "saveLines", "sl", "number",

Added opt/aterm/aterm-fkeys.patch.







































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
diff -Nru aterm-1.0.1.orig/src/command.c aterm-1.0.1/src/command.c
--- aterm-1.0.1.orig/src/command.c	2007-08-03 11:20:28.000000000 +0200
+++ aterm-1.0.1/src/command.c	2007-08-03 11:21:53.000000000 +0200
@@ -1869,28 +1869,18 @@
 		}
 		break;
 		
-		case XK_F1:		/* "\033OP" */
-	    case XK_F2:		/* "\033OQ" */
-	    case XK_F3:		/* "\033OR" */
-	    case XK_F4:		/* "\033OS" */
-		len = 3;
-		STRCPY(kbuf, "\033OP");
-		kbuf[2] += (keysym - XK_F1);
-		break;
-
 #define FKEY(n, fkey)							\
     len = 5;								\
     sprintf((char *) kbuf,"\033[%02d~", (int)((n) + (keysym - fkey)))
-#if 0                          /* old style keymappings : */
 	    case XK_F1:		/* "\033[11~" */
 	    case XK_F2:		/* "\033[12~" */
 	    case XK_F3:		/* "\033[13~" */
 	    case XK_F4:		/* "\033[14~" */
-		    FKEY(11, XK_F1);
+		FKEY(11, XK_F1);
 		break;
-#endif
+
 	    case XK_F5:		/* "\033[15~" */
-			FKEY(15, XK_F5);
+		FKEY(15, XK_F5);
 		break;
 
 	    case XK_F6:		/* "\033[17~" */

Added opt/atk/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: A set of interfaces for accessibility
# URL: http://www.gtk.org/
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: glib

name=atk
version=1.30.0
release=1
source=(http://download.gnome.org/sources/$name/1.30/$name-$version.tar.bz2)

build () {
	cd $name-$version
	./configure --prefix=/usr 
	make
	make DESTDIR=$PKG install
	rm -r $PKG/usr/share
}

Added opt/audiofile/Pkgfile.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Description: Provides a uniform API for accessing many audio file formats
# Maintainer: Till Biedermann, tillbiedermann at yahoo dot de
# URL: http://www.68k.org/~michael/audiofile
# Depends on:

name=audiofile
version=0.2.6
release=1
source=(http://www.68k.org/~michael/$name/$name-$version.tar.gz)

build () {
	cd $name-$version
	./configure --prefix=/usr
	make && make DESTDIR=$PKG install
}

Added opt/babl/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Dynamic, any to any, pixel format translation library
# URL: http://gegl.org/babl
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager: Simone Rota, sip at crux dot nu
# Depends on:

name=babl
version=0.1.6
release=1
source=(ftp://ftp.gtk.org/pub/babl/0.1/$name-$version.tar.bz2)

build() {
  cd $name-$version

  ./configure --prefix=/usr
  make
  make DESTDIR=$PKG install
}

Added opt/bash-completion/Pkgfile.





















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# Description: Bash completion functions
# URL: http://bash-completion.alioth.debian.org/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Johannes Winkelmann, jw at smts dot ch
# Depends on: bash

name=bash-completion
version=1.99
release=1
source=(http://$name.alioth.debian.org/files/$name-$version.tar.bz2)

build() {
    cd $name-$version

    sed -i Makefile.* \
	-e 's|pkgconfigdir = .*|pkgconfigdir = /usr/lib/pkgconfig|g' \
	-e 's|profiledir = .*|profiledir = /etc|g'

    ./configure --prefix=/usr --sysconfdir=/etc

    make
    make DESTDIR=$PKG install

    mv $PKG/etc/bash_completion{.sh,}
    chmod 0755 $PKG/usr/share/$name/bash_completion
}

Added opt/bash-completion/README.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

README for bash-completion

POST-INSTALL:

	The easiest way to use bash-completion is to source it from either
	/etc/bashrc or ~/.bashrc (or any other file sourcing those). You can
	do this by simply adding the following line:

	. /etc/bash_completion

	or alternatively:

	# Use bash-completion, if available
	[[ $PS1 && -f /usr/share/bash-completion/bash-completion ]] && \
	. /usr/share/bash-completion/bash-completion

	Note that you can also put additional init code into ~/.bash_completion

Added opt/bbkeys/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: bbkeys, keybinding software for blackbox 
# URL: 	       http://bbkeys.sourceforge.net
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  blackbox

name=bbkeys
version=0.9.1
release=1
source=(http://download.sourceforge.net/bbkeys/$name-$version.tar.gz)

build () {
    cd $name-$version 
    ./configure --prefix=/usr --mandir=/usr/man 
    make
    make DESTDIR=$PKG install
    rm -rf $PKG/usr/share/doc
}

Added opt/bchunk/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: BinChunker for Unix / Linux
# URL: http://hes.iki.fi/bchunk/
# Packager: Matt Housh, jaeger at morpheus dot net
# Maintainer: Antti Nykanen, aon at iki dot fi

name=bchunk
version=1.2.0
release=1
source=(http://he.fi/$name/$name-$version.tar.gz)

build() {
	cd $name-$version
	make
	mkdir -p $PKG/usr/bin $PKG/usr/man/man1
	make PREFIX=$PKG/usr install
	chown root:root $PKG/usr/man/man1/*
}

Added opt/blackbox/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: Fast and small window manager
# URL: http://blackboxwm.sourceforge.net
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Johannes Winkelmann, jw at smts dot ch
# Depends on: xorg-libxext xorg-libxft

name=blackbox
version=0.70.1
release=2
source=(http://download.sourceforge.net/blackboxwm/$name-$version.tar.bz2
        blackbox-0.70.1-include-fix.diff)
 

build () {
    cd $name-$version
    patch -p1 -i $SRC/blackbox-0.70.1-include-fix.diff
    ./configure --prefix=/usr --disable-nls
    make
    make DESTDIR=$PKG install
}

Added opt/blackbox/blackbox-0.70.1-include-fix.diff.

























































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
--- blackbox-0.70.1/lib/Image.cc.orig	2008-10-03 09:23:56.000000000 +0200
+++ blackbox-0.70.1/lib/Image.cc	2008-10-03 09:24:08.000000000 +0200
@@ -44,6 +44,7 @@
 #include <math.h>
 #include <stdio.h>
 #include <stdlib.h>
+#include <string.h>
 
 // #define COLORTABLE_DEBUG
 // #define MITSHM_DEBUG
--- blackbox-0.70.1.orig/lib/Resource.cc	2008-10-07 18:32:55.000000000 +0200
+++ blackbox-0.70.1/lib/Resource.cc	2008-10-07 18:34:05.000000000 +0200
@@ -29,6 +29,7 @@
 #include <X11/Xresource.h>
 
 #include <stdio.h>
+#include <strings.h>
 
 
 bt::Resource::Resource(void)
--- blackbox-0.70.1.orig/lib/XDG.cc	2008-10-07 18:32:55.000000000 +0200
+++ blackbox-0.70.1/lib/XDG.cc	2008-10-07 18:47:25.000000000 +0200
@@ -26,7 +26,7 @@
 #include "XDG.hh"
 
 #include <stdlib.h>
-
+#include <algorithm>
 
 // make sure directory names end with a slash
 static std::string terminateDir(const std::string &string)
--- blackbox-0.70.1.orig/src/BlackboxResource.cc	2008-10-07 18:32:55.000000000 +0200
+++ blackbox-0.70.1/src/BlackboxResource.cc	2008-10-07 18:48:13.000000000 +0200
@@ -33,6 +33,7 @@
 #include <X11/Xutil.h>
 #include <X11/cursorfont.h>
 
+#include <strings.h>
 
 BlackboxResource::BlackboxResource(const std::string& rc): rc_file(rc) {
   screen_resources = 0;
--- blackbox-0.70.1.orig/src/ScreenResource.cc	2008-10-07 18:32:55.000000000 +0200
+++ blackbox-0.70.1/src/ScreenResource.cc	2008-10-07 18:49:10.000000000 +0200
@@ -32,7 +32,7 @@
 #include <Resource.hh>
 
 #include <assert.h>
-
+#include <strings.h>
 
 static const int iconify_width  = 9;
 static const int iconify_height = 9;
--- blackbox-0.70.1.orig/src/Screen.cc	2008-10-07 18:32:55.000000000 +0200
+++ blackbox-0.70.1/src/Screen.cc	2008-10-07 18:50:01.000000000 +0200
@@ -47,7 +47,7 @@
 #include <assert.h>
 #include <ctype.h>
 #include <dirent.h>
-
+#include <string.h>
 
 static bool running = true;
 static int anotherWMRunning(Display *, XErrorEvent *) {
--- blackbox-0.70.1.orig/src/main.cc	2008-10-07 18:32:55.000000000 +0200
+++ blackbox-0.70.1/src/main.cc	2008-10-07 18:50:48.000000000 +0200
@@ -35,7 +35,7 @@
 #include "../version.h"
 
 #include <stdio.h>
-
+#include <string.h>
 
 static void showHelp(int exitval) {
   // print version - this should not be localized!
--- blackbox-0.70.1.orig/util/bsetroot.cc	2008-10-07 18:32:55.000000000 +0200
+++ blackbox-0.70.1/util/bsetroot.cc	2008-10-07 18:52:33.000000000 +0200
@@ -31,7 +31,8 @@
 
 #include <X11/Xatom.h>
 #include <stdio.h>
-
+#include <string.h>
+#include <stdlib.h>
 
 // ignore all X errors
 static int x11_error(::Display *, XErrorEvent *)

--- blackbox-0.70.1.orig/lib/Util.hh
+++ blackbox-0.70.1/lib/Util.hh
@@ -25,6 +25,8 @@
 #ifndef __Util_hh
 #define __Util_hh

+#include <X11/Xutil.h>
+
 #include <limits.h>
 #include <string>

@@ -94,10 +96,8 @@

   std::string tolower(const std::string &string);

-#ifdef _XUTIL_H_
   std::string textPropertyToString(::Display *display,
                                    ::XTextProperty& text_prop);
-#endif

 } // namespace bt

Added opt/boehm-gc/Pkgfile.



















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# Description: Garbage collection and memory leak detection for C and C++
# URL: http://www.hpl.hp.com/personal/Hans_Boehm/gc/
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager: Han Boetes, han at mijncomputer dot dl

name=boehm-gc
version=7.1
release=1
source=(http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc-${version}.tar.gz)

build () {
    cd gc-${version}

    ./configure \
        --prefix=/usr \
        --enable-threads=pthreads \
        --enable-static \
        --enable-shared
    make
    make DESTDIR=$PKG install

    install -D -m 644 doc/gc.man $PKG/usr/man/man3/gc.3

    rm -rf $PKG/usr/share
}

Added opt/cabextract/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: Microsoft Cabinet file decompressor
# URL: http://www.cabextract.org.uk/
# Maintainer: Antti Nykanen, aon at iki dot fi
# Depends on:

name=cabextract
version=1.2
release=1
source=(http://www.cabextract.org.uk/cabextract-$version.tar.gz)

build() {
	cd cabextract-$version
	./configure --prefix=/usr
	make
	make DESTDIR=$PKG install
}

Added opt/cairo/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description: A 2D graphics library with support for multiple output devices
# URL: http://www.cairographics.org/
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: fontconfig, libpng, xorg-libxrender, xorg-libpixman, xorg-xcb-util, glib

name=cairo
version=1.12.0
release=1
source=(http://cairographics.org/releases/$name-$version.tar.gz)

build() {
	cd $name-$version
	./configure --prefix=/usr \
		--enable-xcb=yes \
		--enable-ps \
		--enable-pdf \
		--enable-tee \
		--disable-gtk-doc
	make
	make DESTDIR=$PKG install
	rm -rf $PKG/usr/share
}

Added opt/ccache/Pkgfile.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Packager: 
# Description: A compiler cache
# URL: http://ccache.samba.org

name=ccache
version=3.1.6
release=1
source=(http://samba.org/ftp/$name/$name-$version.tar.xz)

build() {
    cd $name-$version
    ./configure --prefix=/usr --mandir=/usr/man
    make
    make DESTDIR=$PKG install

    mkdir -p $PKG/usr/lib/$name
    for c in cc c++ gcc g++; do
        cd $PKG/usr/lib/$name && ln -s ../../bin/ccache $c
    done
   
    rm -rf $PKG/usr/info
}

Added opt/ccache/README.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
WARNING:

This version of the port is incompatible with the previous ones, so 
please make sure you don't have any 
  export CC=/usr/bin/ccache-gcc 
or
  export CXX=/usr/bin/ccache-g++
in your startup/configuration files; this will make compilations fail.


POSTINSTALL
To use ccache, prepend /usr/lib/ccache to your $PATH environment variable.

You might also want to change the ccache directory, using the CCACHE_DIR 
environement variable, or by using symlinks (I have created a /ccache 
directory, and make $HOME/.ccache point to /ccache for those users who
want to use the shared cache)

Added opt/ccrypt/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: Utility for encrypting and decrypting files and streams
# URL:         http://ccrypt.sourceforge.net/
# Maintainer:  Juergen Daubert, jue at crux dot nu

name=ccrypt
version=1.9
release=1
source=(http://ccrypt.sourceforge.net/download/$name-$version.tar.gz)

build () {
    cd $name-$version
    ./configure --prefix=/usr 
    make
    make DESTDIR=$PKG install
    rm -r $PKG/usr/share
}

Added opt/cdparanoia/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: CDDA extraction tool with jitter correction
# URL:         http://xiph.org/paranoia/
# Maintainer:  Juergen Daubert, jue at crux dot nu

name=cdparanoia
version=10.2
release=2
source=(http://downloads.xiph.org/releases/$name/$name-III-$version.src.tgz
        $name-$version-gcc43.patch)

build () {
    cd $name-III-$version
    patch -p0 -i $SRC/$name-$version-gcc43.patch
    ./configure --prefix=/usr
    make -j1
    make prefix=$PKG/usr install
}

Added opt/cdparanoia/cdparanoia-10.2-gcc43.patch.



















































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
# http://bugs.gentoo.org/show_bug.cgi?id=238378
# https://trac.xiph.org/changeset/15338

Index: interface/test_interface.c
===================================================================
--- interface/test_interface.c	(revision 15337)
+++ interface/test_interface.c	(revision 15338)
@@ -66,9 +66,9 @@
   if(!fd)fd=fdopen(d->cdda_fd,"r");
 
   if(begin<lastread)
-    d->private->last_milliseconds=20;
+    d->private_data->last_milliseconds=20;
   else
-    d->private->last_milliseconds=sectors;
+    d->private_data->last_milliseconds=sectors;
 
 #ifdef CDDA_TEST_UNDERRUN
   sectors-=1;
Index: interface/cdda_interface.h
===================================================================
--- interface/cdda_interface.h	(revision 15337)
+++ interface/cdda_interface.h	(revision 15338)
@@ -84,7 +84,7 @@
   int is_atapi;
   int is_mmc;
 
-  cdda_private_data_t *private;
+  cdda_private_data_t *private_data;
   void         *reserved;
   unsigned char inqbytes[4];
 
Index: interface/interface.c
===================================================================
--- interface/interface.c	(revision 15337)
+++ interface/interface.c	(revision 15338)
@@ -39,9 +39,9 @@
     if(d->drive_model)free(d->drive_model);
     if(d->cdda_fd!=-1)close(d->cdda_fd);
     if(d->ioctl_fd!=-1 && d->ioctl_fd!=d->cdda_fd)close(d->ioctl_fd);
-    if(d->private){
-      if(d->private->sg_hd)free(d->private->sg_hd);
-      free(d->private);
+    if(d->private_data){
+      if(d->private_data->sg_hd)free(d->private_data->sg_hd);
+      free(d->private_data);
     }
 
     free(d);
@@ -127,7 +127,7 @@
 	}
       }	
     }
-    if(ms)*ms=d->private->last_milliseconds;
+    if(ms)*ms=d->private_data->last_milliseconds;
     return(sectors);
   }
   
Index: interface/scsi_interface.c
===================================================================
--- interface/scsi_interface.c	(revision 15337)
+++ interface/scsi_interface.c	(revision 15338)
@@ -15,13 +15,13 @@
 static int timed_ioctl(cdrom_drive *d, int fd, int command, void *arg){
   struct timespec tv1;
   struct timespec tv2;
-  int ret1=clock_gettime(d->private->clock,&tv1);
+  int ret1=clock_gettime(d->private_data->clock,&tv1);
   int ret2=ioctl(fd, command,arg);
-  int ret3=clock_gettime(d->private->clock,&tv2);
+  int ret3=clock_gettime(d->private_data->clock,&tv2);
   if(ret1<0 || ret3<0){
-    d->private->last_milliseconds=-1;
+    d->private_data->last_milliseconds=-1;
   }else{
-    d->private->last_milliseconds = (tv2.tv_sec-tv1.tv_sec)*1000. + (tv2.tv_nsec-tv1.tv_nsec)/1000000.;
+    d->private_data->last_milliseconds = (tv2.tv_sec-tv1.tv_sec)*1000. + (tv2.tv_nsec-tv1.tv_nsec)/1000000.;
   }
   return ret2;
 }
@@ -96,7 +96,7 @@
 static void clear_garbage(cdrom_drive *d){
   fd_set fdset;
   struct timeval tv;
-  struct sg_header *sg_hd=d->private->sg_hd;
+  struct sg_header *sg_hd=d->private_data->sg_hd;
   int flag=0;
 
   /* clear out any possibly preexisting garbage */
@@ -185,7 +185,7 @@
   struct timespec tv2;
   int tret1,tret2;
   int status = 0;
-  struct sg_header *sg_hd=d->private->sg_hd;
+  struct sg_header *sg_hd=d->private_data->sg_hd;
   long writebytes=SG_OFF+cmd_len+in_size;
 
   /* generic scsi device services */
@@ -195,7 +195,7 @@
 
   memset(sg_hd,0,sizeof(sg_hd)); 
   memset(sense_buffer,0,SG_MAX_SENSE); 
-  memcpy(d->private->sg_buffer,cmd,cmd_len+in_size);
+  memcpy(d->private_data->sg_buffer,cmd,cmd_len+in_size);
   sg_hd->twelve_byte = cmd_len == 12;
   sg_hd->result = 0;
   sg_hd->reply_len = SG_OFF + out_size;
@@ -209,7 +209,7 @@
      tell if the command failed.  Scared yet? */
 
   if(bytecheck && out_size>in_size){
-    memset(d->private->sg_buffer+cmd_len+in_size,bytefill,out_size-in_size); 
+    memset(d->private_data->sg_buffer+cmd_len+in_size,bytefill,out_size-in_size); 
     /* the size does not remove cmd_len due to the way the kernel
        driver copies buffers */
     writebytes+=(out_size-in_size);
@@ -243,7 +243,7 @@
   }
 
   sigprocmask (SIG_BLOCK, &(d->sigset), NULL );
-  tret1=clock_gettime(d->private->clock,&tv1);  
+  tret1=clock_gettime(d->private_data->clock,&tv1);  
   errno=0;
   status = write(d->cdda_fd, sg_hd, writebytes );
 
@@ -289,7 +289,7 @@
     }
   }
 
-  tret2=clock_gettime(d->private->clock,&tv2);  
+  tret2=clock_gettime(d->private_data->clock,&tv2);  
   errno=0;
   status = read(d->cdda_fd, sg_hd, SG_OFF + out_size);
   sigprocmask ( SIG_UNBLOCK, &(d->sigset), NULL );
@@ -313,7 +313,7 @@
   if(bytecheck && in_size+cmd_len<out_size){
     long i,flag=0;
     for(i=in_size;i<out_size;i++)
-      if(d->private->sg_buffer[i]!=bytefill){
+      if(d->private_data->sg_buffer[i]!=bytefill){
 	flag=1;
 	break;
       }
@@ -326,9 +326,9 @@
 
   errno=0;
   if(tret1<0 || tret2<0){
-    d->private->last_milliseconds=-1;
+    d->private_data->last_milliseconds=-1;
   }else{
-    d->private->last_milliseconds = (tv2.tv_sec-tv1.tv_sec)*1000 + (tv2.tv_nsec-tv1.tv_nsec)/1000000;
+    d->private_data->last_milliseconds = (tv2.tv_sec-tv1.tv_sec)*1000 + (tv2.tv_nsec-tv1.tv_nsec)/1000000;
   }
   return(0);
 }
@@ -347,7 +347,7 @@
 
   memset(&hdr,0,sizeof(hdr));
   memset(sense,0,sizeof(sense));
-  memcpy(d->private->sg_buffer,cmd+cmd_len,in_size);
+  memcpy(d->private_data->sg_buffer,cmd+cmd_len,in_size);
 
   hdr.cmdp = cmd;
   hdr.cmd_len = cmd_len;
@@ -355,7 +355,7 @@
   hdr.mx_sb_len = SG_MAX_SENSE;
   hdr.timeout = 50000;
   hdr.interface_id = 'S';
-  hdr.dxferp =  d->private->sg_buffer;
+  hdr.dxferp =  d->private_data->sg_buffer;
   hdr.flags = SG_FLAG_DIRECT_IO;  /* direct IO if we can get it */
 
   /* scary buffer fill hack */
@@ -400,7 +400,7 @@
   if(bytecheck && in_size<out_size){
     long i,flag=0;
     for(i=in_size;i<out_size;i++)
-      if(d->private->sg_buffer[i]!=bytefill){
+      if(d->private_data->sg_buffer[i]!=bytefill){
 	flag=1;
 	break;
       }
@@ -412,7 +412,7 @@
   }
 
   /* Can't rely on .duration because we can't be certain kernel has HZ set to something useful */
-  /* d->private->last_milliseconds = hdr.duration; */
+  /* d->private_data->last_milliseconds = hdr.duration; */
 
   errno = 0;
   return 0;
@@ -445,9 +445,9 @@
 
   handle_scsi_cmd(d, cmd, 6, 0, 56, 0,0, sense);
 
-  key = d->private->sg_buffer[2] & 0xf;
-  ASC = d->private->sg_buffer[12];
-  ASCQ = d->private->sg_buffer[13];
+  key = d->private_data->sg_buffer[2] & 0xf;
+  ASC = d->private_data->sg_buffer[12];
+  ASCQ = d->private_data->sg_buffer[13];
   
   if(key == 2 && ASC == 4 && ASCQ == 1) return 0;
   return 1;
@@ -492,7 +492,7 @@
   if (handle_scsi_cmd (d, cmd, 10, 0, size+4,'\377',1,sense)) return(1);
 
   {
-    unsigned char *b=d->private->sg_buffer;
+    unsigned char *b=d->private_data->sg_buffer;
     if(b[0])return(1); /* Handles only up to 256 bytes */
     if(b[6])return(1); /* Handles only up to 256 bytes */
 
@@ -604,8 +604,8 @@
 static unsigned int get_orig_sectorsize(cdrom_drive *d){
   if(mode_sense(d,12,0x01))return(-1);
 
-  d->orgdens = d->private->sg_buffer[4];
-  return(d->orgsize = ((int)(d->private->sg_buffer[10])<<8)+d->private->sg_buffer[11]);
+  d->orgdens = d->private_data->sg_buffer[4];
+  return(d->orgsize = ((int)(d->private_data->sg_buffer[10])<<8)+d->private_data->sg_buffer[11]);
 }
 
 /* switch CDROM scsi drives to given sector size  */
@@ -664,8 +664,8 @@
     return(-4);
   }
 
-  first=d->private->sg_buffer[2];
-  last=d->private->sg_buffer[3];
+  first=d->private_data->sg_buffer[2];
+  last=d->private_data->sg_buffer[3];
   tracks=last-first+1;
 
   if (last > MAXTRK || first > MAXTRK || last<0 || first<0) {
@@ -683,7 +683,7 @@
       return(-5);
     }
     {
-      scsi_TOC *toc=(scsi_TOC *)(d->private->sg_buffer+4);
+      scsi_TOC *toc=(scsi_TOC *)(d->private_data->sg_buffer+4);
 
       d->disc_toc[i-first].bFlags=toc->bFlags;
       d->disc_toc[i-first].bTrack=i;
@@ -704,7 +704,7 @@
     return(-2);
   }
   {
-    scsi_TOC *toc=(scsi_TOC *)(d->private->sg_buffer+4);
+    scsi_TOC *toc=(scsi_TOC *)(d->private_data->sg_buffer+4);
     
     d->disc_toc[i-first].bFlags=toc->bFlags;
     d->disc_toc[i-first].bTrack=0xAA;
@@ -738,7 +738,7 @@
   }
 
   /* copy to our structure and convert start sector */
-  tracks = d->private->sg_buffer[1];
+  tracks = d->private_data->sg_buffer[1];
   if (tracks > MAXTRK) {
     cderror(d,"003: CDROM reporting illegal number of tracks\n");
     return(-3);
@@ -754,33 +754,33 @@
       return(-5);
     }
     
-    d->disc_toc[i].bFlags = d->private->sg_buffer[10];
+    d->disc_toc[i].bFlags = d->private_data->sg_buffer[10];
     d->disc_toc[i].bTrack = i + 1;
 
     d->disc_toc[i].dwStartSector= d->adjust_ssize * 
-	(((signed char)(d->private->sg_buffer[2])<<24) | 
-	 (d->private->sg_buffer[3]<<16)|
-	 (d->private->sg_buffer[4]<<8)|
-	 (d->private->sg_buffer[5]));
+	(((signed char)(d->private_data->sg_buffer[2])<<24) | 
+	 (d->private_data->sg_buffer[3]<<16)|
+	 (d->private_data->sg_buffer[4]<<8)|
+	 (d->private_data->sg_buffer[5]));
   }
 
   d->disc_toc[i].bFlags = 0;
   d->disc_toc[i].bTrack = i + 1;
-  memcpy (&foo, d->private->sg_buffer+2, 4);
-  memcpy (&bar, d->private->sg_buffer+6, 4);
+  memcpy (&foo, d->private_data->sg_buffer+2, 4);
+  memcpy (&bar, d->private_data->sg_buffer+6, 4);
   d->disc_toc[i].dwStartSector = d->adjust_ssize * (be32_to_cpu(foo) +
 						    be32_to_cpu(bar));
 
   d->disc_toc[i].dwStartSector= d->adjust_ssize * 
-    ((((signed char)(d->private->sg_buffer[2])<<24) | 
-      (d->private->sg_buffer[3]<<16)|
-      (d->private->sg_buffer[4]<<8)|
-      (d->private->sg_buffer[5]))+
+    ((((signed char)(d->private_data->sg_buffer[2])<<24) | 
+      (d->private_data->sg_buffer[3]<<16)|
+      (d->private_data->sg_buffer[4]<<8)|
+      (d->private_data->sg_buffer[5]))+
      
-     ((((signed char)(d->private->sg_buffer[6])<<24) | 
-       (d->private->sg_buffer[7]<<16)|
-       (d->private->sg_buffer[8]<<8)|
-       (d->private->sg_buffer[9]))));
+     ((((signed char)(d->private_data->sg_buffer[6])<<24) | 
+       (d->private_data->sg_buffer[7]<<16)|
+       (d->private_data->sg_buffer[8]<<8)|
+       (d->private_data->sg_buffer[9]))));
 
 
   d->cd_extra = FixupTOC(d,tracks+1);
@@ -817,7 +817,7 @@
   cmd[8] = sectors;
   if((ret=handle_scsi_cmd(d,cmd,10,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
     return(ret);
-  if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
+  if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
   return(0);
 }
 
@@ -836,7 +836,7 @@
   cmd[9] = sectors;
   if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
     return(ret);
-  if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
+  if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
   return(0);
 }
 
@@ -854,7 +854,7 @@
   cmd[8] = sectors;
   if((ret=handle_scsi_cmd(d,cmd,10,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
     return(ret);
-  if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
+  if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
   return(0);
 }
 
@@ -872,7 +872,7 @@
   cmd[9] = sectors;
   if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
     return(ret);
-  if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
+  if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
   return(0);
 }
 
@@ -890,7 +890,7 @@
   cmd[8] = sectors;
   if((ret=handle_scsi_cmd(d,cmd,10,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
     return(ret);
-  if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
+  if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
   return(0);
 }
 
@@ -908,7 +908,7 @@
   cmd[9] = sectors;
   if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
     return(ret);
-  if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
+  if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
   return(0);
 }
 
@@ -922,7 +922,7 @@
   cmd[8] = sectors;
   if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
     return(ret);
-  if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
+  if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
   return(0);
 }
 
@@ -936,7 +936,7 @@
   cmd[8] = sectors;
   if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
     return(ret);
-  if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
+  if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
   return(0);
 }
 
@@ -950,7 +950,7 @@
   cmd[8] = sectors;
   if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
     return(ret);
-  if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
+  if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
   return(0);
 }
 
@@ -964,7 +964,7 @@
   cmd[8] = sectors;
   if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
     return(ret);
-  if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
+  if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
   return(0);
 }
 
@@ -978,7 +978,7 @@
   cmd[8] = sectors;
   if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
     return(ret);
-  if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
+  if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
   return(0);
 }
 
@@ -992,7 +992,7 @@
   cmd[8] = sectors;
   if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
     return(ret);
-  if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
+  if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
   return(0);
 }
 
@@ -1026,7 +1026,7 @@
 
   if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
     return(ret);
-  if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
+  if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
   return(0);
 }
 
@@ -1039,7 +1039,7 @@
 
   if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
     return(ret);
-  if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
+  if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
   return(0);
 }
 
@@ -1052,7 +1052,7 @@
   
   if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
     return(ret);
-  if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
+  if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
   return(0);
 }
 
@@ -1275,7 +1275,7 @@
 static int count_2352_bytes(cdrom_drive *d){
   long i;
   for(i=2351;i>=0;i--)
-    if(d->private->sg_buffer[i]!=(unsigned char)'\177')
+    if(d->private_data->sg_buffer[i]!=(unsigned char)'\177')
       return(((i+3)>>2)<<2);
 
   return(0);
@@ -1284,7 +1284,7 @@
 static int verify_nonzero(cdrom_drive *d){
   long i,flag=0;
   for(i=0;i<2352;i++)
-    if(d->private->sg_buffer[i]!=0){
+    if(d->private_data->sg_buffer[i]!=0){
       flag=1;
       break;
     }
@@ -1621,7 +1621,7 @@
   d->is_mmc=0;
   if(mode_sense(d,22,0x2A)==0){
   
-    b=d->private->sg_buffer;
+    b=d->private_data->sg_buffer;
     b+=b[3]+4;
     
     if((b[0]&0x3F)==0x2A){
@@ -1669,7 +1669,7 @@
     cderror(d,"008: Unable to identify CDROM model\n");
     return(NULL);
   }
-  return (d->private->sg_buffer);
+  return (d->private_data->sg_buffer);
 }
 
 int scsi_init_drive(cdrom_drive *d){
@@ -1725,8 +1725,8 @@
   check_cache(d);
 
   d->error_retry=1;
-  d->private->sg_hd=realloc(d->private->sg_hd,d->nsectors*CD_FRAMESIZE_RAW + SG_OFF + 128);
-  d->private->sg_buffer=((unsigned char *)d->private->sg_hd)+SG_OFF;
+  d->private_data->sg_hd=realloc(d->private_data->sg_hd,d->nsectors*CD_FRAMESIZE_RAW + SG_OFF + 128);
+  d->private_data->sg_buffer=((unsigned char *)d->private_data->sg_hd)+SG_OFF;
   d->report_all=1;
   return(0);
 }
Index: interface/cooked_interface.c
===================================================================
--- interface/cooked_interface.c	(revision 15337)
+++ interface/cooked_interface.c	(revision 15338)
@@ -13,13 +13,13 @@
 static int timed_ioctl(cdrom_drive *d, int fd, int command, void *arg){
   struct timespec tv1;
   struct timespec tv2;
-  int ret1=clock_gettime(d->private->clock,&tv1);
+  int ret1=clock_gettime(d->private_data->clock,&tv1);
   int ret2=ioctl(fd, command,arg);
-  int ret3=clock_gettime(d->private->clock,&tv2);
+  int ret3=clock_gettime(d->private_data->clock,&tv2);
   if(ret1<0 || ret3<0){
-    d->private->last_milliseconds=-1;
+    d->private_data->last_milliseconds=-1;
   }else{
-    d->private->last_milliseconds = (tv2.tv_sec-tv1.tv_sec)*1000. + (tv2.tv_nsec-tv1.tv_nsec)/1000000.;
+    d->private_data->last_milliseconds = (tv2.tv_sec-tv1.tv_sec)*1000. + (tv2.tv_nsec-tv1.tv_nsec)/1000000.;
   }
   return ret2;
 }
Index: interface/scan_devices.c
===================================================================
--- interface/scan_devices.c	(revision 15337)
+++ interface/scan_devices.c	(revision 15338)
@@ -264,11 +264,11 @@
   d->interface=COOKED_IOCTL;
   d->bigendianp=-1; /* We don't know yet... */
   d->nsectors=-1;
-  d->private=calloc(1,sizeof(*d->private));
+  d->private_data=calloc(1,sizeof(*d->private_data));
   {
     /* goddamnit */
     struct timespec tv;
-    d->private->clock=(clock_gettime(CLOCK_MONOTONIC,&tv)<0?CLOCK_REALTIME:CLOCK_MONOTONIC);
+    d->private_data->clock=(clock_gettime(CLOCK_MONOTONIC,&tv)<0?CLOCK_REALTIME:CLOCK_MONOTONIC);
   }
   idmessage(messagedest,messages,"\t\tCDROM sensed: %s\n",description);
   return(d);
@@ -674,15 +674,15 @@
   d->bigendianp=-1; /* We don't know yet... */
   d->nsectors=-1;
   d->messagedest = messagedest;
-  d->private=calloc(1,sizeof(*d->private));
+  d->private_data=calloc(1,sizeof(*d->private_data));
   {
     /* goddamnit */
     struct timespec tv;
-    d->private->clock=(clock_gettime(CLOCK_MONOTONIC,&tv)<0?CLOCK_REALTIME:CLOCK_MONOTONIC);
+    d->private_data->clock=(clock_gettime(CLOCK_MONOTONIC,&tv)<0?CLOCK_REALTIME:CLOCK_MONOTONIC);
   }
   if(use_sgio){
     d->interface=SGIO_SCSI;
-    d->private->sg_buffer=(unsigned char *)(d->private->sg_hd=malloc(MAX_BIG_BUFF_SIZE));
+    d->private_data->sg_buffer=(unsigned char *)(d->private_data->sg_hd=malloc(MAX_BIG_BUFF_SIZE));
     g_fd=d->cdda_fd=dup(d->ioctl_fd);
   }else{
     version=verify_SG_version(d,messagedest,messages);
@@ -696,8 +696,8 @@
     }
 
     /* malloc our big buffer for scsi commands */
-    d->private->sg_hd=malloc(MAX_BIG_BUFF_SIZE);
-    d->private->sg_buffer=((unsigned char *)d->private->sg_hd)+SG_OFF;
+    d->private_data->sg_hd=malloc(MAX_BIG_BUFF_SIZE);
+    d->private_data->sg_buffer=((unsigned char *)d->private_data->sg_hd)+SG_OFF;
   }
 
   {
@@ -772,9 +772,9 @@
   if(i_fd!=-1)close(i_fd);
   if(g_fd!=-1)close(g_fd);
   if(d){
-    if(d->private){
-      if(d->private->sg_hd)free(d->private->sg_hd);
-      free(d->private);
+    if(d->private_data){
+      if(d->private_data->sg_hd)free(d->private_data->sg_hd);
+      free(d->private_data);
     }
     free(d);
   }
@@ -821,7 +821,7 @@
   d->interface=TEST_INTERFACE;
   d->bigendianp=-1; /* We don't know yet... */
   d->nsectors=-1;
-  d->private=calloc(1,sizeof(*d->private));
+  d->private_data=calloc(1,sizeof(*d->private_data));
   d->drive_model=copystring("File based test interface");
   idmessage(messagedest,messages,"\t\tCDROM sensed: %s\n",d->drive_model);
   

Added opt/cdrkit/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: A suite of programs for recording CDs and DVDs
# URL: http://cdrkit.org/
# Maintainer: Antti Nykanen, aon at iki dot fi
# Depends on: file, cmake, libcap

name=cdrkit
version=1.1.11
release=1
source=(http://cdrkit.org/releases/cdrkit-$version.tar.gz)

build () {
	cd cdrkit-$version
	sed -i 's:share/man:${MANSUBDIR}:' 3rd-party/dirsplit/CMakeLists.txt
	cmake -Wno-dev -DCMAKE_INSTALL_PREFIX=$PKG/usr -DMANSUBDIR=man
    make install
}

Added opt/cdrkit/README.

























>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
README for cdrkit 1.x

REQUIREMENTS

PRE-INSTALL
1. Remove cdrtools. Cdrkit and cdrtools can not coexist.

POST-INSTALL

PRECAUTION
Since this port doesn't (at least currently) provide any compatibility
symlinks, you need to export MKISOFS=genisoimage to use dvd+rw-tools.

Added opt/centerim/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: Console IM client
# URL:         http://www.centerim.org/
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    Simon Glossner, viper at hometux dot de
# Depends on:  ncurses

name=centerim
version=4.22.10
release=1
source=(http://www.centerim.org/download/releases/$name-$version.tar.gz)

build() {
    cd $name-$version

    ./configure \
  --prefix=/usr \
  --mandir=/usr/man \
  --disable-nls
    make
    make DESTDIR=$PKG install
}

Added opt/chromium/Pkgfile.





























































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# Description: Open source version of Google Chrome web browser.
# URL: http://chromium.org/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Tadeusz Sosnierz, tadzikes gmail com
# Depends on: dbus-glib gtk libevent nss xorg-libxscrnsaver xorg-libxtst libgcrypt xorg-libxdamage yasm xorg-libxt alsa-lib krb5

name=chromium
version=18.0.1025.39
release=1
source=(http://gsdview.appspot.com/chromium-browser-official/$name-$version.tar.bz2 \
        $name.sh)

build() {
  cd $name-$version

  export CFLAGS="$CFLAGS $(pkg-config --cflags nspr)"

  build/gyp_chromium -f make build/all.gyp --depth=. \
	-Dgcc_version=45 \
	-Dno_strict_aliasing=1 \
	-Dwerror= \
	-Dlinux_sandbox_path=/usr/lib/chromium/chromium-sandbox \
	-Dlinux_strip_binary=1 \
	-Drelease_extra_cflags="$CFLAGS" \
	-Dproprietary_codecs=1 \
	-Duse_system_libjpeg=1 \
	-Duse_system_libxslt=1 \
	-Duse_system_libxml=1 \
	-Duse_system_bzip2=1 \
	-Duse_system_zlib=1 \
	-Duse_system_libpng=1 \
	-Duse_system_ffmpeg=0 \
	-Duse_system_yasm=1 \
	-Duse_system_libevent=1 \
	-Duse_system_sqlite=0 \
	-Duse_system_ssl=0 \
	-Dremove_webcore_debug_symbols=1 \
	-Duse_gconf=0 \
        -Duse_cups=0 \
	-Duse_gnome_keyring=0 \
	-Dlinux_link_gnome_keyring=0 \
        -Denable_webrtc=1 \
        -Ddisable_nacl=1

  make chrome chrome_sandbox BUILDTYPE=Release

  install -m 0755 -D out/Release/chrome $PKG/usr/lib/chromium/chromium
  install -m 4555 -o root -g root -D out/Release/chrome_sandbox $PKG/usr/lib/chromium/chromium-sandbox
  install -m 0644 -D out/Release/*.pak $PKG/usr/lib/chromium
  install -m 0755 -D out/Release/libffmpegsumo.so $PKG/usr/lib/chromium
  install -d $PKG/usr/lib/chromium/locales
  install -m 0644 out/Release/locales/en-US.pak $PKG/usr/lib/chromium/locales
  cp -a out/Release/resources $PKG/usr/lib/chromium
  install -m 0644 -D out/Release/chrome.1 $PKG/usr/man/man1/chromium.1

  for size in 16 22 24 32 48 128 256; do
    install -m 0644 -D chrome/app/theme/chromium/product_logo_${size}.png \
      $PKG/usr/share/icons/hicolor/${size}x${size}/apps/chromium.png
  done

  install -m 0755 -D $SRC/chromium.sh $PKG/usr/bin/chromium
}

Added opt/chromium/README.





























>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14

README for chromium


POSTINSTALLATION

	If you can't run chromium and you got a message like this:

	$ chromium
	[1410:1410:1506374616:FATAL:platform_font_gtk.cc(329)] Check failed: typeface.
        Could not find any font: Fixed, sans
        Aborted

	you could solve this by installing for example opt/x11-fonts-dejavu.

Added opt/chromium/chromium.sh.

















>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
#!/bin/sh

export CHROME_WRAPPER="/usr/lib/chromium/chromium"
export CHROME_DESKTOP="chromium.desktop"

exec /usr/lib/chromium/chromium "$@"

# End of file

Added opt/chrony/Pkgfile.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Description: Network time protocol client/server
# URL:         http://chrony.tuxfamily.org/
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  ncurses readline libcap

name=chrony
version=1.26
release=1
source=(http://download.tuxfamily.org/$name/$name-$version.tar.gz
        chronyd chrony.conf chrony.keys)

build () {
    cd $name-$version
    ./configure --prefix=/usr --mandir=/usr/man
    make
    make DESTDIR=$PKG install

    rm -r $PKG/usr/share

    install -d $PKG/var/{lib,log}/chrony
    install -D -m 755 $SRC/chronyd $PKG/etc/rc.d/chronyd
    install -m 600 $SRC/chrony.* $PKG/etc
}

Added opt/chrony/README.











































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
README for chrony 1.20

REQUIREMENTS

PRE-INSTALL

POST-INSTALL

Add up to eight time server of your country to /etc/chrony.conf.
A list of public servers can be found here:

  http://www.eecis.udel.edu/~mills/ntp/clock1a.html
  http://www.eecis.udel.edu/~mills/ntp/clock2a.html


PRECAUTION

Remove the both '/sbin/hwclock ...' entries from /etc/rc.shutdown 
and /etc/rc. No other software should manipulate the system hardware 
clock if chronyd is running.


Chrony is a pure Network time protocol (NTP) server, that mean it
provides it's services on port 123/UDP. Utilities like rdate uses
the time protocol on port 37/TCP. To use rdate with chrony you must 
add the following line to the /etc/inetd.conf of your chrony server 
and run inetd:

  time   stream   tcp   nowait   root   internal

To avoid this, I recommend the use of the NTP utility msntp to sync 
your clients with your chrony server or better run chrony on all of 
your clients. 

The start script /etc/rc.d/chronyd has a online and a offline option. 
Use this in your ip-up/ip-down scripts to tell chrony whether we are 
online or offline.

Added opt/chrony/chrony.conf.







































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#
# /etc/chrony.conf
#

# Change this to some puplic NTP server of your 
# country, or the server of your local network
! server ntp1.ptb.de auto_offline
! server ntp1.fau.de auto_offline
server pool.ntp.org

maxupdateskew 100
commandkey 1
dumponexit
log measurements statistics tracking

# Keep the hardware clock on UTC
! rtconutc

allow 192.168.0/24
cmdallow 192.168.0/24
cmdallow 127.0.0.1

keyfile /etc/chrony.keys
driftfile /var/lib/chrony/chrony.drift
dumpdir /var/lib/chrony
pidfile /var/run/chronyd.pid
logdir /var/log/chrony

# Enable this only if you have enhanced real time
# clock support build into your kernel
! log rtc
! rtcdevice /dev/rtc
! rtcfile /var/lib/chrony/chrony.rtc

# End of file

Added opt/chrony/chrony.keys.















>
>
>
>
>
>
>
1
2
3
4
5
6
7
#
# /etc/chrony.keys
#

1 my_password

# End of file

Added opt/chrony/chronyd.

















































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#!/bin/sh
#
# /etc/rc.d/chronyd: start/stop the chrony time server
#

KEY=`sed -n "s/^commandkey *//p" /etc/chrony.conf`
PASSWD=`sed -n "s/^$KEY *//p" /etc/chrony.keys`

case $1 in
start)
	/usr/sbin/chronyd -s -r
	;;
stop)
	killall -q  /usr/sbin/chronyd
	;;
restart)
	$0 stop
	sleep 2
	$0 start
	;;
online)
	/usr/bin/chronyc << EOF > /dev/null
	password $PASSWD
	online
EOF
	;;
offline)
	/usr/bin/chronyc << EOF > /dev/null
	password $PASSWD
	offline
	dump
	writertc
EOF
	;;
*)
	echo "usage: $0 [start|stop|restart|online|offline]"
	;;
esac

# End of file

Added opt/cifs-utils/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: Utilities for doing and managing mounts of the Linux CIFS filesystem
# URL:         http://wiki.samba.org/index.php/LinuxCIFS_utils
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  samba keyutils

name=cifs-utils
version=5.3
release=1
source=(ftp://ftp.samba.org/pub/linux-cifs/$name/$name-$version.tar.bz2)

build () {
    cd $name-$version
    ./configure --prefix=/usr --mandir=/usr/man
    make
    make DESTDIR=$PKG install
}

Added opt/ck4up/Pkgfile.





























>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# Description: ck4up - Check for Updates, a utility to monitor web pages for updates
# URL:         http://jue.li/crux/ck4up
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  ruby

name=ck4up
version=1.2
release=1
source=(http://jue.li/crux/$name/$name-$version.tar.gz)

build () {
    cd $name-$version
    make DESTDIR=$PKG install
}

Added opt/clex/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: File manager with full-screen user interface
# URL:         http://www.clex.sk
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  ncurses

name=clex
version=4.6.patch5
release=1
source=(http://www.clex.sk/download/$name-$version.tar.gz)

build () {
    cd $name-$version
    ./configure --prefix=/usr --mandir=/usr/man
    make
    make DESTDIR=$PKG install
}

Added opt/cmake/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: A cross-platform, open-source make system.
# URL: http://www.cmake.org/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Mark Rosenstand, mark at borkware dot net
# Depends on: ncurses

name=cmake
version=2.8.7
release=1
source=(http://www.cmake.org/files/v${version%.*}/$name-$version.tar.gz)

build() {
	cd $name-$version
	./bootstrap --prefix=/usr
	make
	make DESTDIR=$PKG install
	rm -r $PKG/usr/doc
}

Added opt/cmus/Pkgfile.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Description: Small and fast music player using the ncurses library
# URL: http://cmus.sf.net/
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager: Jukka Heino, jukka dot heino at gmail dot com
# Depends on: 
# Nice to have: alsa-lib, flac, libao, libid3tag, libmad, libmodplug, libmpcdec, libvorbis

name=cmus
version=2.4.3
release=1
source=(http://downloads.sourceforge.net/project/cmus/cmus-v${version}.tar.bz2 \
         ffmpeg.diff)

build() {
    cd $name-v${version}

    patch -i ../ffmpeg.diff -p1

    ./configure prefix=/usr mandir=/usr/man CONFIG_ARTS=n
    make
    make DESTDIR=$PKG install install-man
    rm -rf $PKG/usr/share/{doc,cmus/*.theme}
}

Added opt/cmus/ffmpeg.diff.



























>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
diff --git a/ffmpeg.c b/ffmpeg.c
index e884274..27adacc 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -55,7 +55,7 @@
 #endif
 #endif
 
-#if (LIBAVUTIL_VERSION_INT < ((51<<16)+(5<<8)+0))
+#ifndef AV_DICT_IGNORE_SUFFIX
 #define AV_DICT_IGNORE_SUFFIX AV_METADATA_IGNORE_SUFFIX
 #define av_dict_get av_metadata_get
 #define AVDictionaryEntry AVMetadataTag

Added opt/conky/Pkgfile.



















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# Description: Light-weight system monitor
# URL:         http://conky.sourceforge.net/
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  curl, glib, xorg-libxdamage, xorg-libxext, xorg-libxft

name=conky
version=1.8.1
release=2
source=(http://downloads.sourceforge.net/project/$name/$name/$version/$name-$version.tar.bz2)

build() {
    cd $name-$version
    sed -i '/^#include <curl\/types.h>/d' src/*.c
    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --disable-lua \
                --enable-xft  \
                --enable-portmon \
                --enable-mpd \
                --enable-rss \
                --enable-curl
    make
    make DESTDIR=$PKG install
    rm -r $PKG/usr/lib
}

Added opt/cpudyn/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: Daemon to control the speed of mobile CPUs 
# URL:         http://mnm.uib.es/~gallir/cpudyn/
# Maintainer:  Juergen Daubert, jue at crux dot nu

name=cpudyn
version=1.0.1
release=1
source=(http://mnm.uib.es/~gallir/cpudyn/download/$name-$version.tgz \
        cpudynd)

build () {
    cd $name
    make
    install -D -m 755 cpudynd $PKG/usr/sbin/cpudynd
    install -D -m 644 cpudynd.8 $PKG/usr/man/man8/cpudynd.8
    install -D -m 755 ../cpudynd $PKG/etc/rc.d/cpudynd
}

Added opt/cpudyn/cpudynd.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/bin/sh
#
# /etc/rc.d/cpudynd: start/stop cpudynd daemon
#

case $1 in
start)
	/usr/sbin/cpudynd -d -i 1 -t 120 
	;;
stop)
	killall -q /usr/sbin/cpudynd 
	;;
restart)
	$0 stop
	sleep 2
	$0 start
	;;
*)
	echo "usage: $0 [start|stop|restart]"
	;;
esac

# End of file

Added opt/crux-bashcompletion/Pkgfile.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Description: Programmable bash completion for pkgutils and ports
# URL: http://www.crux.nu
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Johannes Winkelmann, jw at smts dot ch
# Depends on:  bash-completion

name=crux-bashcompletion
version=20031028
release=1
source=(crux_completions)

build() {
    install -D -m 755 crux_completions \
        $PKG/etc/bash_completion.d/crux
}

Added opt/crux-bashcompletion/crux_completions.











































































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
#   Bash programmable completion for crux (http://www.crux.nu) utilities
# 
#   Copyright (C) Håvard Moen <vanilje@netcom.no>
#
#   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; if not, write to the Free Software Foundation,
#   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
#   RELEASE: 20020711

#pkginfo completion
_pkginfo ()
{
  local cur prev
  COMPREPLY=()
  cur=${COMP_WORDS[COMP_CWORD]}
  prev=${COMP_WORDS[COMP_CWORD-1]}


  case "$prev" in
    --list|-l)
      	COMPREPLY=( $( compgen -W " $( pkginfo -i | awk ' { printf "%s ", $1 } ' ) " -- $cur ) )
	return 0
      ;;
    --installed|-i)
      	return 0
      ;;
    --help|-h)
      	return 0
      ;;
    --version|-v)
      	return 0
      ;;
    --owner|-o|--root|-r)
    	if [ -z $BASH_COMPLETION ]; then
    		_filedir
	else
    		COMPREPLY=( $( compgen -f $cur ) )
	fi
      	return 0
      ;;
  esac
  
  COMPREPLY=( $( compgen -W "$( pkginfo --help | awk '/--/ { printf "%2s ", $2 }' )" -- $cur ) ) 

}
complete -F _pkginfo -o filenames pkginfo

#pkgrm completion
_pkgrm ()
{
  local cur prev
  COMPREPLY=()
  cur=${COMP_WORDS[COMP_CWORD]}
  prev=${COMP_WORDS[COMP_CWORD-1]}


  case "$prev" in
    --help|-h)
      	return 0
      ;;
    --version|-v)
      	return 0
      ;;
    --root|-r)
    	if [ -z $BASH_COMPLETION ]; then
    		_filedir
	else
    		COMPREPLY=( $( compgen -f $cur ) )
	fi
      	return 0
      ;;
  esac
  
  if [[ $cur == -* ]]; then
	  COMPREPLY=( $( compgen -W "$( pkgrm --help | awk '/--/ { printf "%2s ", $2 }' )" -- $cur ) ) 
  else
  	COMPREPLY=( $( compgen -W " $( pkginfo -i | awk ' { printf "%s ", $1 } ' ) " -- $cur ) )
  fi
}
complete -F _pkgrm -o filenames pkgrm

#pkgmk completion
_pkgmk ()
{
  local cur prev
  COMPREPLY=()
  cur=${COMP_WORDS[COMP_CWORD]}
  prev=${COMP_WORDS[COMP_CWORD-1]}


  case "$prev" in
    --help|-h)
      	return 0
      ;;
    -do|--download-only)
    	return 0
	;;
    -utd|--up-to-date)
    	return 0
	;;
    --config-file|-cf)
    	if [ -z $BASH_COMPLETION ]; then
    		_filedir
	else
    		COMPREPLY=( $( compgen -f $cur ) )
	fi
      	return 0
      ;;
  esac
  
  COMPREPLY=( $( compgen -W "$( pkgmk --help | awk '/--/ { printf "%2s ", $2 }' )" -- $cur ) ) 
}
complete -F _pkgmk -o filenames pkgmk

#pkgadd completion
_pkgadd ()
{
  local cur prev
  COMPREPLY=()
  cur=${COMP_WORDS[COMP_CWORD]}
  prev=${COMP_WORDS[COMP_CWORD-1]}

  case "$prev" in
    --help|-h)
      	return 0
      ;;
    --version|-v)
    	return 0
  esac

  if [[ $cur == -* ]]; then
	  COMPREPLY=( $( compgen -W "$( pkgmk --help | awk '/--/ { printf "%2s ", $2 }' )" -- $cur ) ) 
  else
	COMPREPLY=( $( compgen -f -X '!*.pkg.tar.gz' -- $cur ) $( compgen -d -- $cur ) )
  fi
  
  
}
complete -F _pkgadd -o filenames pkgadd

#ports completion
_ports ()
{
  local cur prev
  COMPREPLY=()
  cur=${COMP_WORDS[COMP_CWORD]}
  prev=${COMP_WORDS[COMP_CWORD-1]}


  case "$prev" in
    --help|-h)
      	return 0
      ;;
    --version|-v)
    	return 0
	;;
    --diff|-d)
    	return 0
	;;
    --list|-l)
    	return 0
	;;
    --update|-u)
    	return 0
	;;
  esac
  
  COMPREPLY=( $( compgen -W "$( ports --help | awk '/--/ { printf "%2s ", $2 }' )" -- $cur ) ) 
}
complete -F _ports ports

Added opt/cryptsetup/Pkgfile.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Description: user-friendly dm-crypt/LUKS interface
# URL: http://code.google.com/p/cryptsetup/
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: libdevmapper,  util-linux-ng, libgcrypt, popt

name=cryptsetup
version=1.4.1
release=1
source=(http://$name.googlecode.com/files/$name-$version.tar.bz2)

build() {
    cd $name-$version

    ./configure \
	--prefix=/usr \
	--mandir=/usr/man \
	--disable-nls \
	--enable-static-cryptsetup
    make
    make DESTDIR=$PKG install

    install -d $PKG/sbin
    mv $PKG/{usr/sbin,sbin}/cryptsetup.static
}

Added opt/ctags/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: A multilanguage implementation of Ctags, for effective editing of source code.
# URL: http://ctags.sourceforge.net
# Packager: Havard Moen, vanilje at netcom dot no
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu

name=ctags
version=5.7
release=1
source=(http://download.sourceforge.net/$name/$name-$version.tar.gz \
        $name.diff)

build() {
	cd $name-$version
	patch -Np0 -i $SRC/$name.diff
	./configure --prefix=/usr --enable-etags
	make
	make prefix=$PKG/usr install
}

Added opt/ctags/ctags.diff.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Index: Makefile.in
===================================================================
--- Makefile.in	(revision 663)
+++ Makefile.in	(working copy)
@@ -140,7 +140,7 @@
 $(DEST_CTAGS): $(CTAGS_EXEC) $(bindir) FORCE
 	$(INSTALL_PROG) $(CTAGS_EXEC) $@  &&  chmod 755 $@
 
-$(DEST_ETAGS):
+$(DEST_ETAGS): $(DEST_CTAGS)
 	- if [ -x $(DEST_CTAGS) ]; then \
 	    cd $(bindir) && $(SLINK) $(CTAGS_EXEC) $(ETAGS_EXEC); \
 	fi
@@ -155,7 +155,7 @@
 $(DEST_CMAN): $(man1dir) $(MANPAGE) FORCE
 	- $(INSTALL_DATA) $(srcdir)/$(MANPAGE) $@  &&  chmod 644 $@
 
-$(DEST_EMAN):
+$(DEST_EMAN): $(DEST_CMAN)
 	- if [ -f $(DEST_CMAN) ]; then \
 	    cd $(man1dir) && $(SLINK) $(CMAN) $(EMAN); \
 	fi

Added opt/cups/Pkgfile.











































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# Description: CUPS - Common UNIX Printing System
# URL:         http://www.cups.org
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  acl tcp_wrappers libusb-compat libpng libtiff openssl poppler

name=cups
version=1.5.2
release=1
source=(http://ftp.easysw.com/pub/cups/$version/$name-$version-source.tar.bz2
        cups-config.patch cups)

build () {
    cd $name-$version

    patch -p1 -i $SRC/cups-config.patch

    ./configure --prefix=/usr \
                --sysconfdir=/etc \
                --libdir=/usr/lib \
                --mandir=/usr/man \
                --localstatedir=/var \
                --with-docdir=/usr/share/cups/doc \
                --with-logdir=/var/log/cups \
                --with-cups-user=daemon \
                --with-cups-group=lp \
                --with-languages="" \
                --without-{java,perl,php,python} \
                --without-rcdir \
                --with-optim="$CFLAGS" \
                --with-pdftops=pdftops \
                --enable-{ssl,openssl} --disable-gnutls \
                --enable-tcp-wrappers \
                --enable-acl \
                --disable-pam \
                --disable-dbus 

    make
    make {MENU,ICON}DIR="" BUILDROOT=$PKG install

    chmod 0755 $PKG/var/{cache,spool}   
    chmod -R +w $PKG
 
    install -d $PKG/etc/ssl/{certs,keys}
    touch $PKG/etc/ssl/certs/cups.crt
    touch $PKG/etc/ssl/keys/cups.key
    chmod 0600 $PKG/etc/ssl/{keys/cups.key,certs/cups.crt}

    install -D -m 755 $SRC/cups $PKG/etc/rc.d/cups

    # blacklist usblp kernel module
    install -d $PKG/etc/modprobe.d
    echo 'blacklist usblp' > $PKG/etc/modprobe.d/cups.conf
}

Added opt/cups/README.















































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
README for cups 1.5.x

REQUIREMENTS

1. As of version 1.5 cups needs libusb to print to usb printers, the kernel
   modules usblp is no longer supported. 
   The port installs /etc/modprobe.de/cups.conf to blacklist the module.
2. In order to have more printer drivers available, the installation of the 
   gutenprint port (formerly gimp-print) is recommended. HP DeskJet/LaserJet 
   users should install the hpijs driver.
3. Build and install in the following order:
   - cups
   - gutenprint (optionally)
   - ghostscript
   - foomatic-filters (optionally)
   - hpijs (optionally)

Most common printers should be supported by the above configuration, if 
NOT you must have foomatic-filters installed and must generate a PPD file 
(Postscript Printer Description) for your printer:

1. Select your printer from http://www.linuxprinting.org/printer_list.cgi
2. Select a driver, be shure the driver is available within ghostscript.
   You can see all drivers included in ghostscript with a 'gs -h'.
3. Download the PPD file for your printer.
4. Save the PPD file to /usr/share/cups/model/<name>.
5. Restart cups with '/etc/rc.d/cups restart'


PRE-INSTALL

POST-INSTALL

1. Remove the usblp kernel module before starting cups.
2. Configure your printer with the web-interface, http://localhost:631.


PRECAUTION

Added opt/cups/cups.



























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/bin/sh
#
# /etc/rc.d/cups: start/stop/reload CUPS daemon
#

KEY=/etc/ssl/keys/cups.key
CRT=/etc/ssl/certs/cups.crt

case $1 in
start)
	if [ ! -s $KEY -o ! -s $CRT ]; then 
		/usr/bin/mksslcert $KEY $CRT
	fi
	/usr/sbin/cupsd
	;;
stop)
	killall -q /usr/sbin/cupsd
	;;
restart)
	$0 stop
	sleep 2
	$0 start
	;;
*)
	echo "Usage: $0 [start|stop|restart]"
	;;
esac

# End of file

Added opt/cups/cups-config.patch.





























>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
diff -Nru cups-1.2.0.orig/conf/cupsd.conf.in cups-1.2.0/conf/cupsd.conf.in
--- cups-1.2.0.orig/conf/cupsd.conf.in	2006-05-14 10:35:54.000000000 +0200
+++ cups-1.2.0/conf/cupsd.conf.in	2006-05-14 10:36:54.000000000 +0200
@@ -10,6 +10,10 @@
 # troubleshooting...
 LogLevel info
 
+# Location of ssl certificates
+ServerCertificate /etc/ssl/certs/cups.crt
+ServerKey /etc/ssl/keys/cups.key
+
 # Administrator user group...
 SystemGroup @CUPS_SYSTEM_GROUPS@
 

Added opt/cyrus-sasl/Pkgfile.

















































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# Description: Simple Authentication and Security Layer
# URL:         http://asg.web.cmu.edu/sasl/sasl-library.html
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    Daniel Mueller, daniel at danm dot de
# Depends on: db, openssl

name=cyrus-sasl
version=2.1.25
release=1
source=(ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/$name-$version.tar.gz saslauthd)

build(){
	cd $name-$version

	./configure \
	    --prefix=/usr \
	    --sysconfdir=/etc/sasl \
	    --with-plugindir=/usr/lib/sasl2 \
	    --with-saslauthd=/var/sasl/saslauthd \
	    --with-dbpath=/etc/sasl/sasldb2 \
	    --with-dblib=berkeley \
	    --with-bdb-incdir=/usr/include \
	    --with-bdb-libdir=/usr/lib \
	    --with-openssl=/usr \
      --enable-login \
      --enable-cram \
      --enable-digest \
	    --enable-shared \
      --mandir=/usr/man

	make -j1
	make DESTDIR=$PKG install

	mkdir -p \
	    $PKG/usr/lib/sasl2 \
	    $PKG/var/sasl/saslauthd \
	    $PKG/etc/rc.d
	
	install -m 755 $SRC/saslauthd $PKG/etc/rc.d
}

Added opt/cyrus-sasl/cyrus-sasl-2.1.23-gcc44.patch.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
--- plugins/digestmd5.c~	2008-11-08 18:28:21.000000000 +0000
+++ plugins/digestmd5.c	2008-11-08 18:28:50.000000000 +0000
@@ -2715,7 +2715,7 @@
 	"DIGEST-MD5",			/* mech_name */
 #ifdef WITH_RC4
 	128,				/* max_ssf */
-#elif WITH_DES
+#elif defined(WITH_DES)
 	112,
 #else 
 	1,
@@ -4034,7 +4034,7 @@
 	"DIGEST-MD5",
 #ifdef WITH_RC4				/* mech_name */
 	128,				/* max ssf */
-#elif WITH_DES
+#elif defined(WITH_DES)
 	112,
 #else
 	1,

Added opt/cyrus-sasl/saslauthd.



































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#!/bin/bash
# 
# /etc/rc.d/saslauthd: start/stop sasl authentication daemon
#

SASLAUTHD_PID=/var/sasl/saslauth/saslauthd.pid

AUTHMECH=shadow

case $1 in
	start)
		/usr/sbin/saslauthd -a $AUTHMECH
		;;
	stop)
		if [ -f $SASLAUTHD_PID ]; then
			kill `head -1 $SASLAUTHD_PID`
			rm $SASLAUTHD_PID
		else
			killall -q /usr/sbin/saslauthd
		fi
		;;
	restart)
		$0 stop
		sleep 2
		$0 start
		;;
	*)
		echo "usage: $0 [start|stop|restart]"
		;;
esac

# End of file

Added opt/dar/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: Disk ARchive - a sophisticated backup utility for Linux
# URL:         http://dar.linux.free.fr/
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  attr, openssl, zlib, bzip2, libgcrypt

name=dar
version=2.4.4
release=1
source=(http://downloads.sourceforge.net/project/dar/dar/v$version/$name-$version.tar.gz \
        darrc)

build () {
    cd $name-$version
    ./configure --prefix=/usr --mandir=/usr/man
    make
    make DESTDIR=$PKG install
    rm -r $PKG/usr/share
    install -D -m 644 $SRC/darrc $PKG/etc/darrc
}

Added opt/dar/darrc.



































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#
# /etc/darrc
#

default:

# list dar version if no command is given
-V


create:

# files we we don't want to save 
-X "*.*.dar"
-X "*.iso"

# create empty dir for excluded directories
-D

# don't save theses directories
-P tmp
-P var/tmp
-P mnt
-P proc
-P dev
-P sys

# use gzip compression
-z

# list of files to not try to compress
-Z "*.mpg"
-Z "*.MPG"
-Z "*.jpg"
-Z "*.JPG"
-Z "*.gz"
-Z "*.tgz"
-Z "*.bz2"
-Z "*.tbz"
-Z "*.mp3"
-Z "*.mpeg"
-Z "*.zip"
-Z "*.Z"
-Z "*.xz"

# create slices of 700MB to fit on one CD-ROM
-s 700M

# End of file

Added opt/dbus-glib/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: D-Bus GLib bindings  
# URL: http://freedesktop.org/wiki/Software/DBusBindings
# Packager: Matt Housh, jaeger at crux dot nu
# Maintainer: Fredrik Rinnestam, fredrik at crux dot nu
# Depends on: dbus, glib

name=dbus-glib
version=0.98
release=2
source=(http://dbus.freedesktop.org/releases/$name/$name-$version.tar.gz)

build() {
	cd $name-$version
	export PATH="$PATH:/usr/sbin"
	./configure --prefix=/usr \
		--disable-static
	make
	make DESTDIR=$PKG install
	rm -rf $PKG/usr/{etc,libexec,share}
}

Added opt/dbus-python/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: D-Bus Python bindings  
# URL: http://freedesktop.org/wiki/Software/DBusBindings
# Packager: Matt Housh, jaeger at crux dot nu
# Maintainer: Fredrik Rinnestam, fredrik at crux dot nu
# Depends on: dbus-glib, python

name=dbus-python
version=0.84.0
release=1
source=(http://dbus.freedesktop.org/releases/$name/$name-$version.tar.gz)

build() {
	cd $name-$version
	./configure --prefix=/usr \
		--disable-html-docs
	make
	make DESTDIR=$PKG install
	rm -rf $PKG/usr/share
}

Added opt/dbus/30-dbus.launch.

















>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
#!/bin/sh

if [ -x /usr/bin/dbus-launch ]
then
	eval `dbus-launch --sh-syntax --exit-with-session`
	export DBUS_SESSION_BUS_ADDRESS
	export DBUS_SESSION_BUS_PID
fi

Added opt/dbus/Pkgfile.































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# Description: A message bus system
# URL: http://freedesktop.org/wiki/Software/dbus
# Packager: Matt Housh, jaeger at crux dot nu
# Maintainer: Fredrik Rinnestam, fredrik at crux dot nu
# Depends on: expat

name=dbus
version=1.4.20
release=1
source=(http://dbus.freedesktop.org/releases/dbus/$name-$version.tar.gz \
rc.dbus 30-dbus.launch)

build() {
	cd $name-$version
	./configure --prefix=/usr \
		--with-dbus-daemondir=/usr/sbin \
		--localstatedir=/var \
		--libexecdir=/usr/lib/dbus \
		--mandir=/usr/man \
		--disable-static \
		--with-dbus-user=messagebus \
		--with-xml=expat \
		--with-system-pid-file=/var/run/$name/$name.pid
	make
	make DESTDIR=$PKG install
	install -D -m 0755 $SRC/rc.dbus $PKG/etc/rc.d/dbus
	install -D -m 0755 $SRC/30-dbus.launch \
	$PKG/etc/X11/xinit/xinitrc.d/30-dbus.launch
	rm -r $PKG/usr/share/doc
	rm -r $PKG/usr/lib/dbus-1.0/test
}

Added opt/dbus/post-install.





>
>
1
2
#!/bin/sh
dbus-uuidgen --ensure

Added opt/dbus/rc.dbus.

























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/bin/sh
#
# /etc/rc.d/dbus: start/stop dbus messagebus daemon
#

case $1 in
	start)
		if [ ! -f /var/lib/dbus/machine-id ]
		then
			/usr/bin/dbus-uuidgen --ensure
		fi
		/usr/sbin/dbus-daemon --system
		;;
	stop)
		killall -q /usr/sbin/dbus-daemon
		rm -f /var/run/dbus/dbus.pid
		;;
	restart)
		$0 stop
		sleep 2
		$0 start
		;;
	*)
		echo "Usage: $0 [start|stop|restart]"
		;;
esac

# End of file

Added opt/desktop-file-utils/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: Command-line utilities for working with desktop entries
# URL: http://www.freedesktop.org/software/desktop-file-utils/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Matt Housh, jaeger at morpheus dot net
# Depends on: glib popt pkg-config

name=desktop-file-utils
version=0.18
release=1
source=(http://freedesktop.org/software/$name/releases/$name-$version.tar.bz2)

build() {
	cd $name-$version
	./configure --prefix=/usr \
                    --mandir=/usr/man \
                    --disable-nls
	make
	make DESTDIR=$PKG install
}

Added opt/devtodo/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: command line application for maintaining lists of tasks
# URL: http://swapoff.org/DevTodo
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu

name=devtodo
version=0.1.20
release=2
source=(http://swapoff.org/files/$name/$name-$version.tar.gz
        $name.diff)

build () {
	cd $name-$version

	patch -Np1 -i $SRC/$name.diff

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added opt/devtodo/devtodo.diff.























>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
diff -aur devtodo-0.1.20.orig/src/todoterm.cc devtodo-0.1.20/src/todoterm.cc
--- devtodo-0.1.20.orig/src/todoterm.cc	2007-06-28 15:04:36.000000000 +0200
+++ devtodo-0.1.20/src/todoterm.cc	2008-06-20 22:57:21.683864560 +0200
@@ -7,6 +7,7 @@
 #include <stdexcept>
 #include <curses.h>
 #include <term.h>
+#include <stdlib.h>
 
 static char info[2048];
 static bool term_initialized;

Added opt/dialog/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: A tool to display dialog boxes from shell scripts
# URL: http://hightek.org/dialog/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Simone Rota, sip at crux dot nu
# Depends on: ncurses

name=dialog
version=1.1-20120215
release=1
source=(ftp://dickey.his.com/$name/$name-$version.tgz)

build () {
  cd $name-$version

  ./configure --prefix=/usr \
              --with-ncursesw

  make
  make DESTDIR=$PKG install
}

Added opt/diffstat/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: Generates statistics for diffs
# URL: http://invisible-island.net/diffstat/
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu

name=diffstat
version=1.54
release=1
source=(ftp://invisible-island.net/$name/$name-$version.tgz)

build() {
	cd $name-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install
}

Added opt/dnsmasq/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description: Caching DNS forwarder and DHCP/TFTP server 
# URL:         http://www.thekelleys.org.uk/dnsmasq/doc.html
# Maintainer:  Juergen Daubert, jue at crux dot nu

name=dnsmasq
version=2.60
release=1
source=(http://www.thekelleys.org.uk/$name/$name-$version.tar.lzma \
        $name-config.patch dnsmasq)

build () {
    cd $name-$version

    patch -p1 -i $SRC/$name-config.patch
    
    make
    make PREFIX=$PKG/usr install

    install -D -m 755 $SRC/dnsmasq $PKG/etc/rc.d/dnsmasq
    install -m 644 dnsmasq.conf.example $PKG/etc/dnsmasq.conf
    install -d  $PKG/var/lib/dhcp
}

Added opt/dnsmasq/README.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
README for dnsmasq 2.x

REQUIREMENTS

For the DHCP server part of dnsmasq you need the following
kernel networking options:
 - Packet sockets
 - Socket filtering 

PRE-INSTALL

POST-INSTALL

As of version 1.16 dnsmasq use the syslog facility daemon 
with priority debug for logging of queries, if log-queries 
is enabled.
This will not work with the default configuration of CRUX. 
Add something like the following to /etc/syslog.conf:

  *.=debug       /var/log/debug

PRECAUTION


Added opt/dnsmasq/dnsmasq.





















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/bin/sh
#
# /etc/rc.d/dnsmasq: start/stop dnsmasq daemon
#

case $1 in
start)
	/usr/sbin/dnsmasq
	;;
stop)
	killall -q /usr/sbin/dnsmasq
	;;
restart)
	$0 stop
	sleep 2
	$0 start
	;;
reload)
	kill -s HUP $(pidof dnsmasq)
	;;
*)
	echo "usage: $0 [start|stop|restart|reload]"
	;;
esac

# End of file

Added opt/dnsmasq/dnsmasq-config.patch.



























































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
diff -Nru dnsmasq-2.60.orig/Makefile dnsmasq-2.60/Makefile
--- dnsmasq-2.60.orig/Makefile	2012-03-06 09:13:14.574103519 +0100
+++ dnsmasq-2.60/Makefile	2012-03-06 09:11:44.000000000 +0100
@@ -20,11 +20,11 @@
 
 PREFIX        = /usr/local
 BINDIR        = $(PREFIX)/sbin
-MANDIR        = $(PREFIX)/share/man
+MANDIR        = $(PREFIX)/man
 LOCALEDIR     = $(PREFIX)/share/locale
 BUILDDIR      = $(SRC)
 DESTDIR       = 
-CFLAGS        = -Wall -W -O2
+CFLAGS        += -Wall -W
 LDFLAGS       = 
 COPTS         = 
 RPM_OPT_FLAGS = 
diff -Nru dnsmasq-2.60.orig/dnsmasq.conf.example dnsmasq-2.60/dnsmasq.conf.example
--- dnsmasq-2.60.orig/dnsmasq.conf.example	2012-03-06 09:13:14.574103519 +0100
+++ dnsmasq-2.60/dnsmasq.conf.example	2012-03-06 09:07:32.000000000 +0100
@@ -75,8 +75,8 @@
 
 # If you want dnsmasq to change uid and gid to something other
 # than the default, edit the following lines.
-#user=
-#group=
+#user=nobody
+#group=nobody
 
 # If you want dnsmasq to listen for DHCP and DNS requests only on
 # specified interfaces (and the loopback) give the name of the
@@ -466,7 +466,7 @@
 # The DHCP server needs somewhere on disk to keep its lease database.
 # This defaults to a sane location, but if you want to change it, use
 # the line below.
-#dhcp-leasefile=/var/lib/misc/dnsmasq.leases
+# dhcp-leasefile=/var/lib/dhcp/dnsmasq.leases
 
 # Set the DHCP server to authoritative mode. In this mode it will barge in
 # and take over the lease for any client which broadcasts on the network,
diff -Nru dnsmasq-2.60.orig/src/config.h dnsmasq-2.60/src/config.h
--- dnsmasq-2.60.orig/src/config.h	2012-03-06 09:13:14.574103519 +0100
+++ dnsmasq-2.60/src/config.h	2012-03-06 09:12:38.000000000 +0100
@@ -35,7 +35,7 @@
 #define RUNFILE "/var/run/dnsmasq.pid"
 #define DEFLEASE 3600 /* default lease time, 1 hour */
 #define CHUSER "nobody"
-#define CHGRP "dip"
+#define CHGRP "nobody"
 #define TFTP_MAX_CONNECTIONS 50 /* max simultaneous connections */
 #define LOG_MAX 5 /* log-queue length */
 #define RANDFILE "/dev/urandom"
@@ -137,7 +137,7 @@
 #   elif defined(__ANDROID__)
 #      define LEASEFILE "/data/misc/dhcp/dnsmasq.leases"
 #   else
-#      define LEASEFILE "/var/lib/misc/dnsmasq.leases"
+#      define LEASEFILE "/var/lib/dhcp/dnsmasq.leases"
 #   endif
 #endif
 

Added opt/dosbox/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: SDL-based DOS emulator for classic games
# URL: http://dosbox.sourceforge.net
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Packager: 
# Depends on: libsdl

name=dosbox
version=0.74
release=1
source=(http://download.sourceforge.net/$name/$name-$version.tar.gz)

build() {
	cd $name-$version
	./configure --prefix=/usr --mandir=/usr/man
	make
	make DESTDIR=$PKG install
	rm -rf $PKG/usr/share
}

Added opt/dosfstools/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: tools for creating and checking DOS filesystems in linux
# URL: http://www.daniel-baumann.ch/software/dosfstools/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Ryan B. Lynch, rlynch at strozllc dot com
# Depends on:

name=dosfstools
version=3.0.12
release=1
source=(http://www.daniel-baumann.ch/software/$name/$name-$version.tar.bz2)

build() {
  cd $name-$version
  sed -e 's|^install: .*|install: install-bin install-man|' -i Makefile
  make install DESTDIR=$PKG \
               PREFIX=/usr \
               SBINDIR=/sbin \
               MANDIR=/usr/man
}

Added opt/dovecot/Pkgfile.























































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# Description: IMAP and POP3 server with ssl/ipv6 support, written with security primarily in mind
# URL:         http://dovecot.org
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  zlib bzip2 openssl tcp_wrappers libcap

name=dovecot
version=2.1.4
release=1
source=(http://dovecot.org/releases/2.1/$name-$version.tar.gz \
        dovecot-config.patch dovecot)

build () {
    cd $name-$version

    patch -p1 -i $SRC/$name-config.patch

    ./configure --prefix=/usr \
                --libexecdir=/usr/lib \
                --sysconfdir=/etc \
                --localstatedir=/var \
                --mandir=/usr/man \
                --with-moduledir=/usr/lib/dovecot/modules \
                --with-ssl=openssl \
                --with-libwrap

    make
    make DESTDIR=$PKG install

    cp -r $PKG/usr/share/doc/dovecot/example-config/* $PKG/etc/dovecot
    install -D -m 755 $SRC/dovecot $PKG/etc/rc.d/dovecot

    rm -r $PKG/usr/share/doc
    rm $PKG/etc/dovecot/README

    install -d $PKG/etc/ssl/{certs,keys}
    touch $PKG/etc/ssl/certs/dovecot.crt
    touch $PKG/etc/ssl/keys/dovecot.key
    chmod 0600 $PKG/etc/ssl/{keys/dovecot.key,certs/dovecot.crt}

    install -d -m 0750 $PKG/var/lib/dovecot
    install -d -m 0755 $PKG/var/run/dovecot
    install -d -m 0750 -o root -g dovecot $PKG/var/run/dovecot/login
}

Added opt/dovecot/README.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
README for dovecot 2.x

REQUIREMENTS

PRE-INSTALL
   Create two users dovecot/dovenull and one group dovecot with a 
   unused id < 99:

   'groupadd -g 26 dovecot'
   'useradd -g dovecot -u 26 -d /var/run/dovecot -s /bin/false dovecot'
   'useradd -g dovecot -u 27 -d /var/run/dovecot -s /bin/false dovenull'
   'passwd -l dovecot'
   'passwd -l dovenull'

   or run the supplied pre-install script.

POST-INSTALL

PRECAUTION

Added opt/dovecot/dovecot.

































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/bin/sh
#
# /etc/rc.d/dovecot: start/stop dovecot IMAP/POP3 daemon
#

KEY=/etc/ssl/keys/dovecot.key
CRT=/etc/ssl/certs/dovecot.crt

case $1 in
start)
	if [ ! -s $KEY -o ! -s $CRT ]; then 
		/usr/bin/mksslcert $KEY $CRT
	fi
	/usr/sbin/dovecot
	;;
stop)
	killall -q /usr/sbin/dovecot
	;;
restart)
	$0 stop
	sleep 2
	$0 start
	;;
reload)
	kill -s HUP $(pidof dovecot)
	;;
*)
	echo "usage: $0 [start|stop|restart|reload]"
	;;
esac

# End of file

Added opt/dovecot/dovecot-config.patch.





































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
diff -Nru dovecot-2.1.0.orig/doc/example-config/conf.d/10-master.conf dovecot-2.1.0/doc/example-config/conf.d/10-master.conf
--- dovecot-2.1.0.orig/doc/example-config/conf.d/10-master.conf	2012-02-17 17:51:20.453196669 +0100
+++ dovecot-2.1.0/doc/example-config/conf.d/10-master.conf	2012-02-17 17:51:36.765941691 +0100
@@ -117,3 +117,10 @@
     #group = 
   }
 }
+
+service tcpwrap {
+   unix_listener login/tcpwrap {
+     mode = 0666
+   }
+}
+
diff -Nru dovecot-2.1.0.orig/doc/example-config/conf.d/10-ssl.conf dovecot-2.1.0/doc/example-config/conf.d/10-ssl.conf
--- dovecot-2.1.0.orig/doc/example-config/conf.d/10-ssl.conf	2012-02-17 17:51:20.453196669 +0100
+++ dovecot-2.1.0/doc/example-config/conf.d/10-ssl.conf	2012-02-17 17:51:36.765941691 +0100
@@ -9,8 +9,8 @@
 # dropping root privileges, so keep the key file unreadable by anyone but
 # root. Included doc/mkcert.sh can be used to easily generate self-signed
 # certificate, just make sure to update the domains in dovecot-openssl.cnf
-ssl_cert = </etc/ssl/certs/dovecot.pem
-ssl_key = </etc/ssl/private/dovecot.pem
+ssl_cert = </etc/ssl/certs/dovecot.crt
+ssl_key = </etc/ssl/keys/dovecot.key
 
 # If key file is password protected, give the password here. Alternatively
 # give it when starting dovecot with -p parameter. Since this file is often
diff -Nru dovecot-2.1.0.orig/doc/example-config/conf.d/auth-system.conf.ext dovecot-2.1.0/doc/example-config/conf.d/auth-system.conf.ext
--- dovecot-2.1.0.orig/doc/example-config/conf.d/auth-system.conf.ext	2012-02-17 17:51:20.453196669 +0100
+++ dovecot-2.1.0/doc/example-config/conf.d/auth-system.conf.ext	2012-02-17 17:51:36.765941691 +0100
@@ -7,12 +7,12 @@
 # PAM is typically used with either userdb passwd or userdb static.
 # REMEMBER: You'll need /etc/pam.d/dovecot file created for PAM
 # authentication to actually work. <doc/wiki/PasswordDatabase.PAM.txt>
-passdb {
-  driver = pam
+#passdb {
+  #driver = pam
   # [session=yes] [setcred=yes] [failure_show_msg=yes] [max_requests=<n>]
   # [cache_key=<key>] [<service name>]
   #args = dovecot
-}
+#}
 
 # System users (NSS, /etc/passwd, or similiar).
 # In many systems nowadays this uses Name Service Switch, which is
@@ -26,11 +26,11 @@
 # Shadow passwords for system users (NSS, /etc/shadow or similiar).
 # Deprecated by PAM nowadays.
 # <doc/wiki/PasswordDatabase.Shadow.txt>
-#passdb {
-  #driver = shadow
+passdb {
+  driver = shadow
   # [blocking=no]
   #args = 
-#}
+}
 
 # PAM-like authentication for OpenBSD.
 # <doc/wiki/PasswordDatabase.BSDAuth.txt>
diff -Nru dovecot-2.1.0.orig/doc/example-config/dovecot.conf dovecot-2.1.0/doc/example-config/dovecot.conf
--- dovecot-2.1.0.orig/doc/example-config/dovecot.conf	2012-02-17 17:51:20.453196669 +0100
+++ dovecot-2.1.0/doc/example-config/dovecot.conf	2012-02-17 17:51:36.765941691 +0100
@@ -24,6 +24,7 @@
 # If you want to specify non-default ports or anything more complex,
 # edit conf.d/master.conf.
 #listen = *, ::
+listen = *
 
 # Base directory where to store runtime data.
 #base_dir = /var/run/dovecot/
@@ -44,7 +45,7 @@
 #login_trusted_networks =
 
 # Sepace separated list of login access check sockets (e.g. tcpwrap)
-#login_access_sockets = 
+login_access_sockets = tcpwrap
 
 # Show more verbose process titles (in ps). Currently shows user name and
 # IP address. Useful for seeing who are actually using the IMAP processes

Added opt/dovecot/pre-install.

















>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
#!/bin/sh

getent group dovecot   || /usr/sbin/groupadd -g 26 dovecot
getent passwd dovecot  || /usr/sbin/useradd  -g dovecot -u 26 -d /var/run/dovecot -s /bin/false dovecot
getent passwd dovenull || /usr/sbin/useradd  -g dovecot -u 27 -d /var/run/dovecot -s /bin/false dovenull
/usr/bin/passwd -l dovecot
/usr/bin/passwd -l dovenull

Added opt/dropbear/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description: Small and secure SSH2 server and client
# URL:         http://matt.ucc.asn.au/dropbear/dropbear.html
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  zlib

name=dropbear
version=2012.55
release=1
source=(http://matt.ucc.asn.au/$name/releases/$name-$version.tar.bz2 \
        $name)

build () {
    cd $name-$version
    sed -i 's|libexec|lib/ssh|; s|X11R6/bin|bin|; s|bin/X11|bin|' options.h
    ./configure --prefix=/usr 
    make
    make DESTDIR=$PKG install
    install -d $PKG/{etc/{rc.d,dropbear},usr/man/man{1,8}}
    install -m 644 dbclient.1 $PKG/usr/man/man1
    install -m 644 dropbear{.8,key.8} $PKG/usr/man/man8
    install -m 755 $SRC/dropbear $PKG/etc/rc.d
}

Added opt/dropbear/dropbear.























































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#!/bin/sh
#
# /etc/rc.d/dropbear: start/stop dropbear ssh daemon
#

CONV=/usr/bin/dropbearconvert
KEYG=/usr/bin/dropbearkey

RSA=/etc/dropbear/dropbear_rsa_host_key
DSS=/etc/dropbear/dropbear_dss_host_key

case $1 in
start)
	if [ ! -f $RSA ]; then
	   if [ -f /etc/ssh/ssh_host_rsa_key ]; then
	      $CONV openssh dropbear /etc/ssh/ssh_host_rsa_key $RSA
	   else
	      $KEYG -t rsa -f $RSA
	   fi
	fi
	if [ ! -f $DSS ]; then
	   if [ -f /etc/ssh/ssh_host_dsa_key ]; then
	      $CONV openssh dropbear /etc/ssh/ssh_host_dsa_key $DSS
	   else
              $KEYG -t dss -f $DSS
	   fi
	fi
	/usr/sbin/dropbear
	;;
stop)
	killall -q /usr/sbin/dropbear
	;;
restart)
	$0 stop
	sleep 2
	$0 start
	;;
*)
	echo "usage: $0 [start|stop|restart]"
	;;
esac

# End of file

Added opt/dvd+rw-tools/Pkgfile.

































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# Description: Tools to write DVDs
# URL: http://fy.chalmers.se/~appro/linux/DVD+RW/
# Maintainer: Simon Glossner, viper at hometux dot de
# Packager: sten, nick dot steeves at shaw dot ca
# Depends on: cdrkit

name=dvd+rw-tools
version=7.1
release=3
source=(http://fy.chalmers.se/~appro/linux/DVD+RW/tools/$name-$version.tar.gz \
	$name.patch $name-gcc43.patch)

build() {
    cd $name-$version
    
    patch -p1 < $SRC/$name.patch
    patch -p0 < $SRC/$name-gcc43.patch

    make

    mkdir -p $PKG/usr/bin $PKG/usr/man/man1
    for exec in \
	dvd+rw-booktype \
	dvd+rw-format \
	dvd+rw-mediainfo \
	dvd-ram-control \
	growisofs
    do
	install -m 755 $exec $PKG/usr/bin/
    done
    install -m 644 growisofs.1 $PKG/usr/man/man1/
}

Added opt/dvd+rw-tools/dvd+rw-tools-gcc43.patch.





















>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
--- transport.hxx.orig	2008-10-19 12:50:57.000000000 +0200
+++ transport.hxx	2008-10-19 12:51:13.000000000 +0200
@@ -16,6 +16,7 @@
 #include <fcntl.h>
 #include <poll.h>
 #include <sys/time.h>
+#include <limits.h>
 
 inline long getmsecs()
 { struct timeval tv;

Added opt/dvd+rw-tools/dvd+rw-tools.patch.

























>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
diff -Nru dvd+rw-tools-7.1/growisofs.c dvd+rw-tools-7.1-new/growisofs.c
--- dvd+rw-tools-7.1/growisofs.c	2008-03-04 10:15:03.000000000 +0100
+++ dvd+rw-tools-7.1-new/growisofs.c	2008-10-18 21:29:51.000000000 +0200
@@ -2964,7 +2964,7 @@
 
 #if defined(__unix) || defined(__unix__)
     env = getenv ("MKISOFS");
-    mkisofs_argv[0] = (env?env:"mkisofs");
+    mkisofs_argv[0] = (env?env:"genisoimage");
 #elif defined(_WIN32)
     /*
      * On Windows I insist on mkisofs.exe to reside in very same

Added opt/eject/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description: ejects CDs and operates CD-Changers
# URL:         http://sites.google.com/site/tranter/software
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    sten, nick dot steeves at shaw dot ca

name=eject
version=2.1.5
release=1
source=(http://www.mirrorservice.org/sites/www.ibiblio.org/gentoo/distfiles/$name-$version.tar.gz)

build() {
    cd $name

    ./configure \
  --prefix=/usr \
        --enable-default-device=/dev/cdrom \
        --disable-nls
    make
    make DESTDIR=$PKG install

    rm -rf $PKG/usr/share
}

Added opt/elfutils/Pkgfile.



















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# Description: A collection of utilities to handle ELF objects.
# URL: http://www.ohloh.net/p/elfutils
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: bzip2 xz zlib

name=elfutils
version=0.153
release=1
source=(https://fedorahosted.org/releases/e/l/$name/$version/$name-$version.tar.bz2)

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--program-prefix=eu-

	find -name Makefile | xargs sed -i -e 's/-Werror//'

	make
	make DESTDIR=$PKG install

	rm -rf $PKG/usr/share
}

Added opt/elinks/Pkgfile.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Description: Enhanced version of the links textmode WWW browser with frame/table support 
# URL:         http://elinks.or.cz/
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  openssl, zlib

name=elinks
version=0.12-3b8e36d
release=1
source=(http://crux.s3.amazonaws.com/dist/$name-$version.tar.xz)

build () {
    cd $name-$version
    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --sysconfdir=/usr/etc \
                --enable-256-colors \
                --enable-html-highlight \
                --disable-nls \
                --without-{zlib,bzlib}
    make
    make DESTDIR=$PKG install
    ln -s elinks $PKG/usr/bin/links
}

Added opt/elinks/README.























>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
README for elinks 0.11.x

To get a more "common" behaviour of elinks cursor-keys add 
the following to ~/.elinks/elinks.conf:

  bind "main" "Up"    = "move-cursor-up"
  bind "main" "Right" = "move-cursor-right"
  bind "main" "Left"  = "move-cursor-left"
  bind "main" "Down"  = "move-cursor-down"


Added opt/emacs/Pkgfile.

















































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# Description: an extensible, customizable, self-documenting real-time display editor
# URL: http://www.gnu.org/software/emacs/
# Maintainer: Antti Nykanen, aon at iki dot fi
# Depends on: xorg, libtiff, libungif, ctags, libpng

name=emacs
version=23.3
release=3
source=(http://ftp.gnu.org/gnu/$name/$name-${version}b.tar.gz
	$name-$version-etc-blacklist)

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--libexecdir=/usr/lib \
		--mandir=/usr/man \
		--localstatedir=/usr/lib/emacs/$version \
		--with-x \
		--without-makeinfo

	make
	make DESTDIR=$PKG install

	rm -rf $PKG/usr/share/info
	find $PKG/usr/share/emacs -name "*.el.gz" | while read file; do
		[ -f ${file%.gz}c ] && rm -f $file
	done

	rm $PKG/usr/bin/emacs-$version 
	rm $PKG/usr/{bin/{c,e}tags,man/man1/{c,e}tags.1}
	rm $PKG/usr/share/emacs/$version/lisp/{COPYING,calc/README.prev,nxml/TODO,{,term/,international/}README}

	for i in $(< $SRC/$name-$version-etc-blacklist); do
		rm -r $PKG/usr/share/emacs/$version/etc/$i
	done

	chown -R root:root $PKG
}

Added opt/emacs/emacs-23.3-etc-blacklist.























































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
BABYL
CENSORSHIP
COOKIES
DEVEL.HUMOR
DISTRIB
ERC-NEWS
ETAGS.EBNF
ETAGS.README
FTP
GNU
GNUS-NEWS
INTERVIEW
JOKES
LINUX-GNU
MACHINES
MAILINGLISTS
MH-E-NEWS
MOTIVATION
NXML-NEWS
README
SERVICE
TERMS
condom.1
copying.paper
e
echo.msg
emacs-buffer.gdb
emacs.csh
emacs.icon
enriched.doc
future-bug
grep.txt
ms-kermit
refcards
rgb.txt
ses-example.ses
charsets/README
images/README
nxml/README
schema/README
images/*/README
images/smilies/*/README
images/tree-widget/*/README

Added opt/enscript/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: GNU enscript, converts ASCII files to PostScript
# URL:         http://www.gnu.org/software/enscript/
# Maintainer:  Juergen Daubert, jue at crux dot nu

name=enscript
version=1.6.5.2
release=1
source=(http://ftp.gnu.org/gnu/enscript/$name-$version.tar.gz)

build () {
    cd $name-$version
    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --disable-nls
    make
    make DESTDIR=$PKG install
    rm -r $PKG/usr/share/info
}

Added opt/epdfview/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: a GTK based pdf viewer
# URL: http://www.emma-soft.com/projects/epdfview
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: poppler poppler-glib

name=epdfview
version=0.1.8
release=2
source=(http://www.emma-soft.com/projects/epdfview/chrome/site/releases/$name-$version.tar.bz2 $name.diff)

build() {
	cd $name-$version
	patch -p2 -i $SRC/$name.diff
	./configure --prefix=/usr --disable-nls --mandir=/usr/man
	make
	make DESTDIR=$PKG install
}

Added opt/epdfview/epdfview.diff.















































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
Index: /trunk/src/PDFDocument.cxx
===================================================================
--- /trunk/src/PDFDocument.cxx	(revision 361)
+++ /trunk/src/PDFDocument.cxx	(revision 367)
@@ -21,4 +21,5 @@
 #include <poppler.h>
 #include <unistd.h>
+#include <algorithm>
 #include "epdfview.h"
 
@@ -33,4 +34,22 @@
 static PageMode convertPageMode (gint pageMode);
 static gchar *getAbsoluteFileName (const gchar *fileName);
+
+namespace
+{
+    void
+    convert_bgra_to_rgba (guint8 *data, int width, int height)
+    {
+        using std::swap;
+
+        for (int y = 0; y < height; y++)
+        {
+            for (int x = 0; x < width; x++)
+            {
+                swap(data[0], data[2]);
+                data += 4;
+            }
+        }
+    }
+}
 
 ///
@@ -651,4 +670,5 @@
         cairo_destroy(context);
         cairo_surface_destroy (surface);
+        convert_bgra_to_rgba(renderedPage->getData (), width, height);
 #else // !HAVE_POPPLER_0_17_0
         // Create the pixbuf from the data and render to it.

Added opt/esmtp/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: A small relay-only MTA based on libesmtp
# URL: http://esmtp.sourceforge.net
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: libesmtp

name=esmtp
version=1.2
release=1
source=(http://download.sourceforge.net/$name/$name-$version.tar.bz2)

build() {
	cd $name-$version

	CPPFLAGS=`libesmtp-config --cflags` \
		./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added opt/esmtp/README.























>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
README for esmtp 0.5.0

REQUIREMENTS

PRE-INSTALL
1. Remove any other MTA that's currently installed. They can't coexist.
      
POST-INSTALL
  
PRECAUTION

Added opt/evilwm/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: The minimalist window manager
# URL:         http://www.6809.org.uk/evilwm/
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  xorg-libxext xorg-libxrandr xorg-font-misc-misc xorg-font-alias

name=evilwm
version=1.1.0
release=1
source=(http://www.6809.org.uk/$name/$name-$version.tar.gz \
        $name-config.patch)

build () {
    cd $name-$version
    patch -p1 -i $SRC/$name-config.patch
    make CFLAGS="$CFLAGS" 
    make DESTDIR=$PKG mandir=/usr/man install
}

Added opt/evilwm/evilwm-config.patch.









































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
diff -Nru evilwm-1.1.0.orig/evilwm.1 evilwm-1.1.0/evilwm.1
--- evilwm-1.1.0.orig/evilwm.1	2011-07-06 12:35:18.280005418 +0200
+++ evilwm-1.1.0/evilwm.1	2011-07-06 12:44:23.853798991 +0200
@@ -68,7 +68,7 @@
 I
 Show information about current window.
 .TP
-Equals
+V
 Maximise current window vertically (toggle).
 .TP
 X
diff -Nru evilwm-1.1.0.orig/evilwm.h evilwm-1.1.0/evilwm.h
--- evilwm-1.1.0.orig/evilwm.h	2011-07-06 12:35:18.280005418 +0200
+++ evilwm-1.1.0/evilwm.h	2011-07-06 12:47:25.107270644 +0200
@@ -41,7 +41,7 @@
 
 /* default settings */
 
-#define DEF_FONT        "variable"
+#define DEF_FONT        "fixed"
 #define DEF_FG          "goldenrod"
 #define DEF_BG          "grey50"
 #define DEF_BW          1
diff -Nru evilwm-1.1.0.orig/keymap.h evilwm-1.1.0/keymap.h
--- evilwm-1.1.0.orig/keymap.h	2011-07-06 12:35:18.280005418 +0200
+++ evilwm-1.1.0/keymap.h	2011-07-06 12:43:34.052256271 +0200
@@ -14,7 +14,7 @@
 #define KEY_LOWER       XK_Insert
 #define KEY_ALTLOWER    XK_KP_Insert
 #define KEY_INFO        XK_i
-#define KEY_MAXVERT     XK_equal
+#define KEY_MAXVERT     XK_v
 #define KEY_MAX         XK_x
 #define KEY_DOCK_TOGGLE XK_d
 #ifdef VWM

Added opt/exif/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: Simple command line interface to libexif
# URL:         http://libexif.sourceforge.net/
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  libexif popt

name=exif
version=0.6.20
release=1
source=(http://downloads.sourceforge.net/project/libexif/$name/$version/$name-$version.tar.bz2)

build () {
	cd $name-$version
	./configure --prefix=/usr --mandir=/usr/man --disable-nls
	make
	make DESTDIR=$PKG install
}

Added opt/expat/Pkgfile.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Description: A fast, non-validating, stream-oriented XML parsing library
# URL:         http://expat.sourceforge.net/
# Maintainer:  Juergen Daubert, jue at crux dot nu

name=expat
version=2.1.0
release=1
source=(http://download.sourceforge.net/$name/$name-$version.tar.gz)

build() { 
    cd $name-$version
    ./configure --prefix=/usr --mandir=/usr/man
    make
    make DESTDIR=$PKG install
}

Added opt/ez-ipupdate/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: Utility for updating the host name for many dynamic DNS services
# URL:         http://www.ez-ipupdate.com/
# Maintainer:  Juergen Daubert, jue at crux dot nu

name=ez-ipupdate
version=3.0.11b8
release=2
source=(http://ftp.debian.org/debian/pool/main/e/$name/${name}_${version}.orig.tar.gz \
        $name.8 $name-$version.patch)

build () {
    cd $name-$version
    patch -p1 < ../$name-$version.patch
    export CFLAGS="$CFLAGS -Wall"
    ./configure --prefix=/usr
    make 
    make DESTDIR=$PKG install
    install -D -m 644 ../$name.8 $PKG/usr/man/man8/$name.8
}

Added opt/ez-ipupdate/ez-ipupdate-3.0.11b8.patch.

































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
diff -Nru ez-ipupdate-3.0.11b8.orig/ez-ipupdate.c ez-ipupdate-3.0.11b8/ez-ipupdate.c
--- ez-ipupdate-3.0.11b8.orig/ez-ipupdate.c	2002-03-12 00:31:47.000000000 +0100
+++ ez-ipupdate-3.0.11b8/ez-ipupdate.c	2003-10-17 13:18:12.000000000 +0200
@@ -140,7 +140,7 @@
 #  include <signal.h>
 #endif
 #if HAVE_SYS_TIME_H
-#  include <sys/time.h>
+#  include <time.h>
 #endif
 #if HAVE_SYS_WAIT_H
 #  include <sys/wait.h>
@@ -4215,7 +4215,6 @@
 
   switch(ret)
   {
-    char *p;
 
     case -1:
       if(!(options & OPT_QUIET))
diff -Nru ez-ipupdate-3.0.11b8.orig/md5.c ez-ipupdate-3.0.11b8/md5.c
--- ez-ipupdate-3.0.11b8.orig/md5.c	2000-08-08 09:09:48.000000000 +0200
+++ ez-ipupdate-3.0.11b8/md5.c	2003-10-17 13:21:56.000000000 +0200
@@ -30,7 +30,7 @@
 #ifdef HAVE_STRING_H
 # include <string.h>
 #else
-# include <strings.h>
+# include <string.h>
 #endif
 
 #include "md5.h"

Added opt/ez-ipupdate/ez-ipupdate.8.

























































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.29.
.\" I DO WHATEVER I WANT YOU DUMBASS SCRIPT!  -- Sam
.TH EZ-IPUPDATE "8" "February 2003" "ez-ipupdate - 3.0.11b7" "Dynamic DNS client"
.SH NAME
ez-ipupdate \- dynamic DNS client
.SH SYNOPSIS
.B ez-ipupdate
.RI [ options ]
.SH DESCRIPTION
This manual page documents briefly the
.B ez-ipupdate
dynamic DNS client.

.SH OPTIONS
.B ez-ipupdate
follows the usual GNU command line syntax, with long
options starting with two dashes (`-').
.TP
\fB\-a\fR, \fB\-\-address\fR <ip address>
string to send as your ip address
.TP
\fB\-b\fR, \fB\-\-cache\-file\fR <file>
file to use for caching the ipaddress
.TP
\fB\-c\fR, \fB\-\-config\-file\fR <file>
configuration file, almost all arguments can be
given with: <name>[=<value>]
to see a list of possible config commands
try "echo help | ez-ipupdate \fB\-c\fR -"
.TP
\fB\-d\fR, \fB\-\-daemon\fR
run as a daemon periodicly updating if
necessary
.TP
\fB\-e\fR, \fB\-\-execute\fR <command>
shell command to execute after a successful
update
.TP
\fB\-f\fR, \fB\-\-foreground\fR
when running as a daemon run in the foreground
.TP
\fB\-F\fR, \fB\-\-pidfile\fR <file>
use <file> as a pid file
.TP
\fB\-g\fR, \fB\-\-request\-uri\fR <uri>
URI to send updates to
.TP
\fB\-h\fR, \fB\-\-host\fR <host>
string to send as host parameter
.TP
\fB\-i\fR, \fB\-\-interface\fR <iface>
which interface to use
.TP
\fB\-L\fR, \fB\-\-cloak_title\fR <host>
some stupid thing for DHS only
.TP
\fB\-m\fR, \fB\-\-mx\fR <mail exchange>
string to send as your mail exchange
.HP
\fB\-M\fR, \fB\-\-max\-interval\fR <# of sec> max time in between updates
.TP
\fB\-N\fR, \fB\-\-notify\-email\fR <email>
address to send mail to if bad things happen
.TP
\fB\-o\fR, \fB\-\-offline\fR
set to off line mode
.TP
\fB\-p\fR, \fB\-\-resolv\-period\fR <sec>
period to check IP if it can't be resolved
.TP
\fB\-P\fR, \fB\-\-period\fR <# of sec>
period to check IP in daemon
mode (default: 1800 seconds)
.TP
\fB\-q\fR, \fB\-\-quiet\fR
be quiet
.TP
\fB\-r\fR, \fB\-\-retrys\fR <num>
number of trys (default: 1)
.TP
\fB\-R\fR, \fB\-\-run\-as\-user\fR <user>
change to <user> for running, be ware
that this can cause problems with handeling
SIGHUP properly if that user can't read the
config file. also it can't write it's pid file
to a root directory
.TP
\fB\-Q\fR, \fB\-\-run\-as\-euser\fR <user>
change to effective <user> for running,
this is NOT secure but it does solve the
problems with run-as-user and config files and
pid files.
.TP
\fB\-s\fR, \fB\-\-server\fR <server[:port]>
the server to connect to
.TP
\fB\-S\fR, \fB\-\-service\-type\fR <server>
the type of service that you are using
try one of: null ezip pgpow dhs
dyndns dyndns-static dyndns-custom
ods tzo easydns easydns-partner
gnudip justlinux dyns hn zoneedit
heipv6tb
.TP
\fB\-t\fR, \fB\-\-timeout\fR <sec.millisec>
the amount of time to wait on I/O
.TP
\fB\-T\fR, \fB\-\-connection\-type\fR <num>
number sent to TZO as your connection
type (default: 1)
.TP
\fB\-U\fR, \fB\-\-url\fR <url>
string to send as the url parameter
.TP
\fB\-u\fR, \fB\-\-user\fR <user[:passwd]>
user ID and password, if either is left blank
they will be prompted for
.TP
\fB\-w\fR, \fB\-\-wildcard\fR
set your domain to have a wildcard alias
.TP
\fB\-z\fR, \fB\-\-partner\fR <partner>
specify easyDNS partner (for easydns-partner
services)
.TP
\fB\-\-help\fR
display this help and exit
.TP
\fB\-\-version\fR
output version information and exit
.TP
\fB\-\-credits\fR
print the credits and exit
.TP
\fB\-\-signalhelp\fR
print help about signals
.br
.SH AUTHOR
This manual page was written by Sam Hocevar <sam@zoy.org> for the Debian
GNU/Linux system (but may be used by others).

Added opt/fakeroot/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: Run commands in an environment faking root privileges
# URL:         http://packages.debian.org/unstable/utils/fakeroot
# Maintainer:  Juergen Daubert, jue at crux dot nu

name=fakeroot
version=1.18.2
release=1
source=(http://ftp.debian.org/debian/pool/main/f/$name/${name}_$version.orig.tar.bz2)

build () {
    cd $name-$version
    ./configure --prefix=/usr --mandir=/usr/man
    make
    make DESTDIR=$PKG install
    rm -r $PKG/usr/man/??
}

Added opt/fcron/Pkgfile.

































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# Description: Enhanced periodical command scheduler like cron
# URL:         http://fcron.free.fr
# Maintainer:  Juergen Daubert, jue at crux dot nu

name=fcron
version=3.0.6
release=1
source=(http://fcron.free.fr/archives/$name-$version.src.tar.gz \
        fcron systab.orig)

build () {
    cd $name-$version

    ./configure --prefix=/usr \
                --sysconfdir=/etc/fcron \
                --localstatedir=/var \
                --mandir=/usr/man \
                --with-spooldir=/var/spool/fcron \
                --with-boot-install=no \
                --with-username=fcron \
                --with-groupname=fcron \
                --with-pam=no \
                --with-sendmail=/usr/sbin/sendmail

    make
    make -j1 DESTDIR=$PKG install

    rm -r $PKG/{usr/{share,man/{fr,man3}},var/run}

    install -D -m 755 $SRC/fcron $PKG/etc/rc.d/fcron
    install -m 600 $SRC/systab.orig $PKG/var/spool/fcron
}

Added opt/fcron/README.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
README for fcron 3.x

REQUIREMENTS

PRE/POST-INSTALL

1. Create a user/group fcron with a unused id < 99:

   'groupadd -g 45 fcron'
   'useradd -u 45 -g fcron -d /var/spool/fcron -s /bin/false fcron'
   'passwd -l fcron'

PRECAUTION

   As of version 3.0.4 release 2 frcon is configured to use a 
   user and group fcron instead of daemon/daemon. 
   If you upgrade fcron you have to run rejmerge to get the right
   owner for the files in /etc/fcron and manually adjust the owner
   and group of /var/spool/fcron to fcron. 

Added opt/fcron/fcron.





















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/bin/sh
#
# /etc/rc.d/fcron: start/stop fcron daemon
#

case $1 in
start)
	/usr/sbin/fcron -b
	if [ ! -f /var/spool/fcron/systab ]; then
	   /usr/bin/fcrontab -u systab -z
	fi
	;;
stop)
	killall -q /usr/sbin/fcron
	;;
restart)
	$0 stop
	sleep 2
	$0 start
	;;
*)
	echo "usage: $0 [start|stop|restart]"
	;;
esac

# End of file

Added opt/fcron/pre-install.













>
>
>
>
>
>
1
2
3
4
5
6
#!/bin/sh

getent group fcron || /usr/sbin/groupadd -g 45 fcron
getent passwd fcron || /usr/sbin/useradd -g fcron -u 45 -d /var/spool/fcron -s /bin/false fcron
/usr/bin/passwd -l fcron

Added opt/fcron/systab.orig.



























>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
#
# /var/spool/fcron/systab.org: fcron(8) configuration
#

!mailto(root)
!noticenotrun(yes)

%hourly    *           /usr/sbin/runjobs /etc/cron/hourly
%daily     *   *       /usr/sbin/runjobs /etc/cron/daily
%weekly    *   *       /usr/sbin/runjobs /etc/cron/weekly
%monthly   *   *   *   /usr/sbin/runjobs /etc/cron/monthly

# End of file

Added opt/fetchmail/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: A remote-mail retrieval utility
# URL:         http://fetchmail.info
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  openssl

name=fetchmail
version=6.3.21
release=1
source=(http://downloads.sourceforge.net/project/$name/branch_6.3/$name-$version.tar.xz)

build() {
    cd $name-$version

    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --with-ssl=/usr \
                --disable-nls \
                PYTHON=:
    make
    make DESTDIR=$PKG install
}

Added opt/firefox-java-plugin/Pkgfile.































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# Description: Java plugin for Mozilla Firefox
# URL: http://java.sun.com
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Jay Dolan, jdolan at jdolan dot dyndns dot org
# Depends on: jre firefox

name=firefox-java-plugin
version=1.6.0_20
release=1
source=()

build(){
  plugins=(
    # jre
    /usr/lib/java/lib/i386/libnpjp2.so \
    # jdk
    /usr/lib/java/jre/lib/i386/libnpjp2.so
    )
  
  for p in ${plugins[@]}; do
    test -f $p && break
  done
  
  if [ ! -f $p ]; then
    echo "Java Runtime Environment not found!"
    return
  fi
  
  mkdir -p $PKG/usr/lib/firefox/plugins
  ln -s $p $PKG/usr/lib/firefox/plugins
}

Added opt/firefox/Pkgfile.















































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# Description: The Mozilla Firefox browser
# URL: http://www.mozilla.com/firefox/
# Maintainer: Fredrik Rinnestam, fredrik at crux dot nu
# Depends on: libidl, gtk, python, alsa-lib, yasm, mesa3d

name=firefox
version=11.0
release=1
source=(ftp://ftp.mozilla.org/pub/firefox/releases/$version/source/firefox-$version.source.tar.bz2
        mozconfig)
    
build() {
    export MOZ_CO_PROJECT=browser
    export BUILD_OFFICIAL=1
    export MOZILLA_OFFICIAL=1
    export MOZILLA_FIVE_HOME=/usr/lib/firefox

    cd mozilla-release
    export CFLAGS="$CFLAGS -mno-avx"
    sed -e "s/#CFLAGS#/$CFLAGS/" $SRC/mozconfig > .mozconfig
    ./configure
    make

    install -d \
	$PKG$MOZILLA_FIVE_HOME \
	$PKG/usr/bin \
	$PKG/usr/share/idl/firefox \
	$PKG/usr/include/firefox

    cp -rL dist/bin/* $PKG$MOZILLA_FIVE_HOME
    ln -s /usr/lib/firefox/firefox $PKG/usr/bin/firefox

    # devel stuff
    cp -frL dist/idl/* $PKG/usr/share/idl/firefox/
    cp -frL dist/include/* $PKG/usr/include/firefox/

    install -d $PKG/etc/ld.so.conf.d
    echo "/usr/lib/$name" > $PKG/etc/ld.so.conf.d/$name.conf
}

Added opt/firefox/mozconfig.



























































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# use an OBJDIR
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/firefox-shared

# inherit possible makeflags from pkgmk.
mk_add_options MOZ_MAKE_FLAGS="#MAKEFLAGS#"

# grab the defaults from the firefox tarball
. $topsrcdir/browser/config/mozconfig

# crux options

ac_add_options --prefix=/usr
ac_add_options --with-system-jpeg
ac_add_options --with-system-zlib
ac_add_options --with-system-mng
ac_add_options --enable-system-cairo
ac_add_options --with-pthreads
ac_add_options --enable-optimize="#CFLAGS#"
ac_add_options --enable-official-branding
ac_add_options --enable-extensions=default,-gnomevfs
ac_add_options --enable-shared
ac_add_options --enable-svg
ac_add_options --enable-canvas
ac_add_options --enable-crypto
ac_add_options --enable-single-profile
ac_add_options --enable-places
ac_add_options --enable-storage
ac_add_options --enable-places_bookmarks
ac_add_options --enable-image-encoder=all
ac_add_options --enable-xft
ac_add_options --disable-static
ac_add_options --disable-tests
ac_add_options --disable-mochitest
ac_add_options --disable-dbus
ac_add_options --disable-debug
ac_add_options --disable-installer
ac_add_options --disable-updater
ac_add_options --disable-xprint
ac_add_options --disable-profilesharing
ac_add_options --disable-gnomevfs
ac_add_options --disable-gnomeui
ac_add_options --disable-mailnews
ac_add_options --disable-crashreporter
ac_add_options --disable-necko-wifi
ac_add_options --disable-libnotify

Added opt/flac/Pkgfile.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Description: Free Lossless Audio Codec
# URL: http://flac.sourceforge.net/
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Packager: Matt Housh, jaeger at morpheus dot net
# Depends on: libogg

name=flac
version=1.2.1
release=2
source=(http://download.sourceforge.net/$name/$name-$version.tar.gz
        $name.diff)

build() {
	cd $name-$version

	# fix compilation with gcc 4.3
	patch -Np1 -i $SRC/$name.diff

	./configure --prefix=/usr
	make
	make DESTDIR=$PKG install
	rm -rf $PKG/usr/share/doc
}

Added opt/flac/flac.diff.























>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
diff -aur flac-1.2.1.orig/examples/cpp/encode/file/main.cpp flac-1.2.1/examples/cpp/encode/file/main.cpp
--- flac-1.2.1.orig/examples/cpp/encode/file/main.cpp	2007-09-13 17:58:03.000000000 +0200
+++ flac-1.2.1/examples/cpp/encode/file/main.cpp	2008-10-23 18:30:02.575321637 +0200
@@ -30,6 +30,7 @@
 
 #include <stdio.h>
 #include <stdlib.h>
+#include <cstring>
 #include "FLAC++/metadata.h"
 #include "FLAC++/encoder.h"
 

Added opt/flash-player-plugin/Pkgfile.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Description: Macromedia Flash Plugin for Firefox
# URL: http://www.adobe.com/products/flashplayer/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Matt Housh, jaeger at crux dot nu
# Depends on:

name=flash-player-plugin
version=11.2.202.228
release=1
source=(http://fpdownload.macromedia.com/get/flashplayer/pdc/$version/flash-plugin-$version-release.i386.rpm)

build() {
  install -D -m 0755 usr/lib/flash-plugin/libflashplayer.so \
    $PKG/usr/lib/mozilla/plugins/libflashplayer.so
}

Added opt/flawfinder/Pkgfile.





























>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# Description: C/C++ source auditing tool
# URL: http://www.dwheeler.com/flawfinder/
# Maintainer: Antti Nykanen, aon at iki dot fi
# Depends on: python

name=flawfinder
version=1.27
release=1
source=(http://www.dwheeler.com/flawfinder/flawfinder-$version.tar.gz)

build () {
	cd flawfinder-$version
	make INSTALL_DIR=$PKG/usr install
}

Added opt/fontconfig/Pkgfile.



























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# Description: A library for configuring and customizing font access
# URL:         http://fontconfig.org/wiki/
# Maintainer:  Tilman Sauerbeck, tilman at crux dot nu
# Depends on:  freetype, expat

name=fontconfig
version=2.8.0
release=1
source=(http://fontconfig.org/release/$name-$version.tar.gz)

build() {
    cd $name-$version

    ./configure --prefix=/usr \
                --sysconfdir=/etc \
                --mandir=/usr/man \
                --localstatedir=/var

    make
    make DESTDIR=$PKG install

    # Enabling autohinting by default
    pushd $PKG/etc/fonts/conf.d
    ln -s ../conf.avail/10-autohint.conf
    popd

    rm -f $PKG/etc/fonts/conf.d/README
    rm -r $PKG/usr/share
}

Added opt/fontconfig/README.



























>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
POST-INSTALL

  After upgrading fontconfig, always run rejmerge and upgrade
  /etc/fonts.conf and /etc/fonts.dtd.


  /etc/fonts/conf.avail ships with configuration snippets that can be
  symlinked from /etc/fonts/conf.d to enable them.
  It's recommended to use these snippets instead of duplicating XML code
  in your /etc/fonts/local.conf.

  For more information on conf.avail/conf.d, please see:
  http://gitweb.freedesktop.org/?p=fontconfig;a=blob_plain;h=dbcfe2135f809089266fbbb024a2304f6c24ac03;f=conf.d/README

Added opt/fontforge/Pkgfile.































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# Description: An outline font editor.
# URL: http://fontforge.sourceforge.net
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Antti Nykanen, aon at iki dot fi
# Depends on: freetype libpng libtiff libungif libuninameslist xorg-libxi xorg-libxkbui

name=fontforge
version=20110222
release=1
source=(http://downloads.sourceforge.net/project/$name/fontforge-source/fontforge_full-$version.tar.bz2
	http://fontforge.sourceforge.net/cidmaps.tgz
	fontforge-20110222-libz.so-linkage.patch)

build() {
	cd $name-$version

	patch -p 1 -i $SRC/fontforge-20110222-libz.so-linkage.patch

	install -d $PKG/usr/share/fontforge
	cp $SRC/*.cidmap $PKG/usr/share/fontforge/

	./configure \
		--prefix=/usr \
		--mandir=/usr/man \
		--without-freetype-src \
		--disable-static

	make
	make install DESTDIR=$PKG
	rm -r $PKG/usr/share/locale
}

Added opt/fontforge/fontforge-20110222-libz.so-linkage.patch.





































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
https://bugs.gentoo.org/show_bug.cgi?id=367425

diff -ruN fontforge-20110222~/fontforge/parsepdf.c fontforge-20110222/fontforge/parsepdf.c
--- fontforge-20110222~/fontforge/parsepdf.c	2011-02-15 05:37:39.000000000 +0200
+++ fontforge-20110222/fontforge/parsepdf.c	2011-05-17 22:19:56.000000000 +0300
@@ -759,7 +759,11 @@
     if ( zlib!=NULL )
 return( true );
 
-    if ( (zlib = dlopen("libz" SO_EXT,RTLD_GLOBAL|RTLD_LAZY))==NULL ) {
+    if ( (zlib = dlopen("libz" SO_EXT,RTLD_GLOBAL|RTLD_LAZY))==NULL
+#ifdef SO_1_EXT                                                                                                                                                                                                 
+            && (zlib = dlopen("libz" SO_1_EXT,RTLD_LAZY))==NULL
+#endif 
+            ) {
 	LogError( "%s", dlerror());
 return( false );
     }
diff -ruN fontforge-20110222~/fontforge/svg.c fontforge-20110222/fontforge/svg.c
--- fontforge-20110222~/fontforge/svg.c	2011-02-18 23:33:27.000000000 +0200
+++ fontforge-20110222/fontforge/svg.c	2011-05-17 22:19:56.000000000 +0300
@@ -1153,7 +1153,11 @@
     if ( xmltested )
 return( libxml!=NULL );
 
-    dlopen("libz" SO_EXT,RTLD_GLOBAL|RTLD_LAZY);
+    dlopen("libz" SO_EXT,RTLD_GLOBAL|RTLD_LAZY)
+#ifdef SO_1_EXT                                                                                                                                                                                                 
+        || dlopen("libz" SO_1_EXT,RTLD_LAZY)
+#endif
+        ;
 
     libxml = dlopen( "libxml2" SO_EXT,RTLD_LAZY);
 # ifdef SO_2_EXT
diff -ruN fontforge-20110222~/fontforge/ufo.c fontforge-20110222/fontforge/ufo.c
--- fontforge-20110222~/fontforge/ufo.c	2011-02-17 02:20:37.000000000 +0200
+++ fontforge-20110222/fontforge/ufo.c	2011-05-17 22:19:56.000000000 +0300
@@ -929,7 +929,11 @@
     if ( xmltested )
 return( libxml!=NULL );
 
-    dlopen("libz" SO_EXT,RTLD_GLOBAL|RTLD_LAZY);
+    dlopen("libz" SO_EXT,RTLD_GLOBAL|RTLD_LAZY)
+#ifdef SO_1_EXT                                                                                                                                                                                                 
+        || dlopen("libz" SO_1_EXT,RTLD_LAZY)
+#endif
+        ;
 
     libxml = dlopen( "libxml2" SO_EXT,RTLD_LAZY);
 # ifdef SO_2_EXT
diff -ruN fontforge-20110222~/fontforge/woff.c fontforge-20110222/fontforge/woff.c
--- fontforge-20110222~/fontforge/woff.c	2011-02-15 05:37:40.000000000 +0200
+++ fontforge-20110222/fontforge/woff.c	2011-05-17 22:19:56.000000000 +0300
@@ -76,7 +76,11 @@
     if ( zlib!=NULL )
 return( true );
 
-    if ( (zlib = dlopen("libz" SO_EXT,RTLD_GLOBAL|RTLD_LAZY))==NULL ) {
+    if ( (zlib = dlopen("libz" SO_EXT,RTLD_GLOBAL|RTLD_LAZY))==NULL 
+#ifdef SO_1_EXT
+            && (zlib = dlopen("libz" SO_1_EXT,RTLD_LAZY))==NULL
+#endif
+            ) {
 	LogError( "%s", dlerror());
 return( false );
     }

Added opt/foomatic-filters/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: Filter script to convert PostScript data into the printers nativ format
# URL:         http://openprinting.org
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  ghostscript

name=foomatic-filters
version=4.0.15
release=1
source=(http://www.openprinting.org/download/foomatic/$name-$version.tar.gz)

build () {
    cd $name-$version
    ./configure --prefix=/usr \
                --sysconfdir=/etc \
                --mandir=/usr/man \
                --disable-dbus
    make
    make DESTDIR=$PKG install-main install-cups
}

Added opt/freeglut/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: a free alternative to the OpenGL Utility Toolkit (GLUT) library
# URL: http://freeglut.sourceforge.net
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: mesa3d xorg-libxi

name=freeglut
version=2.8.0
release=1
source=(http://download.sourceforge.net/$name/$name-$version.tar.gz)

build() {
    cd $name-$version
    ./configure --prefix=/usr \
        --disable-warnings
    make
    make DESTDIR=$PKG install
}

Added opt/freetype/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: A free and portable TrueType font rendering engine
# URL:         http://www.freetype.org
# Maintainer:  Tilman Sauerbeck, tilman at crux dot nu
# Depends on:  zlib

name=freetype
version=2.4.8
release=1
source=(http://download.savannah.gnu.org/releases/$name/$name-$version.tar.bz2)

build() {
    cd freetype-$version
    ./configure --prefix=/usr \
		--with-zlib \
		--disable-nls
    make
    make DESTDIR=$PKG install
}

Added opt/fuse/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: Interface for userspace filesystems
# URL:         http://fuse.sourceforge.net/
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Packager:    Jukka Heino, jukka dot heino at gmail dot com

name=fuse
version=2.8.7
release=1
source=(http://downloads.sourceforge.net/project/$name/$name-2.X/$version/$name-$version.tar.gz)

build() {
    cd $name-$version
    ./configure --prefix=/usr
    make
    make DESTDIR=$PKG install
    rm -r $PKG/{dev,etc}
}

Added opt/gdb/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: The GNU Debugger (GDB)
# URL:         http://sources.redhat.com/gdb/
# Maintainer:  Tilman Sauerbeck, tilman at crux dot nu
# Depends on:  ncurses

name=gdb
version=7.3.1
release=1
source=(ftp://ftp.gnu.org/gnu/$name/$name-$version.tar.bz2)

build() {
    cd $name-$version
    ./configure --prefix=/usr --mandir=/usr/man
    make
    make DESTDIR=$PKG install
    rm -rf $PKG/usr/{info,share,lib,include}
}

Added opt/gdk-pixbuf/Pkgfile.



















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# Description: An image loading library for GTK+
# URL: http://www.gtk.org/
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: glib, xorg-libx11, libpng, libtiff, libjpeg

name=gdk-pixbuf
version=2.22.1
release=2
source=(http://download.gnome.org/sources/$name/2.22/$name-$version.tar.bz2 \
        gdk-pixbuf.loaders gdk-pixbuf-register.sh)

build () {
	cd $name-$version

	./configure --prefix=/usr --mandir=/usr/man --disable-nls \
	            --without-libjasper
	make
	make DESTDIR=$PKG install

	install -m 644 $SRC/gdk-pixbuf.loaders \
		$PKG/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache

	rm -r $PKG/usr/share/gtk-doc
	rmdir $PKG/usr/share
}

Added opt/gdk-pixbuf/gdk-pixbuf-register.sh.

















>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
#!/bin/sh
#
# /usr/bin/gtk-register: register gdk-pixbuf loaders
#

/usr/bin/gdk-pixbuf-query-loaders > /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache

# End of file

Added opt/gdk-pixbuf/gdk-pixbuf.loaders.



























































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
# GdkPixbuf Image Loader Modules file
# Automatically generated file, do not edit
# Created by gdk-pixbuf-query-loaders from gdk-pixbuf-2.22.1
#
# LoaderDir = /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders
#
"/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so"
"png" 5 "gdk-pixbuf" "The PNG image format" "LGPL"
"image/png" ""
"png" ""
"\211PNG\r\n\032\n" "" 100

"/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-bmp.so"
"bmp" 5 "gdk-pixbuf" "The BMP image format" "LGPL"
"image/bmp" "image/x-bmp" "image/x-MS-bmp" ""
"bmp" ""
"BM" "" 100

"/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-wbmp.so"
"wbmp" 4 "gdk-pixbuf" "The WBMP image format" "LGPL"
"image/vnd.wap.wbmp" ""
"wbmp" ""
"  " "zz" 1
" `" "z " 1
" @" "z " 1
"  " "z " 1

"/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-gif.so"
"gif" 4 "gdk-pixbuf" "The GIF image format" "LGPL"
"image/gif" ""
"gif" ""
"GIF8" "" 100

"/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-ico.so"
"ico" 5 "gdk-pixbuf" "The ICO image format" "LGPL"
"image/x-icon" "image/x-ico" "image/x-win-bitmap" ""
"ico" "cur" ""
"  \001   " "zz znz" 100
"  \002   " "zz znz" 100

"/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-ani.so"
"ani" 4 "gdk-pixbuf" "The ANI image format" "LGPL"
"application/x-navi-animation" ""
"ani" ""
"RIFF    ACON" "    xxxx    " 100

"/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-jpeg.so"
"jpeg" 5 "gdk-pixbuf" "The JPEG image format" "LGPL"
"image/jpeg" ""
"jpeg" "jpe" "jpg" ""
"\377\330" "" 100

"/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-pnm.so"
"pnm" 4 "gdk-pixbuf" "The PNM/PBM/PGM/PPM image format family" "LGPL"
"image/x-portable-anymap" "image/x-portable-bitmap" "image/x-portable-graymap" "image/x-portable-pixmap" ""
"pnm" "pbm" "pgm" "ppm" ""
"P1" "" 100
"P2" "" 100
"P3" "" 100
"P4" "" 100
"P5" "" 100
"P6" "" 100

"/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-ras.so"
"ras" 4 "gdk-pixbuf" "The Sun raster image format" "LGPL"
"image/x-cmu-raster" "image/x-sun-raster" ""
"ras" ""
"Y\246j\225" "" 100

"/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-tiff.so"
"tiff" 1 "gdk-pixbuf" "The TIFF image format" "LGPL"
"image/tiff" ""
"tiff" "tif" ""
"MM *" "  z " 100
"II* " "   z" 100
"II* \020   CR\002 " "   z zzz   z" 0

"/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-xpm.so"
"xpm" 4 "gdk-pixbuf" "The XPM image format" "LGPL"
"image/x-xpixmap" ""
"xpm" ""
"/* XPM */" "" 100

"/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-xbm.so"
"xbm" 4 "gdk-pixbuf" "The XBM image format" "LGPL"
"image/x-xbitmap" ""
"xbm" ""
"#define " "" 100
"/*" "" 50

"/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-tga.so"
"tga" 4 "gdk-pixbuf" "The Targa image format" "LGPL"
"image/x-tga" ""
"tga" "targa" ""
" \001\001" "x  " 100
" \001\t" "x  " 100
"  \002" "xz " 99
"  \003" "xz " 100
"  \n" "xz " 100
"  \013" "xz " 100

"/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-icns.so"
"icns" 4 "gdk-pixbuf" "The ICNS image format" "GPL"
"image/x-icns" ""
"icns" ""
"icns" "" 100

"/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-pcx.so"
"pcx" 4 "gdk-pixbuf" "The PCX image format" "LGPL"
"image/x-pcx" ""
"pcx" ""
"\n \001" "" 100
"\n\002\001" "" 100
"\n\003\001" "" 100
"\n\004\001" "" 100
"\n\005\001" "" 100

"/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-qtif.so"
"qtif" 4 "gdk-pixbuf" "The QTIF image format" "LGPL"
"image/x-quicktime" "image/qtif" ""
"qtif" "qif" ""
"abcdidsc" "xxxx    " 100
"abcdidat" "xxxx    " 100


Added opt/geeqie/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Gtk+ based image viewer
# URL:         http://geeqie.sourceforge.net/
# Maintainer:  Juergen Daubert, juergen dot daubert at t-onlione dot de
# Depends on:  gtk

name=geeqie
version=1.0
release=1
source=(http://downloads.sourceforge.net/project/$name/$name/$name-$version/$name-$version.tar.gz)

build() {
    cd $name-$version
    ./configure --prefix=/usr --mandir=/usr/man 
    make
    make DESTDIR=$PKG install
    sed -ri '/\[.+\]=/d' $PKG/usr/share/{geeqie/,}applications/*.desktop
    rm -r $PKG/usr/share/{doc,locale}
}

Added opt/gegl/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: graph based image processing framework
# URL: http://gegl.org
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager: Simone Rota, sip at crux dot nu
# Depends on: babl, gtk
# Nice to have: libsdl

name=gegl
version=0.1.8
release=1
source=(ftp://ftp.gimp.org/pub/$name/0.1/$name-$version.tar.bz2)

build() {
  cd $name-$version
  ./configure --prefix=/usr --disable-docs
  make
  make DESTDIR=$PKG install
}

Added opt/gftp/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Multithreaded FTP client with GTK+2 user interface
# URL:         http://gftp.seul.org/
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  gtk, openssl, readline

name=gftp
version=2.0.19
release=1
source=(http://gftp.seul.org/$name-$version.tar.gz)

build () {
    cd $name-$version
    ./configure --prefix=/usr --mandir=/usr/man --disable-nls
    make
    make DESTDIR=$PKG install
    sed -ri '/\[.+\]=/d' $PKG/usr/share/applications/*.desktop
    rm $PKG/usr/share/gftp/COPYING
}

Added opt/ghostscript/Pkgfile.













































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# Description: Postscript interpreter
# URL:         http://www.ghostscript.com
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  util-linux-ng, cups, fontconfig, xorg-libxt, xorg-libxext

name=ghostscript
version=9.05
release=1
source=(http://downloads.ghostscript.com/public/$name-$version.tar.bz2
        http://downloads.sourceforge.net/sourceforge/gs-fonts/$name-fonts-std-8.11.tar.gz)

build () {
    cd $name-$version

    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --enable-cups \
                --with-install-cups \
                --disable-gtk \
                --with-drivers=ALL \
                --with-ijs \
                --with-fontpath=/usr/share/ghostscript/fonts:/usr/share/fonts

    make so all 
    make DESTDIR=$PKG install-so install

    cd ijs
    ./autogen.sh
    ./configure --prefix=/usr --mandir=/usr/man --enable-shared
    make
    make DESTDIR=$PKG install

    cp -r $SRC/fonts $PKG/usr/share/ghostscript

    rm -r $PKG/usr/{share/ghostscript/$version/{examples,doc},man/de}
    rm $PKG/usr/share/ghostscript/fonts/[CRT]*
    rm $PKG/usr/bin/ijs_{client,server}_example
}

Added opt/gimp/Pkgfile.



















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# Description: The GIMP
# URL:         http://www.gimp.org/
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    Simone Rota, sip at crux dot nu
# Depends on:  libart_lgpl, xorg-libxmu, xorg-libxpm, intltool, gegl
# Nice to have: gimp-print, libsdl, ghostscript, librsvg, libmng

name=gimp
version=2.6.12
release=2
source=(ftp://ftp.gimp.org/pub/gimp/v2.6/gimp-$version.tar.bz2)

build() {
  cd gimp-$version
  sed -i -e '/$(helpbrowser)/d' plug-ins/Makefile.in
  ./configure --prefix=/usr \
    --mandir=/usr/man \
    --disable-static \
    --disable-python \
    --disable-nls \
    --without-webkit
  make
  make DESTDIR=$PKG install
  rm -rf $PKG/usr/share/{gtk-doc,locale}
}

Added opt/gimp/README.

















>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8


README for gimp

If libmng, librsvg, and/or lcms are installed on your system, you'll get a
footprint mismatch when building the gimp. It can be pkgadd'ed anyway
and will function as normal.

Added opt/git/Pkgfile.















































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# Description: Directory content manager
# URL: http://www.kernel.org/pub/software/scm/git/docs
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: expat, curl, python
# Nice to have: tk

name=git
version=1.7.7.3
release=1
source=(https://git-core.googlecode.com/files/$name-{,manpages-}$version.tar.gz)

build() {
	cd $name-$version

	# install Error.pm. this pretty much sucks, but i'm too lazy to
	# investigate whether there's a better way.
	sed -i -e '23,24d' -e '26d' perl/Makefile.PL

	make CFLAGS="$CFLAGS" prefix=/usr gitexecdir=/usr/lib/git-core \
	     DESTDIR=$PKG install

	cd $SRC

	for i in man*; do
		install -d $PKG/usr/man/$i
		install -m 644 $i/* $PKG/usr/man/$i;
	done

	install -d $PKG/usr/man/man3
	mv $PKG/usr/share/man/man3/{Git,private-Error}.3pm \
		$PKG/usr/man/man3/
	rmdir $PKG/usr/share/{man/man3,man}

	find $PKG -name perllocal.pod -delete
	find $PKG -name .packlist -delete

	rm -rf $PKG/usr/share/gitk/lib/msgs
	rmdir $PKG/usr/share/gitk/{lib,}
}

Added opt/git/README.





























>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
README for git

REQUIREMENTS

PRE-INSTALL

POST-INSTALL

1. The git-gui and gitk programs require tcl/tk to be installed.
   Otherwise they will just abort with an error saying:
     exec: wish: not found

PRECAUTION

Added opt/gkrellm/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: GTK+ system monitor and more
# URL:         http://www.gkrellm.net
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Packager:    Daniel Mueller, daniel at danm dot de
# Depends on:  gtk, openssl

name=gkrellm
version=2.3.5
release=1
source=(http://members.dslextreme.com/users/billw/$name/$name-$version.tar.bz2)

build () {
    cd $name-$version
    export PREFIX=/usr
    make enable_nls=0
    make enable_nls=0 DESTDIR=$PKG MANDIR=$PKG/usr/man/man1 install
    install -d $PKG/usr/lib/gkrellm2/plugins 
}

Added opt/gl-select/Pkgfile.





























>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# Description: A selector for gl/glx libraries and extensions
# URL: http://crux.nu/gitweb/?p=ports/opt.git;a=tree;f=gl-select 
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Matt Housh, jaeger at morpheus dot net
# Depends on: xorg-server

name=gl-select
version=1.4
release=1
source=($name)

build() {
  install -D -m 0755 -o root -g root $SRC/$name $PKG/usr/bin/$name
}

Added opt/gl-select/README.





























>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14

README for gl-select



POSTINSTALL

If you're already using a non-xorg setup produced by gl-select 1.3, and
you want to update your selection, first revert to xorg using:
# gl-select use xorg --old-stuff


And then re-select the correct new setup:
# gl-select use <new gl/glx>

Added opt/gl-select/gl-select.























































































































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
#!/bin/bash
#
# gl-select: select active gl/glx libraries/extensions
#
# Matt Housh, jaeger at morpheus dot net
# Jose V Beneyto, sepen at crux dot nu
#
# For changelog, see:
# http://crux.nu/gitweb/?p=ports/opt.git;a=history;f=gl-select/gl-select
#

infoUsage() {
  echo "Usage: $(basename $0) [ status | use [xorg|nvidia|ati] ]"
  exit 0
}

infoMissing() {
  echo "One or more of the non-xorg gl/glx backup files are missing."
  echo "This means either you're not using a non-xorg gl/glx setup, in which"
  echo "case nothing needs to be changed, OR your xorg backups are missing,"
  echo "which can be solved by reinstalling xorg-server and mesa3d packages."
  echo
  echo "Files:"
  getMissBackups
  exit 1
}

infoRevert() {
  echo "You appear to already be using a non-xorg gl/glx setup. Check that by"
  echo "using 'gl-select status', OR if the one selected isn't the correct one,"
  echo "revert to xorg and then select the correct new setup using:"
  echo "'gl-select use xorg; gl-select use <new gl/glx>'."
  echo
  echo "Files:"
  getExistBackups
  exit 1
}

infoOldStuff() {
  echo "You appear to be using a non-xorg gl/glx setup. You should revert your"
  echo "selection to xorg and then select the correct new setup, but seems you"
  echo "are using the old stuff setup due to gl-select 1.3, so you need to use"
  echo "something like:"
  echo "'gl-select use xorg --old-stuff; gl-select use <new gl/glx>'."
  exit 1
}

checkInstalled() {
  # checks either a single port or list of ports
  local notInstalled=1
  for arg in $@; do
    if [ ! -z "`pkginfo -i | awk '{ print $1 }' | grep -e ^$arg$`" ]; then
      notInstalled=0
    fi
  done
  if [ $notInstalled -eq 1 ]; then
    if [ $# -eq 1 ]; then
      echo "$arg isn't installed!"
    else
      echo "None of the following ports are installed! (one is required)"
      for i in $@; do echo "  $i"; done
    fi
    exit 1
  fi
}

getMissBackups() {
  # get missing xorg backup'ed files
  for b in $BACKUPS; do if [ ! -f $b ]; then echo $b; fi; done
}

getExistBackups() {
  # get existing xorg backup'ed files
  for b in $BACKUPS; do if [ -f $b ]; then echo $b; fi; done
}

doGLsymlinks() {
  [ ! -L /usr/lib/libGL.so.1 ] && ln -sf libGL.so.1.2 /usr/lib/libGL.so.1
  [ ! -L /usr/lib/libGL.so ] && ln -sf libGL.so.1 /usr/lib/libGL.so
  return 0
}

doStatus() {
  # check which selection its being used
  local file=$(file -h /usr/lib/libGL.so.1.2 | cut -d'`' -f2 | cut -d":" -f1 | sed "s|'||")
  case $file in
    *libGL.so.1.2) echo "* xorg gl/glx is selected" ;;
    *libGL_so_1_2_nvidia) echo "* nvidia gl/glx is selected" ;;
    *libGL_so_1_2_ati) echo "* ati gl/glx is selected" ;;
    *) echo "unsupported: $file"; infoOldStuff ;;
  esac
}

doUse() {
  # perform the selection for the following supported gl/glx setups
  local selection=$1
  local options=$2
  [ -z "$selection" ] && infoUsage
  case $selection in
    "xorg")
      [ "$options" == "--old-stuff" ] && oldStuff
      # check for missing xorg backup'ed files
      local mbackups="$(getMissBackups)"
      [ ! -z "$mbackups" ] && infoMissing $mbackups
      # switch to xorg stuff
      (
      # libglx
      rm -f /usr/lib/xorg/modules/extensions/libglx.so
      mv /usr/lib/xorg/modules/extensions/libglx{_so,.so}
      # libdri
      rm -f /usr/lib/xorg/modules/extensions/libdri.so
      mv /usr/lib/xorg/modules/extensions/libdri{_so,.so}
      # libGL
      rm -f usr/lib/libGL.so.1.2
      mv /usr/lib/libGL{_so_1_2,.so.1.2}
      doGLsymlinks
      ) && echo "* xorg gl/glx selected"
      ;;
    "nvidia")
      # is an nvidia port installed?
      checkInstalled nvidia nvidia-legacy-96xx nvidia-legacy-71xx
      # check for the existence of xorg backups
      local ebackups="$(getExistBackups)"
      [ ! -z "$ebackups" ] && infoRevert $ebackups
      # switch to nvidia stuff
      # conflicting files which ati provides:
      # libglx_so_nvidia, libGL_so_1_2_nvidia
      (
      # libglx
      mv /usr/lib/xorg/modules/extensions/libglx{.so,_so}
      ln -s libglx_so_nvidia /usr/lib/xorg/modules/extensions/libglx.so
      # libdri
      cp /usr/lib/xorg/modules/extensions/libdri{.so,_so}
      # libGL
      mv /usr/lib/libGL{.so.1.2,_so_1_2}
      ln -sf libGL_so_1_2_nvidia /usr/lib/libGL.so.1.2
      doGLsymlinks
      ) && echo "* nvidia gl/glx selected"
      ;;
    "ati")
      # is the ati port installed?
      checkInstalled ati
      # check for the existence of xorg backups
      local ebackups="$(getExistBackups)"
      [ ! -z "$ebackups" ] && infoRevert $ebackups
      # switch to ati stuff
      # conflicting files which ati provides:
      # libglx_so_ati, libdri_so_ati, libGL_so_1_2_ati
      (
      # libglx
      mv /usr/lib/xorg/modules/extensions/libglx{.so,_so}
      ln -s libglx_so_ati /usr/lib/xorg/modules/extensions/libglx.so
      # libdri
      mv /usr/lib/xorg/modules/extensions/libdri{.so,_so}
      ln -s libdri_so_ati /usr/lib/xorg/modules/extensions/libdri.so
      # libGL
      mv /usr/lib/libGL{.so.1.2,_so_1_2}
      ln -sf libGL_so_1_2_ati /usr/lib/libGL.so.1.2
      doGLsymlinks
      ) && echo "* ati gl/glx selected"
      ;;
    *)
      infoUsage
      ;;
  esac
  /sbin/ldconfig > /dev/null 2>&1
}

oldStuff() {
  for f in /usr/lib/xorg/modules/extensions/libglx_so \
           /usr/lib/libGL_so_1_2; do
    [ ! -e $f ] && infoMissing $f
  done
  # move the old xorg backups back into place
  (
  # libglx
  rm -f /usr/lib/xorg/modules/extensions/libglx.so
  mv /usr/lib/xorg/modules/extensions/libglx{_so,.so}
  # libGL
  mv /usr/lib/libGL{_so_1_2,.so.1.2}
  rm -f /usr/lib/libGL.so /usr/lib/libGL.so.1
  doGLsymlinks || echo "done"
  ) && echo "* xorg gl/glx selected"
  exit 0
}

# backup files which are also provided by nvidia and ati ports
BACKUPS="
/usr/lib/xorg/modules/extensions/libglx_so
/usr/lib/xorg/modules/extensions/libdri_so
/usr/lib/libGL_so_1_2
"

# check for xorg ports; if they are not installed, why is this script even run?
checkInstalled xorg-server mesa3d

case $1 in
  status) doStatus ;;
  use) shift 1; doUse $@ ;;
  *) infoUsage ;;
esac

# End of file

Added opt/glib1/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: Library with support routines for C such as list, trees, hashes
# URL:         http://www.gtk.org/
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Packager:    Daniel Mueller, daniel at danm dot de
# Depends on:

name=glib1
version=1.2.10
release=2
source=(ftp://ftp.gtk.org/pub/gtk/v1.2/glib-$version.tar.gz \
	glib-$version.patch)

build () {
    cd glib-$version
    patch -p1 < $SRC/glib-$version.patch
    ./configure --prefix=/usr
    make
    make DESTDIR=$PKG install
    rm -rf $PKG/usr/info
}

Added opt/glib1/glib-1.2.10.patch.



























































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
diff -Nru glib-1.2.10.old/gstrfuncs.c glib-1.2.10/gstrfuncs.c
--- glib-1.2.10.old/gstrfuncs.c	2005-03-30 23:55:42.000000000 +0200
+++ glib-1.2.10/gstrfuncs.c	2005-03-31 00:07:44.000000000 +0200
@@ -867,8 +867,7 @@
                   /* beware of positional parameters
                    */
                 case '$':
-                  g_warning (G_GNUC_PRETTY_FUNCTION
-                             "(): unable to handle positional parameters (%%n$)");
+                  g_warning ( "%s(): unable to handle positional parameters (%%n$)", G_GNUC_PRETTY_FUNCTION);
                   len += 1024; /* try adding some safety padding */
                   break;
 
@@ -1034,8 +1033,7 @@
                   /*          n   .   dddddddddddddddddddddddd   E   +-  eeee */
                   conv_len += 1 + 1 + MAX (24, spec.precision) + 1 + 1 + 4;
                   if (spec.mod_extra_long)
-                    g_warning (G_GNUC_PRETTY_FUNCTION
-                               "(): unable to handle long double, collecting double only");
+                    g_warning ( "%s(): unable to handle long double, collecting double only", G_GNUC_PRETTY_FUNCTION);
 #ifdef HAVE_LONG_DOUBLE
 #error need to implement special handling for long double
 #endif
@@ -1077,8 +1075,7 @@
                   conv_done = TRUE;
                   if (spec.mod_long)
                     {
-                      g_warning (G_GNUC_PRETTY_FUNCTION
-                                 "(): unable to handle wide char strings");
+                      g_warning ( "%s(): unable to handle wide char strings", G_GNUC_PRETTY_FUNCTION);
                       len += 1024; /* try adding some safety padding */
                     }
                   break;
@@ -1108,9 +1105,8 @@
                   conv_len += format - spec_start;
                   break;
                 default:
-                  g_warning (G_GNUC_PRETTY_FUNCTION
-                             "(): unable to handle `%c' while parsing format",
-                             c);
+                  g_warning ( "%s(): unable to handle \"%c\" while parsing format", 
+				  G_GNUC_PRETTY_FUNCTION, c);
                   break;
                 }
               conv_done |= conv_len > 0;

Added opt/glitz/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: An OpenGL image compositing library
# URL: http://www.freedesktop.org/Software/glitz
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: mesa3d

name=glitz
version=0.5.6
release=1
source=(http://cairographics.org/snapshots/$name-$version.tar.gz)

build() {
	cd $name-$version
	./configure --prefix=/usr
	make
	make DESTDIR=$PKG install
	sed -i -e "s| -L$SRC/$name-$version/src ||" $PKG/usr/lib/libglitz-glx.la
}

Added opt/gnupg/Pkgfile.



































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# Description: GNU privacy guard
# URL:         http://www.gnupg.org
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    Daniel Mueller, daniel at danm dot de
# Depends on:  libgcrypt, libassuan, libksba, pinentry

name=gnupg
version=2.0.18
release=1
source=(ftp://ftp.gnupg.org/gcrypt/$name/$name-$version.tar.bz2)
        

build () {
    cd $name-$version

    ./configure \
    --prefix=/usr \
    --libexecdir=/usr/lib \
    --mandir=/usr/man \
    --disable-nls \
    --disable-ldap

    make
    make DESTDIR=$PKG install

    chmod u+s $PKG/usr/bin/gpg2
    ln -s /usr/bin/gpg2 $PKG/usr/bin/gpg
    ln -s /usr/man/man1/gpg2.1.gz $PKG/usr/man/man1/gpg.1.gz

    rm -rf $PKG/usr/share/{info,doc}
    rm -f $PKG/usr/share/gnupg/{FAQ,faq.html,qualified.txt}
    rm -f $PKG/usr/share/gnupg/help*
}

Added opt/gnupg/README.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
REQUIREMENTS

    GnuPG requires a sendmail compatibility link '/usr/sbin/sendmail'. Be
    sure that you have installed one of the following:

  - esmtp
  - masqmail
  - postfix
  - sendmail
  - msmtp

PRE-INSTALL

POST-INSTALL

PRECAUTION

Added opt/gnuplot/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description: GNUPlot, a graph plotting software
# URL:         http://www.gnuplot.info/
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Packager:    Martin Opel, mo at obbl-net dot de
# Depends on:  libgd pango

name=gnuplot
version=4.6.0
release=1
source=(http://downloads.sourceforge.net/project/$name/$name/$version/$name-$version.tar.gz)

build() {
    cd $name-$version
    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --libexecdir=/usr/lib \
                --with-x \
                --without-wxwidgets
    make
    make DESTDIR=$PKG install
    rm -r $PKG/usr/share/info
}

Added opt/gnutls/Pkgfile.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Description: A library that provides a secure layer over a reliable transport layer
# URL: http://www.gnu.org/software/gnutls/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Matt Housh, jaeger at morpheus dot net
# Depends on: nettle libidn

name=gnutls
version=3.0.18
release=1
source=(http://ftp.gnu.org/pub/gnu/$name/$name-$version.tar.xz)

build() {
  cd $name-$version

  ./configure --prefix=/usr \
              --mandir=/usr/man \
              --without-p11-kit \
              --disable-guile

  make
  make DESTDIR=$PKG install

  rm -rf $PKG/usr/share/{info,locale}
}

Added opt/gperf/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: Perfect hash function generator
# URL:         http://www.gnu.org/software/gperf/
# Maintainer:  Juergen Daubert, jue at crux dot nu 

name=gperf
version=3.0.4
release=1
source=(http://ftp.gnu.org/gnu/$name/$name-$version.tar.gz)

build() {
    cd $name-$version
    ./configure --prefix=/usr --mandir=/usr/man
    make
    make DESTDIR=$PKG install
    rm -r $PKG/usr/share
}

Added opt/gphoto2/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description: Command-line client for libgphoto2
# URL:         http://www.gphoto.org
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  readline popt libgphoto2

name=gphoto2
version=2.4.11
release=1
source=(http://downloads.sourceforge.net/project/gphoto/gphoto/$version/$name-$version.tar.bz2)

build() {
    cd $name-$version

    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --disable-nls

    make
    make DESTDIR=$PKG install

    rm -r $PKG/usr/share
}

Added opt/gphotofs/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: FUSE filesystem client based on libgphoto2
# URL:         http://www.gphoto.org
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  fuse, glib, libgphoto2

name=gphotofs
version=0.4.0
release=1
source=(http://downloads.sourceforge.net/project/gphoto/$name/$version/$name-$version.tar.bz2)

build() {
    cd $name-$version
    ./configure --prefix=/usr
    make
    make DESTDIR=$PKG install
}

Added opt/grub/Pkgfile.































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# Description: GNU GRUB (GRand Unified Bootloader)
# URL: http://www.gnu.org/software/grub/
# Packager: Lucas Hazel, lucas at die dot net dot au
# Maintainer: Alan Mizrahi, alan at mizrahi dot com dot ve
# Depends on: gettext

name=grub
version=0.97
release=7
source=(ftp://alpha.gnu.org/gnu/grub/$name-$version.tar.gz \
	http://crux.nu/files/grub/0.97/$name-$version-patches-2.tar.bz2 \
	ext4.patch \
	automake.patch \
	http://crux.nu/files/grub/common/crux02.xpm.gz \
	http://crux.nu/files/grub/common/crux03.xpm.gz \
	menu.lst.sample)

build () {
	cd $name-$version

	# automake 1.10 fix
	sed -i '19i\AM_PROG_AS' configure.ac

	for i in $SRC/*.patch; do
	 patch -p1 -i $i
	done

	# We really shouldn't optimise GRUB at all.
	unset CXXFLAGS
	unset CFLAGS
    
	autoreconf --install --force

	./configure --prefix=/usr \
		--libdir=/usr/share \
		--mandir=/usr/man \
		--sbindir=/sbin \
		--disable-nls \
		--disable-auto-linux-mem-opt 
		
	make
	make DESTDIR=$PKG install
	rm -rf $PKG/usr/share/info

	mkdir -p $PKG/boot/grub
	install -m 644 $SRC/{crux*,menu.lst.sample} $PKG/boot/grub/
}

Added opt/grub/README.















































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71

REQUIREMENTS

PRE-INSTALL
	    
POST-INSTALL

	Automatic setup using grub-install

	After installation you should create your own boot menu:

	# # Copy sample file
	# cp /boot/grub/menu.lst.sample /boot/grub/menu.lst
	# # Modify it for your system
	# vi /boot/grub/menu.lst

	For more information about setting up your own grub boot menu file:
	http://www.gnu.org/software/grub/manual/grub.html#Configuration

	After making your boot menu you should run grub-install like so:

	# grub-install /dev/sdX

	In the example above, X needs to be replaced with your hard drive.

	Manual setup

	After installation you need to copy the stage files to /boot/grub/:

	# cp /usr/share/grub/i386-pc/* /boot/grub/

	(Of course, you can choose another location as described above but this guide
	assumes that you use /boot/grub. Normally you need only the files stage1 and
	stage2. Please read the grub documentation if you don't know why:
	http://www.uruk.org/orig-grub/ and
	http://www.gnu.org/software/grub/manual/grub.html)

	Now it's time to create your own "boot menu":

	# # Copy sample file
	# cp /boot/grub/menu.lst.sample /boot/grub/menu.lst
	# # Modify it for your system 
	# vi /boot/grub/menu.lst

	For more information about setting up your own grub boot menu file:
	http://www.gnu.org/software/grub/manual/grub.html#Configuration

	Last but not least, install/enable the boot manager:

	# # If the boot partition is mounted, you must specify --stage2, like below.
	# # Otherwise, you may remove this.
	# # Run grub
	# grub
	grub> root (hdX,Y)
	grub> setup --stage2=/boot/grub/stage2 (hdX)
	grub> quit

	Please correct the path and device names according to your configuration. Also
	see http://www.gnu.org/software/grub/manual/grub.html#Installation. In the
	example above, X and Y need to be replaced with your hard drive and grub
	partition.

	That's all. Good luck ;)	

PRECAUTION

	Installing a new boot manager is like modifying the partition table 
	or installing a new system kernel. Please create a rescue disk first :)
	
Brett Goulder	<predatorfreak@dcaf-security.org>

Added opt/grub/automake.patch.



























































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
--- grub-0.97/stage1/Makefile.am.orig	2012-02-27 10:28:38.000000000 +0900
+++ grub-0.97/stage1/Makefile.am	2012-02-27 10:29:32.000000000 +0900
@@ -1,5 +1,5 @@
-pkglibdir = $(libdir)/$(PACKAGE)/$(host_cpu)-$(host_vendor)
-nodist_pkglib_DATA = stage1
+stagedir = $(libdir)/$(PACKAGE)/$(host_cpu)-$(host_vendor)
+nodist_stage_DATA = stage1
 
 CLEANFILES = $(nodist_pkglib_DATA)
 
--- grub-0.97/stage2/Makefile.am.orig	2012-02-27 10:29:39.000000000 +0900
+++ grub-0.97/stage2/Makefile.am	2012-02-27 10:30:37.000000000 +0900
@@ -27,12 +27,12 @@
 	-DUSE_MD5_PASSWORDS=1 -DSUPPORT_SERIAL=1 -DSUPPORT_HERCULES=1
 
 # Stage 2 and Stage 1.5's.
-pkglibdir = $(libdir)/$(PACKAGE)/$(host_cpu)-$(host_vendor)
+stagedir = $(libdir)/$(PACKAGE)/$(host_cpu)-$(host_vendor)
 
 EXTRA_PROGRAMS = nbloader.exec pxeloader.exec diskless.exec
 
 if DISKLESS_SUPPORT
-pkglib_DATA = stage2 stage2_eltorito e2fs_stage1_5 fat_stage1_5 \
+stage_DATA = stage2 stage2_eltorito e2fs_stage1_5 fat_stage1_5 \
 	ffs_stage1_5 iso9660_stage1_5 jfs_stage1_5 minix_stage1_5 \
 	reiserfs_stage1_5 ufs2_stage1_5 vstafs_stage1_5 xfs_stage1_5 \
 	nbgrub pxegrub
@@ -43,7 +43,7 @@
 	reiserfs_stage1_5.exec ufs2_stage1_5.exec vstafs_stage1_5.exec \
 	xfs_stage1_5.exec nbloader.exec pxeloader.exec diskless.exec
 else
-pkglib_DATA = stage2 stage2_eltorito e2fs_stage1_5 fat_stage1_5 \
+stage_DATA = stage2 stage2_eltorito e2fs_stage1_5 fat_stage1_5 \
 	ffs_stage1_5 iso9660_stage1_5 jfs_stage1_5 minix_stage1_5 \
 	reiserfs_stage1_5 ufs2_stage1_5 vstafs_stage1_5 xfs_stage1_5
 noinst_DATA = pre_stage2 start start_eltorito
@@ -112,7 +112,7 @@
 BUILT_SOURCES = stage2_size.h
 endif
 
-CLEANFILES = $(pkglib_DATA) $(noinst_DATA) $(BUILT_SOURCES)
+CLEANFILES = $(stage_DATA) $(noinst_DATA) $(BUILT_SOURCES)
 
 stage2_size.h: pre_stage2
 	-rm -f stage2_size.h

Added opt/grub/ext4.patch.















































































































































































































































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
diff -ruNp grub-0.97/stage2/fsys_ext2fs.c grub-0.97-patch/stage2/fsys_ext2fs.c
--- grub-0.97/stage2/fsys_ext2fs.c      2004-08-08 20:19:18.000000000 +0200
+++ grub-0.97-patch/stage2/fsys_ext2fs.c        2007-12-29 16:25:19.000000000 
+0100
@@ -51,6 +51,9 @@ typedef unsigned int __u32;
 #define EXT2_TIND_BLOCK                 (EXT2_DIND_BLOCK + 1)
 #define EXT2_N_BLOCKS                   (EXT2_TIND_BLOCK + 1)
 
+/* Inode flags */
+#define EXT4_EXTENTS_FL                 0x00080000 /* Inode uses extents */
+
 /* include/linux/ext2_fs.h */
 struct ext2_super_block
   {
@@ -191,6 +194,42 @@ struct ext2_dir_entry
 #define EXT2_DIR_REC_LEN(name_len)      (((name_len) + 8 + EXT2_DIR_ROUND) & \
                                          ~EXT2_DIR_ROUND)
 
+/* linux/ext4_fs_extents.h */
+/*
+ * This is the extent on-disk structure.
+ * It's used at the bottom of the tree.
+ */
+struct ext4_extent {
+    __u32 ee_block;       /* first logical block extent covers */
+    __u16 ee_len;         /* number of blocks covered by extent */
+    __u16 ee_start_hi;    /* high 16 bits of physical block */
+    __u32 ee_start;       /* low 32 bits of physical block */
+};
+
+/*
+ * This is index on-disk structure.
+ * It's used at all the levels except the bottom.
+ */
+struct ext4_extent_idx {
+    __u32 ei_block;       /* index covers logical blocks from 'block' */
+    __u32 ei_leaf;        /* pointer to the physical block of the next *
+                                 * level. leaf or next index could be there */
+    __u16 ei_leaf_hi;     /* high 16 bits of physical block */
+    __u16 ei_unused;
+};
+
+/*
+ * Each block (leaves and indexes), even inode-stored has header.
+ */
+struct ext4_extent_header {
+    __u16  eh_magic;       /* probably will support different formats */
+    __u16  eh_entries;     /* number of valid entries */
+    __u16  eh_max;         /* capacity of store in entries */
+    __u16  eh_depth;       /* has tree real underlying blocks? */
+    __u32  eh_generation;  /* generation of the tree */
+};
+
+#define EXT4_EXT_MAGIC          0xf30a
 
 /* ext2/super.c */
 #define log2(n) ffz(~(n))
@@ -279,6 +318,26 @@ ext2_rdfsb (int fsblock, int buffer)
                  EXT2_BLOCK_SIZE (SUPERBLOCK), (char *) buffer);
 }
 
+/* Walk through extents index tree to find the good leaf */
+static struct ext4_extent_header * 
+ext4_recurse_extent_index(struct ext4_extent_header *extent_block, int logical_block)
+{
+  int i;
+  struct ext4_extent_idx *index = (struct ext4_extent_idx *) (extent_block + 1);
+  if (extent_block->eh_magic != EXT4_EXT_MAGIC)
+    return NULL;
+  if (extent_block->eh_depth == 0)
+    return extent_block;
+  for (i = 0; i < extent_block->eh_entries; i++)
+    {
+      if (logical_block < index[i].ei_block)
+        break;
+    }
+  if (i == 0 || !ext2_rdfsb(index[i-1].ei_leaf, DATABLOCK1))
+    return NULL;
+  return (ext4_recurse_extent_index((struct ext4_extent_header *) DATABLOCK1, logical_block));
+}
+
 /* from
   ext2/inode.c:ext2_bmap()
 */
--- grub-0.97/stage2/fsys_ext2fs.c~	2008-12-28 20:19:00.000000000 +0100
+++ grub-0.97/stage2/fsys_ext2fs.c	2008-12-28 20:19:00.000000000 +0100
@@ -366,83 +366,106 @@
     }
   printf ("logical block %d\n", logical_block);
 #endif /* E2DEBUG */
-
-  /* if it is directly pointed to by the inode, return that physical addr */
-  if (logical_block < EXT2_NDIR_BLOCKS)
-    {
-#ifdef E2DEBUG
-      printf ("returning %d\n", (unsigned char *) (INODE->i_block[logical_block]));
-      printf ("returning %d\n", INODE->i_block[logical_block]);
-#endif /* E2DEBUG */
-      return INODE->i_block[logical_block];
-    }
-  /* else */
-  logical_block -= EXT2_NDIR_BLOCKS;
-  /* try the indirect block */
-  if (logical_block < EXT2_ADDR_PER_BLOCK (SUPERBLOCK))
+  /* standard ext2 inode */
+  if (!(INODE->i_flags & EXT4_EXTENTS_FL))
     {
-      if (mapblock1 != 1
-	  && !ext2_rdfsb (INODE->i_block[EXT2_IND_BLOCK], DATABLOCK1))
-	{
-	  errnum = ERR_FSYS_CORRUPT;
-	  return -1;
-	}
-      mapblock1 = 1;
-      return ((__u32 *) DATABLOCK1)[logical_block];
-    }
-  /* else */
-  logical_block -= EXT2_ADDR_PER_BLOCK (SUPERBLOCK);
-  /* now try the double indirect block */
-  if (logical_block < (1 << (EXT2_ADDR_PER_BLOCK_BITS (SUPERBLOCK) * 2)))
-    {
-      int bnum;
-      if (mapblock1 != 2
-	  && !ext2_rdfsb (INODE->i_block[EXT2_DIND_BLOCK], DATABLOCK1))
-	{
-	  errnum = ERR_FSYS_CORRUPT;
-	  return -1;
-	}
-      mapblock1 = 2;
-      if ((bnum = (((__u32 *) DATABLOCK1)
-		   [logical_block >> EXT2_ADDR_PER_BLOCK_BITS (SUPERBLOCK)]))
-	  != mapblock2
-	  && !ext2_rdfsb (bnum, DATABLOCK2))
-	{
-	  errnum = ERR_FSYS_CORRUPT;
-	  return -1;
-	}
-      mapblock2 = bnum;
+      /* if it is directly pointed to by the inode, return that physical addr */
+      if (logical_block < EXT2_NDIR_BLOCKS)
+        {
+#ifdef E2DEBUG
+          printf ("returning %d\n", (unsigned char *) (INODE->i_block[logical_block]));
+          printf ("returning %d\n", INODE->i_block[logical_block]);
+#endif /* E2DEBUG */
+          return INODE->i_block[logical_block];
+        }
+      /* else */
+      logical_block -= EXT2_NDIR_BLOCKS;
+      /* try the indirect block */
+      if (logical_block < EXT2_ADDR_PER_BLOCK (SUPERBLOCK))
+        {
+          if (mapblock1 != 1
+         && !ext2_rdfsb (INODE->i_block[EXT2_IND_BLOCK], DATABLOCK1))
+       {
+         errnum = ERR_FSYS_CORRUPT;
+         return -1;
+       }
+          mapblock1 = 1;
+          return ((__u32 *) DATABLOCK1)[logical_block];
+        }
+      /* else */
+      logical_block -= EXT2_ADDR_PER_BLOCK (SUPERBLOCK);
+      /* now try the double indirect block */
+      if (logical_block < (1 << (EXT2_ADDR_PER_BLOCK_BITS (SUPERBLOCK) * 2)))
+        {
+          int bnum;
+          if (mapblock1 != 2
+         && !ext2_rdfsb (INODE->i_block[EXT2_DIND_BLOCK], DATABLOCK1))
+       {
+         errnum = ERR_FSYS_CORRUPT;
+         return -1;
+       }
+          mapblock1 = 2;
+          if ((bnum = (((__u32 *) DATABLOCK1)
+                  [logical_block >> EXT2_ADDR_PER_BLOCK_BITS (SUPERBLOCK)]))
+         != mapblock2
+         && !ext2_rdfsb (bnum, DATABLOCK2))
+       {
+         errnum = ERR_FSYS_CORRUPT;
+         return -1;
+       }
+          mapblock2 = bnum;
+          return ((__u32 *) DATABLOCK2)
+            [logical_block & (EXT2_ADDR_PER_BLOCK (SUPERBLOCK) - 1)];
+        }
+      /* else */
+      mapblock2 = -1;
+      logical_block -= (1 << (EXT2_ADDR_PER_BLOCK_BITS (SUPERBLOCK) * 2));
+      if (mapblock1 != 3
+          && !ext2_rdfsb (INODE->i_block[EXT2_TIND_BLOCK], DATABLOCK1))
+        {
+          errnum = ERR_FSYS_CORRUPT;
+          return -1;
+        }
+      mapblock1 = 3;
+      if (!ext2_rdfsb (((__u32 *) DATABLOCK1)
+                  [logical_block >> (EXT2_ADDR_PER_BLOCK_BITS (SUPERBLOCK)
+                                     * 2)],
+                  DATABLOCK2))
+        {
+          errnum = ERR_FSYS_CORRUPT;
+          return -1;
+        }
+      if (!ext2_rdfsb (((__u32 *) DATABLOCK2)
+                  [(logical_block >> EXT2_ADDR_PER_BLOCK_BITS (SUPERBLOCK))
+                   & (EXT2_ADDR_PER_BLOCK (SUPERBLOCK) - 1)],
+                  DATABLOCK2))
+        {
+          errnum = ERR_FSYS_CORRUPT;
+          return -1;
+        }
       return ((__u32 *) DATABLOCK2)
-	[logical_block & (EXT2_ADDR_PER_BLOCK (SUPERBLOCK) - 1)];
-    }
-  /* else */
-  mapblock2 = -1;
-  logical_block -= (1 << (EXT2_ADDR_PER_BLOCK_BITS (SUPERBLOCK) * 2));
-  if (mapblock1 != 3
-      && !ext2_rdfsb (INODE->i_block[EXT2_TIND_BLOCK], DATABLOCK1))
-    {
-      errnum = ERR_FSYS_CORRUPT;
-      return -1;
+       [logical_block & (EXT2_ADDR_PER_BLOCK (SUPERBLOCK) - 1)];
     }
-  mapblock1 = 3;
-  if (!ext2_rdfsb (((__u32 *) DATABLOCK1)
-		   [logical_block >> (EXT2_ADDR_PER_BLOCK_BITS (SUPERBLOCK)
-				      * 2)],
-		   DATABLOCK2))
-    {
-      errnum = ERR_FSYS_CORRUPT;
-      return -1;
-    }
-  if (!ext2_rdfsb (((__u32 *) DATABLOCK2)
-		   [(logical_block >> EXT2_ADDR_PER_BLOCK_BITS (SUPERBLOCK))
-		    & (EXT2_ADDR_PER_BLOCK (SUPERBLOCK) - 1)],
-		   DATABLOCK2))
+  /* inode is in extents format */
+  else
     {
+      int i;
+      struct ext4_extent_header *extent_hdr = ext4_recurse_extent_index((struct ext4_extent_header *) INODE->i_block, logical_block);
+      struct ext4_extent *extent = (struct ext4_extent *) (extent_hdr + 1);
+      if ( extent_hdr == NULL || extent_hdr->eh_magic != EXT4_EXT_MAGIC)
+      {
+        errnum = ERR_FSYS_CORRUPT;
+        return -1;
+      }
+      for (i = 0; i<extent_hdr->eh_entries; i++)
+        {
+          if (extent[i].ee_block <= logical_block && logical_block < extent[i].ee_block + extent[i].ee_len && !(extent[i].ee_len>>15))
+            return (logical_block - extent[i].ee_block + extent[i].ee_start);
+        }
+      /* We should not arrive here */
       errnum = ERR_FSYS_CORRUPT;
       return -1;
     }
-  return ((__u32 *) DATABLOCK2)
-    [logical_block & (EXT2_ADDR_PER_BLOCK (SUPERBLOCK) - 1)];
 }
 
 /* preconditions: all preconds of ext2fs_block_map */

Added opt/grub/menu.lst.sample.























































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
### Global settings

## CRUX splash image
splashimage (hd0,0)/boot/grub/crux03.xpm.gz
## define special fore-/background colors for splash screen image
foreground = FFFFFF
background = AAAAAA

## shaded text
#shade 1

## time to wait for user interaction
timeout 5

## default boot kernel 
default 0

### GRUB Devices: (see /boot/grub/device.map)
##
## Linux         Grub
## ======================
## /dev/sda      (hd0)
## /dev/sda1     (hd0,0)
## /dev/sdb      (hd1)
## /dev/sdb1     (hd1,0)
## /dev/fd0      (fd0)

## Default menu entries

title CRUX
kernel (hd0,0)/boot/vmlinuz root=/dev/sda1

title CRUX
kernel (hd0,0)/boot/vmlinuz.old root=/dev/sda1 

### Special cases

## Boot special bootimage
#title Memtest
#kernel (hd0,0)/boot/memtest.bin  

## Boot Microsoft Windows(TM) 
#title Windows 
#root (hd0,5)
#makeactive
#chainloader +1

## Boot from Floppy
#title floppy
#root (fd0)
#chainloader +1

## Boot with different /boot partition
## /     = /dev/sdb2 = (hd1,1)
## /boot = /dev/sdb1 = (hd1,0)
##
#title CRUX GNU/Linux drive 2
#kernel (hd1,0)/vmlinuz root=/dev/sdb2 

Added opt/gst-plugins-base/Pkgfile.

























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# Description: An essential exemplary set of plugins for gstreamer.
# URL: http://gstreamer.freedesktop.org/modules/gst-plugins-base.html
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Matt Housh, jaeger at morpheus dot net
# Depends on: alsa-lib cdparanoia gstreamer libtheora libvisual orc pango util-linux-ng xorg-libxv

name=gst-plugins-base
version=0.10.36
release=1
source=(http://gstreamer.freedesktop.org/src/$name/$name-$version.tar.xz)

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--mandir=/usr/man \
		--enable-orc \
		--disable-debug \
		--disable-nls \
		--disable-dependency-tracking \
		--disable-valgrind \
		--disable-examples

	make
	make DESTDIR=$PKG install
	rm -r $PKG/usr/share/gtk-doc
}

Added opt/gstreamer/Pkgfile.

























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# Description: Gstreamer is a library that allows the construction of graphs of media-handling components.
# URL: http://gstreamer.freedesktop.org/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Matt Housh, jaeger at morpheus dot net
# Depends on: glib libxml2 python

name=gstreamer
version=0.10.36
release=1
source=(http://gstreamer.freedesktop.org/src/$name/$name-$version.tar.xz)

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--mandir=/usr/man \
		--libexecdir=/usr/lib \
		--disable-debug \
		--disable-nls \
		--disable-dependency-tracking \
		--disable-valgrind \
		--disable-examples
  
	make
	make DESTDIR=$PKG install
	rm -r $PKG/usr/share/gtk-doc
}

Added opt/gtk-chtheme/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: Theme changer for GTK2
# URL: http://plasmasturm.org/programs/gtk-chtheme
# Maintainer: Juergen Daubert, jue at crux dot nu
# Packager: Simone Rota, sip at crux dot nu
# Depends on: gtk

name=gtk-chtheme
version=0.3.1
release=4
source=(http://plasmasturm.org/programs/$name/$name-$version.tar.bz2)

build() {
    cd $name-$version
    sed -i 's/-DGTK_DISABLE_DEPRECATED//' Makefile
    make
    make DESTDIR=$PKG MANDIR=/usr/man install
}

Added opt/gtk-engines/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: Standard theme engines for GTK+2
# URL:         http://live.gnome.org/GnomeArt/Tutorials/GtkEngines
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  gtk intltool

name=gtk-engines
version=2.20.2
release=1
source=(http://ftp.gnome.org/pub/GNOME/sources/$name/2.20/$name-$version.tar.bz2)

build() {
    cd $name-$version
    ./configure --prefix=/usr --enable-animation
    make
    make DESTDIR=$PKG install
    rm -r $PKG/usr/share/{locale,gtk-engines}
}

Added opt/gtk/Pkgfile.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Description: A multi-platform toolkit for creating graphical user interfaces
# URL: http://www.gtk.org/
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: atk, hicolor-icon-theme, gdk-pixbuf, pango, xorg-libsm, xorg-libxcursor, xorg-libxinerama, xorg-libxrandr, xorg-libxcomposite

name=gtk
version=2.24.8
release=2
source=(http://download.gnome.org/sources/gtk+/2.24/${name}+-$version.tar.xz \
        gtk.immodules gtk-register.sh)

build () {
	cd gtk+-$version

	./configure --prefix=/usr --mandir=/usr/man
	make
	make DESTDIR=$PKG install
	mkdir -p $PKG/usr/etc/gtk-2.0
	install -m 644 $SRC/gtk.immodules $PKG/usr/etc/gtk-2.0/
	rm -r $PKG/usr/share/{locale,gtk-doc,gtk-2.0} $PKG/usr/bin/gtk-demo

	install -m 0755 $SRC/gtk-register.sh $PKG/usr/bin/gtk-register
}

Added opt/gtk/gtk-register.sh.

















>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
#!/bin/sh
#
# /usr/bin/gtk-register: register input modules
#

/usr/bin/gtk-query-immodules-2.0 > /usr/etc/gtk-2.0/gtk.immodules

# End of file

Added opt/gtk/gtk.immodules.















































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# GTK+ Input Method Modules file
# Automatically generated file, do not edit
# Created by gtk-query-immodules-2.0 from gtk+-2.24.3
#
# ModulesPath = /home/tilman/.gtk-2.0/2.10.0/i686-pc-linux-gnu/immodules:/home/tilman/.gtk-2.0/2.10.0/immodules:/home/tilman/.gtk-2.0/i686-pc-linux-gnu/immodules:/home/tilman/.gtk-2.0/immodules:/usr/lib/gtk-2.0/2.10.0/i686-pc-linux-gnu/immodules:/usr/lib/gtk-2.0/2.10.0/immodules:/usr/lib/gtk-2.0/i686-pc-linux-gnu/immodules:/usr/lib/gtk-2.0/immodules
#
"/usr/lib/gtk-2.0/2.10.0/immodules/im-am-et.so" 
"am_et" "Amharic (EZ+)" "gtk20" "/usr/share/locale" "am" 

"/usr/lib/gtk-2.0/2.10.0/immodules/im-cedilla.so" 
"cedilla" "Cedilla" "gtk20" "/usr/share/locale" "az:ca:co:fr:gv:oc:pt:sq:tr:wa" 

"/usr/lib/gtk-2.0/2.10.0/immodules/im-cyrillic-translit.so" 
"cyrillic_translit" "Cyrillic (Transliterated)" "gtk20" "/usr/share/locale" "" 

"/usr/lib/gtk-2.0/2.10.0/immodules/im-inuktitut.so" 
"inuktitut" "Inuktitut (Transliterated)" "gtk20" "/usr/share/locale" "iu" 

"/usr/lib/gtk-2.0/2.10.0/immodules/im-ipa.so" 
"ipa" "IPA" "gtk20" "/usr/share/locale" "" 

"/usr/lib/gtk-2.0/2.10.0/immodules/im-multipress.so" 
"multipress" "Multipress" "gtk20" "" "" 

"/usr/lib/gtk-2.0/2.10.0/immodules/im-thai.so" 
"thai" "Thai-Lao" "gtk20" "/usr/share/locale" "lo:th" 

"/usr/lib/gtk-2.0/2.10.0/immodules/im-ti-er.so" 
"ti_er" "Tigrigna-Eritrean (EZ+)" "gtk20" "/usr/share/locale" "ti" 

"/usr/lib/gtk-2.0/2.10.0/immodules/im-ti-et.so" 
"ti_et" "Tigrigna-Ethiopian (EZ+)" "gtk20" "/usr/share/locale" "ti" 

"/usr/lib/gtk-2.0/2.10.0/immodules/im-viqr.so" 
"viqr" "Vietnamese (VIQR)" "gtk20" "/usr/share/locale" "vi" 

"/usr/lib/gtk-2.0/2.10.0/immodules/im-xim.so" 
"xim" "X Input Method" "gtk20" "/usr/share/locale" "ko:ja:th:zh" 

Added opt/gtk1/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: Library for creating graphical user interfaces for X
# URL:         http://www.gtk.org/
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Packager:    Daniel Mueller, daniel at danm dot de
# Depends on:  xorg-libxi, xorg-libxt, glib1

name=gtk1
version=1.2.10
release=1
source=(ftp://ftp.gtk.org/pub/gtk/v1.2/gtk+-$version.tar.gz)

build () {
    cd gtk+-$version
    ./configure --prefix=/usr \
                 --with-xinput=xfree \
                  --disable-nls
    make
    make DESTDIR=$PKG install
    rm -r $PKG/usr/info
}

Added opt/gutenprint/Pkgfile.





















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# Description: Print plugin and ghostscript/cups driver (formerly called gimp-print)
# URL:         http://gimp-print.sourceforge.net/
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  cups, ncurses, readline

name=gutenprint
version=5.2.7
release=2
source=(http://downloads.sourceforge.net/project/gimp-print/$name-5.2/$version/$name-$version.tar.bz2
        $name-$version-include_stdio.patch)

build () {
    cd $name-$version

    patch -p1 -i $SRC/$name-$version-include_stdio.patch

    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --disable-nls \
                --disable-samples
    make
    make DESTDIR=$PKG install

    rm -r $PKG/usr/share/gutenprint/{doc,samples}
    rm -r $PKG/usr/share/locale
}

Added opt/gutenprint/gutenprint-5.2.7-include_stdio.patch.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
diff -up gutenprint-5.2.7/src/cups/commandtocanon.c.build gutenprint-5.2.7/src/cups/commandtocanon.c
--- gutenprint-5.2.7/src/cups/commandtocanon.c.build	2011-06-07 13:32:37.372042304 +0100
+++ gutenprint-5.2.7/src/cups/commandtocanon.c	2011-06-07 13:32:41.270970750 +0100
@@ -13,6 +13,7 @@

 #include <cups/cups.h>
 #include <ctype.h>
+#include <stdio.h>
 #include <stdlib.h>


diff -up gutenprint-5.2.7/src/cups/commandtoepson.c.build gutenprint-5.2.7/src/cups/commandtoepson.c
--- gutenprint-5.2.7/src/cups/commandtoepson.c.build	2007-12-24 17:19:20.000000000 +0000
+++ gutenprint-5.2.7/src/cups/commandtoepson.c	2011-06-07 13:32:35.656073794 +0100
@@ -30,6 +30,7 @@

 #include <cups/cups.h>
 #include <ctype.h>
+#include <stdio.h>
 #include <stdlib.h>
 #include <string.h>

Added opt/gv/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: GhostView, Postscript/PDF viewer
# URL:         http://www.gnu.org/software/gv/
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  xaw3d, ghostscript

name=gv
version=3.7.3.90
release=1
source=(ftp://alpha.gnu.org/gnu/$name/$name-$version.tar.gz)

build () {
    cd $name-$version
    ./configure --prefix=/usr --mandir=/usr/man
    make
    make DESTDIR=$PKG install
    rm -r $PKG/usr/share/info
}

Added opt/gvim/Pkgfile.

















































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# Description: GTK version of the vim editor
# URL:         http://www.vim.org/
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  vim, gtk

name=gvim
version=7.3.470
release=1
source=(ftp://ftp.vim.org/pub/vim/unix/vim-7.3.tar.bz2
        http://crux.nu/files/distfiles/vim-7.3.001-050.xz
        http://crux.nu/files/distfiles/vim-7.3.051-102.xz
        http://crux.nu/files/distfiles/vim-7.3.103-154.xz
        http://crux.nu/files/distfiles/vim-7.3.155-198.xz
        http://crux.nu/files/distfiles/vim-7.3.199-260.xz
        http://crux.nu/files/distfiles/vim-7.3.261-303.xz
        http://crux.nu/files/distfiles/vim-7.3.304-353.xz
        http://crux.nu/files/distfiles/vim-7.3.354-401.xz
        http://crux.nu/files/distfiles/vim-7.3.402-470.xz
        gvim.desktop)

build () {
    cd vim73/src
    
    unxz -c $SRC/vim-7.3.*.xz | patch -p0 -d $SRC/vim73

    ./configure --prefix=/usr \
                --with-vim-name=gvim \
                --with-x=yes \
                --enable-gui=gtk2 \
                --enable-multibyte \
                --disable-gpm \
                --disable-nls

    make VIMRTDIR=
    make VIMRTDIR= DESTDIR=$PKG installvimbin

    install -d $PKG/usr/share/{applications,pixmaps}
    install -m 644 $SRC/gvim.desktop $PKG/usr/share/applications
    install -m 644 ../runtime/vim*.png $PKG/usr/share/pixmaps
}

Added opt/gvim/gvim.desktop.

























>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Name=gVim
Comment=GTK2 enhanced vim text editor
GenericName=Text Editor
Type=Application
TryExec=gvim
Exec=gvim %F
Icon=vim48x48.png
Terminal=false
Categories=GTK;Application;Utility;TextEditor;

Added opt/hal-info/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: Device information for HAL
# URL: http://www.freedesktop.org/wiki/Software/hal
# Packager: Matt Housh, jaeger at crux dot nu
# Maintainer: Jose V Beneyto, sepen at crux dot nu

name=hal-info
version=20091130
release=1
source=(http://hal.freedesktop.org/releases/$name-$version.tar.gz)

build() {
	cd $name-$version
	./configure --prefix=/usr
	make
	make DESTDIR=$PKG install
}

Added opt/hal/Pkgfile.













































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# Description: Hardware Abstraction Layer
# URL: http://www.freedesktop.org/wiki/Software/hal
# Packager: Matt Housh, jaeger at crux dot nu
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Depends on: dbus-glib, hal-info

name=hal
version=0.5.14
release=2
source=(http://hal.freedesktop.org/releases/$name-$version.tar.gz \
	hal.conf rc.hald)

build() {
    cd $name-$version
    sed -i -e 's/USE_NLS=yes/USE_NLS=no/' \
	-e 's/ENABLE_NLS 1/ENABLE_NLS 0/' configure
    ./configure --prefix=/usr \
	--mandir=/usr/man \
	--libexecdir=/usr/lib/$name \
	--localstatedir=/var \
	--with-hal-user=haldaemon \
	--with-hal-group=haldaemon \
	--with-dbus-sys=/usr/etc/dbus-1/system.d \
	--with-udev-prefix=/lib \
	--with-hwdata=/usr/share \
	--disable-policy-kit \
	--disable-console-kit
    sed -i -e '/device-manager/d' tools/Makefile
    make
    make DESTDIR=$PKG install
    install -D -o root -g root -m 0755 $SRC/rc.hald \
	$PKG/etc/rc.d/hald
    rm -rf $PKG/usr/share/{doc,locale}
    rm -rf $PKG/usr/share/gtk-doc
    cp $SRC/hal.conf $PKG/usr/etc/dbus-1/system.d/
    mkdir -p $PKG/var/lib/hal
    chown haldaemon:haldaemon $PKG/var/lib/hal
}

Added opt/hal/README.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
README for hal 0.5.7.1

REQUIREMENTS

PRE/POST-INSTALL
	Create a user/group haldaemon with a unused id < 99:

	'groupadd -g 82 haldaemon'
	'useradd -u 82 -g haldaemon -d /var/empty -s /bin/false haldaemon'
	'passwd -l haldaemon'

	If you wish to take advantage of the hotplug and automount-style features
	that apps like gnome-mount, gnome-volume-manager, or the like offer, create
	a 'plugdev' group and add your user to it, or change the 'plugdev' group in
	/usr/etc/dbus-1/system.d/hal.conf to something else and make sure your user
	is a member of that group.

PRECAUTION

Added opt/hal/hal.conf.









































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<!DOCTYPE busconfig PUBLIC
 "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
 "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
<busconfig>

  <!-- This configuration file specifies the required security policies
       for the HAL to work. -->

  <!-- Only root, user haldaemon or group plugdev can own the HAL service -->
  <policy user="haldaemon">
    <allow own="org.freedesktop.Hal"/>
  </policy>
  <policy user="root">
    <allow own="org.freedesktop.Hal"/>
  </policy>
  <policy group="plugdev">
    <allow own="org.freedesktop.Hal"/>
  </policy>

  <!-- Allow anyone to invoke methods on the Manager and Device interfaces -->
  <policy context="default">
    <allow send_interface="org.freedesktop.Hal.Manager"/>
    <allow send_interface="org.freedesktop.Hal.Device"/>
    <allow receive_interface="org.freedesktop.Hal.Manager"
           receive_sender="org.freedesktop.Hal"/>
    <allow receive_interface="org.freedesktop.Hal.Device"
           receive_sender="org.freedesktop.Hal"/>

    <allow send_interface="org.freedesktop.Hal.Device.SystemPowerManagement"/>
    <allow send_interface="org.freedesktop.Hal.Device.LaptopPanel"/>
    <allow send_interface="org.freedesktop.Hal.Device.Volume"/>
    <allow send_interface="org.freedesktop.Hal.Device.Volume.Crypto"/>
    <allow receive_interface="org.freedesktop.Hal.Device.SystemPowerManagement"
	   receive_sender="org.freedesktop.Hal"/>
    <allow receive_interface="org.freedesktop.Hal.Device.LaptopPanel"
	   receive_sender="org.freedesktop.Hal"/>
    <allow receive_interface="org.freedesktop.Hal.Device.Volume"
	   receive_sender="org.freedesktop.Hal"/>
    <allow receive_interface="org.freedesktop.Hal.Device.Volume.Crypto"
	   receive_sender="org.freedesktop.Hal"/>
  </policy>

  <!-- Default policy for the exported interfaces -->
  <policy context="default">
    <deny send_interface="org.freedesktop.Hal.Device.SystemPowerManagement"/>
    <deny send_interface="org.freedesktop.Hal.Device.VideoAdapterPM"/>
    <deny send_interface="org.freedesktop.Hal.Device.LaptopPanel"/>
    <deny send_interface="org.freedesktop.Hal.Device.Volume"/>
    <deny send_interface="org.freedesktop.Hal.Device.Volume.Crypto"/>
  </policy>

  <policy user="root">
    <allow send_interface="org.freedesktop.Hal.Device.SystemPowerManagement"/>
    <allow send_interface="org.freedesktop.Hal.Device.VideoAdapterPM"/>
    <allow send_interface="org.freedesktop.Hal.Device.LaptopPanel"/>
    <allow send_interface="org.freedesktop.Hal.Device.Volume"/>
    <allow send_interface="org.freedesktop.Hal.Device.Volume.Crypto"/>
  </policy>

  <policy group="plugdev">
    <allow send_interface="org.freedesktop.Hal.Device.SystemPowerManagement"/>
    <allow send_interface="org.freedesktop.Hal.Device.VideoAdapterPM"/>
    <allow send_interface="org.freedesktop.Hal.Device.LaptopPanel"/>
    <allow send_interface="org.freedesktop.Hal.Device.Volume"/>
    <allow send_interface="org.freedesktop.Hal.Device.Volume.Crypto"/>
  </policy>

</busconfig>

Added opt/hal/pre-install.



























>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
#!/bin/sh

# check for haldaemon group or add one
getent group haldaemon || /usr/sbin/groupadd -g 82 haldaemon

# check for plugdev group or add one
getent group plugdev || /usr/sbin/groupadd plugdev

# check for haldaemon user or add one
getent passwd haldaemon || /usr/sbin/useradd -g haldaemon -u 82 -d /var/empty -s /bin/false -c "HAL Daemon User" haldaemon

# lock the account
/usr/bin/passwd -l haldaemon

Added opt/hal/rc.hald.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/bin/sh
#
# /etc/rc.d/hald: start/stop HAL daemon
#

case $1 in
	start)
		/usr/sbin/hald --daemon=yes --use-syslog
		;;
	stop)
		killall -q /usr/sbin/hald
		;;
	restart)
		$0 stop
		sleep 2
		$0 start
		;;
	*)
		echo "Usage: $0 [start|stop|restart]"
		;;
esac

# End of file

Added opt/hicolor-icon-theme/Pkgfile.





























>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# Description: default fallback used by the icon theme specification
# URL: http://icon-theme.freedesktop.org/wiki/HicolorTheme
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu

name=hicolor-icon-theme
version=0.12
release=1
source=(http://icon-theme.freedesktop.org/releases/$name-$version.tar.gz)

build() {
	cd $name-$version
	./configure --prefix=/usr
	make DESTDIR=$PKG install
}

Added opt/hpijs/Pkgfile.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Description: Ghostscript add-on for HP inkjet/laserjet printers
# URL:         http://hpinkjet.sourceforge.net/
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  cups

name=hpijs
version=3.12.2
release=1
source=(http://downloads.sourceforge.net/project/hplip/hplip/$version/hplip-$version.tar.gz)

build () {
    cd hplip-$version

    ./configure --prefix=/usr \
                --enable-hpcups-only-build \
                --enable-hpcups-install \
                --with-hpppddir=/usr/share/cups/model/HP \
                --disable-{doc,network}-build

    make
    make DESTDIR=$PKG install

    rm -r $PKG/usr/share/{hplip,doc} $PKG/usr/bin
}

Added opt/htop/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Packager:     Simone Rota, sip at crux dot nu
# Maintainer:   Thomas Penteker, tek at serverop dot de
# Description:  an interactive process viewer
# URL:          http://htop.sourceforge.net/
# Depends on:   ncurses

name=htop
version=1.0.1
release=1
source=(http://downloads.sourceforge.net/project/htop/htop/$version/htop-$version.tar.gz)

build() {
    cd $name-$version
    ./configure --prefix=/usr --disable-nls --mandir=/usr/man
    make
    make DESTDIR=$PKG install
   
    rm -rf $PKG/usr/{include,lib}
    rm -rf $PKG/usr/share/{applications,pixmaps,}
}

Added opt/iftop/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: Real-time bandwidth usage information on a network interface 
# URL:         http://www.ex-parrot.com/~pdw/iftop/
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  libpcap, ncurses

name=iftop
version=1.0pre2
release=1
source=(http://www.ex-parrot.com/~pdw/iftop/download/$name-$version.tar.gz)

build () {
    cd $name-$version
    ./configure --prefix=/usr --mandir=/usr/man
    make iftop
    make DESTDIR=$PKG install
}

Added opt/imagemagick/Pkgfile.























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# Description: Image manipulation wizard
# URL:         http://www.imagemagick.org/
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Packager:    danm, maol, jaeger, sip
# Depends on:  libtool freetype ghostscript lcms libungif libxml2

name=imagemagick
version=6.7.5-10
release=1
source=(ftp://ftp.imagemagick.org/pub/ImageMagick/legacy/ImageMagick-$version.tar.xz)

build () {
    cd ImageMagick-$version

    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --enable-shared \
                --with-perl

    make
    make DESTDIR=$PKG install

    rm -r $PKG/usr/share/doc
    find $PKG -regex '.*\(ChangeLog\|LICENSE\|NEWS\.txt\)$' -delete 
    find $PKG -regex '.*\(\.packlist\|perllocal.pod\|\.bs\)$' -delete
    find $PKG -type d -empty -delete
}

Added opt/imlib2/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: A fast image manipulation library
# URL: http://freshmeat.net/projects/imlib2/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Matt Housh, jaeger at morpheus dot net
# Depends on: freetype, libid3tag, libpng, libtiff, libungif, xorg-libsm, xorg-libxext

name=imlib2
version=1.4.4
release=1
source=(http://download.sourceforge.net/enlightenment/$name-$version.tar.bz2)

build() {
  cd $name-$version
  ./configure --prefix=/usr
  make
  make DESTDIR=$PKG install
}

Added opt/intltool/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: Internationalization tool collection.
# URL: http://freshmeat.net/projects/intltool/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Depends on: p5-xml-parser

name=intltool
version=0.41.1
release=1
source=(http://edge.launchpad.net/$name/trunk/$version/+download/$name-$version.tar.gz)


build() {
	cd $name-$version
	./configure \
		--prefix=/usr \
		--mandir=/usr/man
	make
	make DESTDIR=$PKG install
}

Added opt/irssi/Pkgfile.





























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# Description: Terminal based IRC client for UNIX systems
# URL: http://www.irssi.org/
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager: Daniel K. Gebhart, dkg at con-fuse dot org
# Depends on: glib

name=irssi
version=0.8.15
release=1
source=(http://www.irssi.org/files/$name-$version.tar.bz2)

build () {
    cd $name-$version

    ./configure \
      --prefix=/usr \
      --mandir=/usr/man \
      --enable-ipv6 \
      --with-proxy \
      --with-perl-lib=site
    make
    make DESTDIR=$PKG install

    find $PKG \
      -name .packlist -or \
      -name perllocal.pod -or \
      -name '*.bs' -or \
      -name autosplit.ix | xargs rm
    rm -rf $PKG/usr/{include,share/doc}
}

Added opt/iso-codes/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: ISO Country/Language/Currency codes
# URL: http://pkg-isocodes.alioth.debian.org/
# Maintainer: Jose V Beneyto, sepen at users dot sourceforge dot net
# Packager: Matt Housh, jaeger at morpheus dot net
# Depends on: gettext

name=iso-codes
version=1.0
release=1
source=(http://crux.nu/files/$name-$version.tar.bz2)

build() {
  cd $name-$version
  ./configure --prefix=/usr
  make
  make pkgconfigdir=/usr/lib/pkgconfig DESTDIR=$PKG install
  rm -rf $PKG/usr/share/locale
}

Added opt/jdk/Pkgfile.















































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# Description: Java 2 Software Development Kit
# URL: http://java.sun.com
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Simone Rota, sip at crux dot nu

name=jdk
version=1.7.0_03
release=1
source=(http://download.oracle.com/otn-pub/java/$name/7u3-b04/$name-7u3-linux-i586.tar.gz)

build(){
	rm -rf $SRC/jdk*/{man/ja,jre/lib/javaws/messages_,demo,sample}*
	rm -rf $SRC/jdk*/jre/lib/fontconfig.{RedHat,SuSE,Sun,Turbo}.*
	rm -rf $SRC/jdk*/jre/plugin/i386/ns7-gcc29
	rm -rf $SRC/jdk*/jre/.systemPrefs
	rm -rf $SRC/jdk*/{,jre/}[A-Z]*

	install -d $PKG/usr/lib
	mv $SRC/jdk* $PKG/usr/lib
	mv $PKG/usr/lib/jdk*/man $PKG/usr

	cd $PKG/usr/lib
	export GLOBIGNORE="*/src.zip"
	for i in jdk*/* jdk*/jre/*; do
	  test -f $i && rm -rf $i;
	done
	
	ln -s jdk* $PKG/usr/lib/java

	# generate classes.jsa
	cd $PKG/usr/lib/java
	./bin/java -server -Xshare:dump
	./bin/java -client -Xshare:dump

	mkdir -p $PKG/usr/bin && cd $PKG/usr/bin
	for j in java javac javah javap javaws jar keytool; do
		ln -s ../lib/java/bin/$j
	done
}

Added opt/jdk/README.













>
>
>
>
>
>
1
2
3
4
5
6

README for jdk

	To download Java SE Development Kit 7 go to:
	http://www.oracle.com/technetwork/java/javase/downloads/jdk-7u2-download-1377129.html
	(You must accept the Oracle Binary Code License Agreement for Java SE to download this software)

Added opt/jhead/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: EXIF JPEG header manipulation tool
# URL: http://www.sentex.net/~mwandel/jhead/
# Maintainer: Antti Nykanen, aon at iki dot fi
# Depends on:

name=jhead
version=2.87
release=1
source=(http://www.sentex.net/~mwandel/$name/$name-$version.tar.gz)

build() {
	cd $name-$version
	sed -i "s:-O3:${CFLAGS}:" makefile
	make
	install -d -m 0755 $PKG/usr/bin
	install -d -m 0755 $PKG/usr/man/man1
	install -m 0755 $name $PKG/usr/bin/
	install -m 0644 $name.1 $PKG/usr/man/man1/
}

Added opt/jre/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description: Java 2 Runtime Kit
# URL:         http://www.oracle.com/technetwork/java/index.html
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Packager:    Simone Rota, sip at crux dot nu

name=jre
version=1.7.0_03
release=1
source=(file:///$name-7u3-linux-i586.tar.gz)

build(){
    cd $name$version

    install -d $PKG/usr/{bin,man,lib/$name$version}
    mv man/man1 $PKG/usr/man
    mv bin lib plugin  $PKG/usr/lib/$name$version
    
    ln -s $name$version $PKG/usr/lib/java
    ln -s ../lib/java/bin/java $PKG/usr/bin/java
    ln -s ../lib/java/bin/javaws $PKG/usr/bin/javaws
    ln -s ../lib/java/bin/keytool $PKG/usr/bin/keytool
}

Added opt/jre/README.

























>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
README for Java Runtime Enironment 7

REQUIREMENTS

   Download the Java Runtime Environment (JRE) from
   - http://www.oracle.com/technetwork/java/javase/downloads/jre-7u3-download-1501631.html 
   
   and put the file 
   -  jre-7u*-linux-i586.tar.gz
   
   into the directory defined by PKGMK_SOURCE_DIR. See pkgmk.conf(5).

Added opt/json-c/Pkgfile.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Description: JSON implementation in C
# URL:         http://oss.metaparadigm.com/json-c/
# Maintainer:  Juergen Daubert, jue at crux dot nu

name=json-c
version=0.9
release=1
source=(http://oss.metaparadigm.com/$name/$name-$version.tar.gz)

build() {
    cd $name-$version
    ./configure --prefix=/usr 
    make
    make DESTDIR=$PKG install
}

Added opt/keyutils/Pkgfile.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Description: Tools to control the Linx key management system
# URL:         http://www.kernel.org/
# Maintainer:  Juergen Daubert, jue at crux dot nu

name=keyutils
version=1.5.5
release=1
source=(http://people.redhat.com/~dhowells/$name/$name-$version.tar.bz2)

build () {
    cd $name-$version
    sed -i "/^MAN[1-9]/s|share/||;/^CFLAGS/s/-g/$CFLAGS/;s|/lib64|/lib|" Makefile
    make -j1
    make DESTDIR=$PKG install
}

Added opt/kqemu/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: QEMU Accelerator Module
# URL:         http://nongnu.org/qemu/
# Maintainer:  Lucas Hazel, lucas at die dot net dot au
# Packager:    Jukka Heino, jukka dot heino at gmail dot com
# Depends on:  

name=kqemu
version=1.4.0pre1
release=1
source=(http://www.nongnu.org/qemu/$name-$version.tar.gz \
	$name.patch)

build() {
	cd $name-$version
	patch -Np1 -i ../$name.patch
	./configure
	make
	install -D -m 0644 $name.ko $PKG/lib/modules/$(uname -r)/misc/kqemu.ko
}

Added opt/kqemu/README.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
REQUIREMENTS

PRE-INSTALL

POST-INSTALL

In order to use the QEMU Accelerator Module, first enable /dev/shm in
/etc/fstab. This is the area kqemu uses for the virtual machine RAM.

When using udev, the device node is created automatically; add the following to
/etc/udev/rules.d/10-custom.rules to allow all users of group 'qemu' to use
kqemu:

  KERNEL=="kqemu", MODE="0660", GROUP="qemu"

Loading the kqemu kernel module is done with "modprobe kqemu major=0" This will
cause the major number to be assigned dynamically.

PRECAUTION

Added opt/kqemu/kqemu.patch.



























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
diff -ru kqemu-1.3.0pre11.orig/kqemu-linux.c kqemu-1.3.0pre11/kqemu-linux.c
--- kqemu-1.3.0pre11.orig/kqemu-linux.c	2007-02-06 22:02:00.000000000 +0100
+++ kqemu-1.3.0pre11/kqemu-linux.c	2007-10-19 13:45:18.004789125 +0200
@@ -26,6 +26,11 @@
 #include <linux/ioctl.h>
 #include <linux/smp_lock.h>
 #include <linux/miscdevice.h>
+
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 23)
+#include <linux/sched.h>
+#endif
+
 #include <asm/atomic.h>
 #include <asm/processor.h>
 #include <asm/uaccess.h>
@@ -78,7 +83,12 @@
     int ret;
     struct page *page;
 
-    ret = get_user_pages(current, current->mm,
+    ret = get_user_pages(current,
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 23)
+                         current->mm,
+#else
+                         get_task_mm(current),
+#endif
                          user_addr,
                          1, /* 1 page. */
                          1, /* 'write': intent to write. */

Added opt/krb5/Pkgfile.



























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# Description: Network Authentication Protocol
# URL: http://web.mit.edu/kerberos
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Alan Mizrahi, alan at mizrahi dot com dot ve
# Depends on: openldap

name=krb5
version=1.9.2
release=1
source=(http://web.mit.edu/kerberos/dist/$name/${version%.*}/$name-$version-signed.tar)

build() {
	tar -xf $SRC/$name-$version-signed.tar
	tar -xzf $SRC/$name-$version.tar.gz

    	cd $name-$version/src

	export CFLAGS="-I/usr/include/et"
	./configure --prefix=/usr \
		    --with-system-et \
                    --with-system-ss

	make
    	make DESTDIR=$PKG install
	rm -rf $PKG/usr/share

	# Comment this if you want kerberized versions of ftp and telnet
	rm -rf $PKG/usr/bin/{ftp,telnet} $PKG/usr/man/man1/{ftp,telnet}.1
}

Added opt/lame/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: MP3 encoder
# URL:         http://lame.sourceforge.net/
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  ncurses

name=lame
version=3.99.5
release=1
source=(http://downloads.sourceforge.net/project/$name/$name/${version%.*}/$name-$version.tar.gz)

build () {
    cd $name-$version
    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --disable-analyzer-hooks \
                --disable-gtktest \
                --enable-nasm
    make
    make DESTDIR=$PKG install
    rm -r $PKG/usr/share
}

Added opt/lcms/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: Little CMS. A free color management engine.
# URL:         http://www.littlecms.com/
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Packager:    Daniel Mueller, daniel at danm dot de
# Depends on:  zlib, libtiff, libjpeg

name=lcms
version=1.19
release=1
source=(http://downloads.sourceforge.net/project/lcms/lcms/$version/lcms-$version.tar.gz)

build() {
    cd $name-$version
    ./configure --prefix=/usr \
                --without-python \
                --mandir=/usr/man
    make
    make DESTDIR=$PKG install
}

Added opt/lesstif/Pkgfile.





























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# Description: A free replacement for Motif
# URL: http://www.lesstif.org/
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager: Antti Nykanen, aon at iki dot fi
# Depends on: freetype, xorg-libxt

name=lesstif
version=0.95.2
release=1
source=(http://downloads.sourceforge.net/project/$name/$name/$version/$name-$version.tar.bz2)

build() {
  cd $name-$version
  ./configure \
    --prefix=/usr \
    --enable-nonstandard-conversions \
    --disable-debug \
    --with-editres \
    --with-xdnd \
    --mandir=/usr/man
  make
  make DESTDIR=$PKG install

  # remove xprint stuff
  rm $PKG/usr/include/Xm/Print{SP,}.h
  sed -i -e 's/.*Print.h.*//' $PKG/usr/include/Xm/XmAll.h

  rm -rf $PKG/usr/LessTif $PKG/usr/lib/X11/ \
         $PKG/usr/man/man{1/mwm.1,5/mwmrc.5}
}

Added opt/lftp/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: Sophisticated command line based FTP client
# URL: http://lftp.yar.ru/
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: openssl

name=lftp
version=4.3.3
release=1
source=(ftp://ftp.cs.tu-berlin.de/pub/net/ftp/lftp/$name-$version.tar.xz)

build() {
	cd $name-$version

	./configure --prefix=/usr --disable-nls --with-openssl=/usr \
	            --mandir=/usr/man --sysconfdir=/usr/etc

	make -j 1
	make -j 1 DESTDIR=$PKG install

	rm -r $PKG/usr/lib
}

Added opt/libaio/Pkgfile.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Description: Native asynchronous I/O (AIO) support library
# URL:         http://lse.sourceforge.net/io/aio.html
# Maintainer:  Juergen Daubert, jue at crux dot nu

name=libaio
version=0.3.109
release=1
source=(http://crux.s3.amazonaws.com/dist/$name-$version.tar.bz2)

build() {
    cd $name-$version
    sed -i '15,18s/^/#/' Makefile
    make
    make prefix=$PKG/usr install
}

Added opt/libao/Pkgfile.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Description: Cross-platform audio output library and plugins.
# URL: http://www.xiph.org/ao/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Olle Gustafsson, ogg at linux dot se
# Depends on: alsa-lib

name=libao
version=1.1.0
release=1
source=(http://downloads.xiph.org/releases/ao/$name-$version.tar.gz)

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--mandir=/usr/man

	make
	make DESTDIR=$PKG install

	rm -r $PKG/usr/share/doc
}

Added opt/libart_lgpl/Pkgfile.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Description: A library for high-performance 2D graphics
# URL: http://www.levien.com/libart/
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager: Simone Rota, sip at crux dot nu

name=libart_lgpl
version=2.3.21
release=1
source=(http://ftp.gnome.org/pub/gnome/sources/$name/2.3/$name-$version.tar.bz2)
build(){
  cd $name-$version
  ./configure --prefix=/usr
  make
  make DESTDIR=$PKG install
}

Added opt/libassuan/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: IPC library for the GnuPG components
# URL:         http://www.gnupg.org/
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    Simon Glossner, viper at hometux dot de
# Depends on:  libpth libgpg-error

name=libassuan
version=2.0.3
release=1
source=(ftp://ftp.gnupg.org/gcrypt/$name/$name-$version.tar.bz2)

build() {
    cd $name-$version

    ./configure --prefix=/usr
    make
    make DESTDIR=$PKG install

    rm -r $PKG/usr/share/info
}

Added opt/libc-client/Pkgfile.

































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# Description: University of Washington's IMAP/mail c-client library
# URL:         http://www.washington.edu/imap/
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  openssl

name=libc-client
version=2007f
release=1
source=(ftp://ftp.cac.washington.edu/imap/imap-$version.tar.gz)

build () {
    cd imap-${version::5}
    sed -i 's/read x/x=y/' Makefile
    echo y | make slx EXTRACFLAGS="$CFLAGS" \
                      SSLTYPE=unix \
                      SSLDIR=/usr \
                      SSLCERTS=/etc/ssl/certs \
                      IP=6
    cd c-client
    gcc -Wl,-soname,$name.so.1 -shared -fPIC -o $name.so.1.0.0 *.o

    install -d $PKG/usr/{lib,include/c-client}

    install -m 644 c-client.a $PKG/usr/lib/$name.a
    install -m 755 $name.so.1.0.0 $PKG/usr/lib
    ln -s $name.so.1.0.0 $PKG/usr/lib/$name.so.1
    ln -s $name.so.1.0.0 $PKG/usr/lib/$name.so

    install -m 644 *.h $PKG/usr/include/c-client
    install -m 644 linkage.c $PKG/usr/include/c-client
    rm $PKG/usr/include/c-client/os_*.h
}

Added opt/libcroco/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: Generic Cascading Style Sheet parsing and manipulation toolkit.
# URL: https://launchpad.net/libcroco
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Matt Housh, jaeger at morpheus dot net
# Depends on: libxml2 pango

name=libcroco
version=0.6.2
release=1
source=(http://download.gnome.org/sources/$name/${version%.*}/$name-$version.tar.bz2)

build() {
  cd $name-$version

  ./configure --prefix=/usr

  make
  make DESTDIR=$PKG install
  ln -s libcroco-${version%.*}.la $PKG/usr/lib/libcroco.la
}

Added opt/libdrm/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: Userspace interface to kernel DRM services
# URL: http://dri.freedesktop.org/
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: libpthread-stubs

name=libdrm
version=2.4.33
release=1
source=(http://dri.freedesktop.org/libdrm/libdrm-$version.tar.bz2)

build() {
    cd $name-$version
    ./configure --prefix=/usr --enable-udev --enable-nouveau-experimental-api
    make
    make DESTDIR=$PKG install
}

Added opt/libesmtp/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: A library for posting electronic mail
# URL: http://www.stafford.uklinux.net/libesmtp/
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: openssl

name=libesmtp
version=1.0.6
release=1
source=(http://www.stafford.uklinux.net/$name/$name-$version.tar.bz2)

build() {
	cd $name-$version
	./configure \
		--prefix=/usr \
		--with-openssl=/usr \
		--includedir=/usr/include/libesmtp

	make
	make DESTDIR=$PKG install
}

Added opt/libevent/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: Event notification library
# URL:         http://www.monkey.org/~provos/libevent/
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Packager:    Robert McMeekin, rrm3 at rrm3 dot org

name=libevent
version=2.0.18
release=1
source=(http://downloads.sourceforge.net/project/levent/$name/$name-2.0/$name-$version-stable.tar.gz)

build() {
    cd $name-$version-stable
    ./configure --prefix=/usr --mandir=/usr/man
    make
    make DESTDIR=$PKG install
}

Added opt/libexif/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: An EXIF tag parsing library
# URL: http://libexif.sourceforge.net/
# Maintainer: Juergen Daubert, jue at crux dot nu
# Packager: Matt Housh, jaeger at morpheus dot net

name=libexif
version=0.6.20
release=1
source=(http://downloads.sourceforge.net/project/$name/$name/$version/$name-$version.tar.bz2)

build () {
	cd $name-$version
	./configure --prefix=/usr --disable-nls
	make
	make DESTDIR=$PKG install
	rm -rf $PKG/usr/share
}

Added opt/libgcrypt/Pkgfile.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Description: A general purpose cryptographic library based on GnuPG
# URL:         http://www.gnupg.org
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    Matt Housh, jaeger at morpheus dot net
# Depends on:  libgpg-error

name=libgcrypt
version=1.5.0
release=2
source=(ftp://ftp.gnupg.org/gcrypt/libgcrypt/$name-$version.tar.bz2)

build() {
  cd $name-$version

  ./configure \
      --prefix=/usr \
      --disable-padlock-support \
      --enable-static=yes
  make
  make DESTDIR=$PKG install

  rm -rf $PKG/usr/sbin
  rm -rf $PKG/usr/share/info
}

Added opt/libgd/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: gd libraries
# URL: http://www.libgd.org
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Antti Nykanen, aon at iki dot fi
# Depends on: xorg-libxpm libpng libjpeg freetype

name=libgd
version=2.0.35
release=2
source=(http://google-desktop-for-linux-mirror.googlecode.com/files/gd-$version.tar.gz)

build () {
	cd gd/$version
	chmod a+x configure
	./configure --prefix=/usr
	make DESTDIR=$PKG install
}

Added opt/libglade/Pkgfile.





















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# Description: library to load glade interface files in a program at runtime
# URL: http://glade.gnome.org/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Matt Housh, jaeger at morpheus dot net
# Depends on: gtk pkg-config xorg-libxdamage

name=libglade
version=2.6.4
release=1
source=(http://download.gnome.org/sources/$name/2.6/$name-$version.tar.bz2)

build() {
	install -d -m 0755 $PKG/etc/xml/dtd/$name/2.0
	xmlcatalog --noout --create $PKG/etc/xml/dtd/$name/2.0/catalog
	cd $name-$version
	sed -i -e 's/USE_NLS=yes/USE_NLS=no/' \
		-e 's/ENABLE_NLS 1/ENABLE_NLS 0/' configure
	sed -i -e "s|/etc/xml/catalog|$PKG/etc/xml/dtd/$name/2.0/catalog|" \
		-e 's|$(datadir)/xml/libglade|$(datadir)/xml/dtd/libglade/2.0|' Makefile.in
	./configure --prefix=/usr \
		--disable-debug \
		--disable-gtk-doc
	make
	make DESTDIR=$PKG install
	rm -rf $PKG/usr/share/gtk-doc
}

Added opt/libglade/post-install.























>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
#!/bin/sh

name=libglade
DTD_CAT=/etc/xml/dtd/$name/2.0/catalog
DTD_PATH=file:///usr/share/xml/dtd/$name/2.0/glade-2.0.dtd
DTD_URL=http://glade.gnome.org/glade-2.0.dtd

xmlcatalog --noout --add "delegateSystem" \
  "$DTD_URL" "$DTD_PATH" $DTD_CAT

# End of file

Added opt/libgpg-error/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: A small library defining error values for GnuPG components
# URL:         http://www.gnupg.org
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    Matt Housh, jaeger at morpheus dot net

name=libgpg-error
version=1.10
release=1
source=(ftp://ftp.gnupg.org/gcrypt/libgpg-error/$name-$version.tar.bz2)

build() {
  cd $name-$version

  ./configure --prefix=/usr --disable-nls \
              --enable-static
  make
  make DESTDIR=$PKG install
}

Added opt/libgphoto2/Pkgfile.



















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# Description: A library designed to allow access to digital cameras to external programs
# URL:         http://www.gphoto.org/proj/libgphoto2/
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Packager:    Matt Housh, jaeger at crux dot nu
# Depends on:  libtool libusb-compat libjpeg libexif

name=libgphoto2
version=2.4.13
release=1
source=(http://downloads.sourceforge.net/project/gphoto/libgphoto/$version/$name-$version.tar.bz2)

build () {
    cd $name-$version

    udevscriptdir=/lib/udev \
    ./configure --prefix=/usr \
                --disable-nls \
                --mandir=/usr/man

    make
    make DESTDIR=$PKG install
    
    rm -r $PKG/usr/share/doc
    rm $PKG/usr/lib/libgphoto2*/*/*.la
}

Added opt/libid3tag/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description: ID3 tag manipulation library
# URL:         http://www.mars.org/home/rob/proj/mpeg/
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    Robert McMeekin, rrm3 at rrm3 dot org
# Depends on:  zlib

name=libid3tag
version=0.15.1b
release=1
source=(http://download.sourceforge.net/mad/${name}-${version}.tar.gz \
        id3tag.pc)

build() {
    mkdir -p $PKG/usr/lib/pkgconfig/
    sed "s/#version#/$version/" id3tag.pc > $PKG/usr/lib/pkgconfig/id3tag.pc
  
    cd $name-$version

    ./configure --prefix=/usr
    make
    make DESTDIR=$PKG install
}

Added opt/libid3tag/id3tag.pc.























>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
prefix=/usr
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include

Name: id3tag
Description: ID3 tag library
Requires:
Version: #version#
Libs: -L${libdir} -lid3tag -lz
Cflags: -I${includedir}

Added opt/libidl/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: A library for creating trees of CORBA Interface Definition Language (IDL) files
# URL: http://andrewtv.org/libIDL/
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: glib

name=libidl
version=0.8.14
release=1
source=(http://download.gnome.org/sources/libIDL/0.8/libIDL-$version.tar.bz2)

build() {
	cd libIDL-$version
	./configure --prefix=/usr
	make
	make DESTDIR=$PKG install
	rm -rf $PKG/usr/share
}

Added opt/libidn/Pkgfile.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Description: Provides support for IETF Internationalized Domain Names (IDN).
# URL: http://www.gnu.org/software/libidn/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Daniel Mueller, daniel at danm dot de

name=libidn
version=1.24
release=1
source=(http://ftp.gnu.org/gnu/$name/$name-$version.tar.gz)

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--mandir=/usr/man \
		--disable-nls \
		--disable-static

	make
	make DESTDIR=$PKG install
	rm -r $PKG/usr/share/info
}

Added opt/libjpeg/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: Library of JPEG support functions.
# URL:         http://www.ijg.org/
# Maintainer:  Tilman Sauerbeck, tilman at crux dot nu

name=libjpeg
version=8c
release=1
source=(ftp://ftp.uni-frankfurt.de/pub/Mirrors2/gentoo.org/distfiles/jpegsrc.v$version.tar.gz)

build() {
    cd jpeg-$version
    ./configure --prefix=/usr --mandir=/usr/man \
                --enable-shared --enable-static
    make
    make DESTDIR=$PKG install
}

Added opt/libksba/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: X.509 and CMS support library
# URL:         http://www.gnupg.org
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    Simon Glossner, viper at hometux dot de
# Depends on:  libgpg-error

name=libksba
version=1.2.0
release=1
source=(ftp://ftp.gnupg.org/gcrypt/$name/$name-$version.tar.bz2)

build() {
    cd $name-$version

    ./configure --prefix=/usr
    make
    make DESTDIR=$PKG install

    rm -r $PKG/usr/share/info
}

Added opt/libmad/Pkgfile.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Description: High-quality MPEG Audio Decoder library
# URL: http://www.underbit.com/products/mad/
# Maintainer: Simon Glossner, viper at hometux dot de
# Packager: Rene Thuemmler, rene dot thuemmler at gmx dot net

name=libmad
version=0.15.1b
release=4
source=(http://download.sourceforge.net/mad/${name}-${version}.tar.gz \
        mad.pc)

build() {
    mkdir -p $PKG/usr/lib/pkgconfig/
    sed "s/#version#/$version/" mad.pc > $PKG/usr/lib/pkgconfig/mad.pc

    cd $name-$version

    # remove -fforce-mem
    sed -i '19102d' configure

    ./configure --prefix=/usr
    make
    make DESTDIR=$PKG install
}

Added opt/libmad/mad.pc.























>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
prefix=/usr
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include

Name: mad
Description: MPEG Audio Decoder
Requires:
Version: #version#
Libs: -L${libdir} -lmad -lm
Cflags: -I${includedir}

Added opt/libmng/Pkgfile.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Description: libmng - Mutliple Image Network Graphics 
# URL:         http://www.libmng.com
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Packager:    Daniel Mueller, daniel at danm dot de
# Depends on:  zlib, libjpeg, lcms

name=libmng
version=1.0.10
release=1
source=(http://download.sourceforge.net/$name/$name-$version.tar.gz \
        libmng.la)

build() {
    mkdir -p $PKG/usr/{include,lib}
    cd $name-$version
    cp makefiles/makefile.linux Makefile
    sed -i -e 's|/local||g' Makefile
    sed -i 's|1\.0\.9|1\.0\.10|g' Makefile
    make
    make prefix=$PKG/usr install
    ln -s libmng.so.1.1.0.10 $PKG/usr/lib/libmng.so.1.0.10
    install -m 755 $SRC/libmng.la $PKG/usr/lib
}

Added opt/libmng/libmng.la.







































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# libmng.la - a libtool library file
# Generated by ltmain.sh - GNU libtool 1.5a (1.1240 2003/06/26 06:55:19)
#
# Please DO NOT delete this file!
# It is necessary for linking the library.

# The name that we can dlopen(3).
dlname='libmng.so.1'

# Names of this library.
library_names='libmng.so.1.0.10 libmng.so.1 libmng.so'

# The name of the static archive.
old_library='libmng.a'

# Libraries that this one depends upon.
dependency_libs=' -lz /usr/lib/libjpeg.la /usr/lib/liblcms.la -lm'

# Version information for libmng.
current=1
age=0
revision=10

# Is this an already installed library?
installed=yes

# Should we warn about portability when linking against -modules?
shouldnotlink=no

# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''

# Directory that this library needs to be installed in:
libdir='/usr/lib'

Added opt/libmpd/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: Callback based interface to MPD
# URL: http://sarine.nl/libmpd
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Mark Rosenstand, mark at borkware dot net
# Depends on:

name=libmpd
version=11.8.17
release=1
source=(http://download.sarine.nl/Programs/gmpc/${version%.*}/$name-$version.tar.gz)

build() {
  cd $name-$version

  ./configure --prefix=/usr \
              --disable-static

  make
  make DESTDIR=$PKG install
}

Added opt/libmpeg2/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: MPEG1/MPEG2 decoder (includes libmpeg2)
# URL:         http://libmpeg2.sourceforge.net/
# Packager:    acrux, acrux at linuxmail dot org
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Depends on: libsdl, xorg-libxv

name=libmpeg2
version=0.5.1
release=1
source=(http://$name.sourceforge.net/files/$name-$version.tar.gz)

build () {
  cd $name-$version
  ./configure --prefix=/usr --mandir=/usr/man \
  --with-gnu-ld --enable-shared \
  --disable-nls
  make
  make DESTDIR=$PKG install
}

Added opt/libmusicbrainz/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: community music metadatabase
# URL: http://www.musicbrainz.org/
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: expat

name=libmusicbrainz
version=2.1.5
release=2
source=(http://ftp.musicbrainz.org/pub/musicbrainz/$name-$version.tar.gz
        $name.diff)

build() {
    cd $name-$version
    patch -Np1 -i $SRC/$name.diff
    ./configure --prefix=/usr
    make
    make DESTDIR=$PKG install
}

Added opt/libmusicbrainz/libmusicbrainz.diff.















































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
diff -aur libmusicbrainz-2.1.5.orig/lib/c_wrapper.cpp libmusicbrainz-2.1.5/lib/c_wrapper.cpp
--- libmusicbrainz-2.1.5.orig/lib/c_wrapper.cpp	2006-11-14 17:34:49.000000000 +0100
+++ libmusicbrainz-2.1.5/lib/c_wrapper.cpp	2008-12-20 12:07:34.688177560 +0100
@@ -24,6 +24,7 @@
 #include "musicbrainz.h"
 #include "trm.h"
 #include "mb_c.h"
+#include <cstring>
 
 extern "C"
 {
diff -aur libmusicbrainz-2.1.5.orig/lib/comhttpsocket.cpp libmusicbrainz-2.1.5/lib/comhttpsocket.cpp
--- libmusicbrainz-2.1.5.orig/lib/comhttpsocket.cpp	2006-11-14 17:34:49.000000000 +0100
+++ libmusicbrainz-2.1.5/lib/comhttpsocket.cpp	2008-12-20 12:07:54.383178200 +0100
@@ -20,6 +20,7 @@
 #endif
 #include <stdlib.h>
 #include <assert.h>
+#include <cstring>
 
 const char* g_strCOMVer = "libmusicbrainz/"VERSION;
 
diff -aur libmusicbrainz-2.1.5.orig/lib/comsocket.cpp libmusicbrainz-2.1.5/lib/comsocket.cpp
--- libmusicbrainz-2.1.5.orig/lib/comsocket.cpp	2006-11-14 17:34:49.000000000 +0100
+++ libmusicbrainz-2.1.5/lib/comsocket.cpp	2008-12-20 12:07:04.275176680 +0100
@@ -37,6 +37,7 @@
 #include <netinet/tcp.h>
 #include <errno.h>
 #include <stdio.h>
+#include <cstring>
 #include <sys/time.h>
 #include <sys/types.h>
 #include <unistd.h>
diff -aur libmusicbrainz-2.1.5.orig/lib/http.cpp libmusicbrainz-2.1.5/lib/http.cpp
--- libmusicbrainz-2.1.5.orig/lib/http.cpp	2007-05-11 08:21:21.000000000 +0200
+++ libmusicbrainz-2.1.5/lib/http.cpp	2008-12-20 12:09:34.249178880 +0100
@@ -24,6 +24,7 @@
 ----------------------------------------------------------------------------*/
 #include <stdlib.h>
 #include <stdio.h> 
+#include <cstring>
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <ctype.h>
diff -aur libmusicbrainz-2.1.5.orig/lib/sigclient.cpp libmusicbrainz-2.1.5/lib/sigclient.cpp
--- libmusicbrainz-2.1.5.orig/lib/sigclient.cpp	2006-11-14 17:34:49.000000000 +0100
+++ libmusicbrainz-2.1.5/lib/sigclient.cpp	2008-12-20 12:10:34.340178600 +0100
@@ -33,6 +33,7 @@
 #pragma warning(disable:4786)
 #endif
 
+#include <cstring>
 #include "sigclient.h"
 #include "comhttpsocket.h"
 

Added opt/libnfsidmap/Pkgfile.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Description: Id mapping library for NFSv4
# Maintainer:  Juergen Daubert, jue at crux dot nu
# URL:         http://www.citi.umich.edu/projects/nfsv4/linux/

name=libnfsidmap
version=0.25
release=1
source=(http://www.citi.umich.edu/projects/nfsv4/linux/$name/$name-$version.tar.gz)

build() {
    cd $name-$version
    ./configure --prefix=/usr --mandir=/usr/man 
    make
    make DESTDIR=$PKG install
}

Added opt/libnl/Pkgfile.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Description: Library providing APIs to netlink protocol based Linux kernel interfaces
# URL:         http://www.infradead.org/~tgr/libnl/
# Maintainer:  Juergen Daubert, jue at crux dot nu

name=libnl
version=1.1
release=1
source=(http://www.infradead.org/~tgr/$name/files/$name-$version.tar.gz
        $name-$version-fix_port_tracking.patch 
        $name-$version-limits.patch
        $name-$version-remove_inline_specifier.patch)

build()
{
    cd $name-$version
    
    patch -p1 -i $SRC/$name-$version-limits.patch
    patch -p1 -i $SRC/$name-$version-fix_port_tracking.patch
    patch -p1 -i $SRC/$name-$version-remove_inline_specifier.patch

    ./configure --prefix=/usr
    make
    make DESTDIR=$PKG install
}

Added opt/libnl/libnl-1.1-fix_port_tracking.patch.























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
From ef8ba32e0ca7ac7bbbaf87f6fd7b197af18aed25 Mon Sep 17 00:00:00 2001
From: Inaky Perez-Gonzalez <inaky@linux.intel.com>
Date: Mon, 27 Apr 2009 14:46:08 -0700
Subject: [PATCH] release_local_port: properly compute the bitmap position

Current calculation is always off, not reflecting the right position
in the bitmap, which results in failures due to conflicts (detected at
the kernel level) when trying to open a new handle.

Signed-off-by: Inaky Perez-Gonzalez <inaky@linux.intel.com>
---
 lib/socket.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

Index: libnl-1.1/lib/socket.c
===================================================================
--- libnl-1.1.orig/lib/socket.c	2010-11-17 02:55:53.070669985 +0100
+++ libnl-1.1/lib/socket.c	2010-11-17 02:58:07.970667329 +0100
@@ -153,7 +153,7 @@
 		return;
 	
 	nr = port >> 22;
-	used_ports_map[nr / 32] &= ~((nr % 32) + 1);
+	used_ports_map[nr / 32] &= ~(1 << nr % 32);
 }
 
 /**

Added opt/libnl/libnl-1.1-limits.patch.

























>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
Index: libnl-1.1/include/netlink-local.h
===================================================================
--- libnl-1.1.orig/include/netlink-local.h	2008-10-08 19:58:47.000000000 +0200
+++ libnl-1.1/include/netlink-local.h	2008-10-08 19:58:51.000000000 +0200
@@ -26,6 +26,7 @@
 #include <sys/socket.h>
 #include <inttypes.h>
 #include <assert.h>
+#include <limits.h>
 
 #include <arpa/inet.h>
 #include <netdb.h>

Added opt/libnl/libnl-1.1-remove_inline_specifier.patch.





























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Origin: http://bugs.gentoo.org/attachment.cgi?id=272585&action=diff
Description: libnl headers incompatible with gcc -std=gnu99
Ubuntu-Bug: https://launchpad.net/bugs/780044

Index: libnl-1.1/include/netlink/object.h
===================================================================
--- libnl-1.1.orig/include/netlink/object.h	2011-06-16 13:15:28.000000000 -0500
+++ libnl-1.1/include/netlink/object.h	2011-06-16 13:16:22.000000000 -0500
@@ -55,7 +55,7 @@
 /* Access Functions */
 extern int			nl_object_get_refcnt(struct nl_object *);
 extern struct nl_cache *	nl_object_get_cache(struct nl_object *);
-extern inline void *		nl_object_priv(struct nl_object *);
+extern void *			nl_object_priv(struct nl_object *);
 
 #ifdef __cplusplus
 }
Index: libnl-1.1/lib/object.c
===================================================================
--- libnl-1.1.orig/lib/object.c	2011-06-16 13:16:55.000000000 -0500
+++ libnl-1.1/lib/object.c	2011-06-16 13:17:15.000000000 -0500
@@ -376,7 +376,7 @@
 	return obj->ce_cache;
 }
 
-inline void *nl_object_priv(struct nl_object *obj)
+void *nl_object_priv(struct nl_object *obj)
 {
 	return obj;
 }

Added opt/libnotify/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Notification library from the Galago project
# URL: http://www.galago-project.org/news/index.php
# Packager: Matt Housh, jaeger at morpheus dot net
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Depends on: dbus-glib, gtk

name=libnotify
version=0.4.5
release=1
source=(http://www.galago-project.org/files/releases/source/$name/$name-$version.tar.gz)

build() {
	cd $name-$version
	./configure --prefix=/usr
	make
	make DESTDIR=$PKG install
	rm -rf $PKG/usr/share
}

Added opt/libogg/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: Ogg bitstream and framing library
# URL:         http://www.xiph.org/ogg/
# Maintainer:  Tilman Sauerbeck, tilman at crux dot nu

name=libogg
version=1.2.2
release=1
source=(http://downloads.xiph.org/releases/ogg/$name-$version.tar.xz)

build() {
    cd $name-$version
    ./configure --prefix=/usr
    make
    make DESTDIR=$PKG install
    rm -rf $PKG/usr/share/doc
}

Added opt/liboil/Pkgfile.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Description: A library of simple functions optimized for various CPUs.
# URL: http://liboil.freedesktop.org/wiki/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Matt Housh, jaeger at morpheus dot net
# Depends on: glib

name=liboil
version=0.3.17
release=1
source=(http://liboil.freedesktop.org/download/$name-$version.tar.gz)

build() {
  cd $name-$version

  ./configure --prefix=/usr \
              --disable-static \
              --disable-gtk-doc
  
  make
  make check
  make DESTDIR=$PKG install
  rm -r $PKG/usr/share 
}

Added opt/libpcap/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: Packet capture library
# URL:         http://www.tcpdump.org
# Maintainer:  Juergen Daubert, jue at crux dot nu

name=libpcap
version=1.2.1
release=1
source=(http://www.tcpdump.org/release/$name-$version.tar.gz)

build () {
    cd $name-$version
    sed -i '/ln [^-][^s]/s/ln/ln -s/' Makefile.in
    ./configure --prefix=/usr --mandir=/usr/man
    make
    make DESTDIR=$PKG install install-shared
}

Added opt/libpng/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Library of PNG support functions.
# URL:         http://www.libpng.org
# Maintainer:  Tilman Sauerbeck, tilman at crux dot nu
# Depends on:  zlib

name=libpng
version=1.4.10
release=1
source=(http://download.sourceforge.net/$name/$name-$version.tar.xz)

build() {
    cd $name-$version

    ./configure --prefix=/usr --mandir=/usr/man

    make
    make DESTDIR=$PKG install
}

Added opt/libpth/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: The GNU Portable Threads library
# URL:         http://www.gnu.org/software/pth/
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    Simon Glossner, viper at hometux dot de

name=libpth
version=2.0.7
release=1
source=(ftp://ftp.gnu.org/gnu/pth/pth-$version.tar.gz)

build() {
    cd pth-$version

    ./configure --prefix=/usr
    make -j1
    make -j1 DESTDIR=$PKG install
}

Added opt/librsvg/Pkgfile.



















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# Description: SVG rendering library with cairo backend
# URL: http://librsvg.sourceforge.net/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Juergen Daubert, juergen dot daubert at t-online dot de
# Depends on: gtk libcroco

name=librsvg
version=2.34.1
release=2
source=(ftp://ftp.gnome.org/pub/gnome/sources/$name/${version%.*}/$name-$version.tar.xz)

build() {
  cd $name-$version

  ./configure --prefix=/usr \
              --mandir=/usr/man \
              --enable-croco \
              --enable-gtk-theme \
              --enable-pixbuf-loader \
              --disable-gtk-doc

  make
  make DESTDIR=$PKG install
  rm -r $PKG/usr/share/{gtk-doc,themes/bubble/gtk-3.0}
}

Added opt/librsvg/post-install.











>
>
>
>
>
1
2
3
4
5
#!/bin/sh

gdk-pixbuf-query-loaders > /usr/etc/gtk-2.0/gdk-pixbuf.loaders

# End of file

Added opt/librsync/Pkgfile.





















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# Description: Library for delta compression of streams
# URL: http://librsync.sourceforge.net/
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager: Simon Glossner, viper at hometux dot de
# Depends on: popt

name=librsync
version=0.9.7
release=2
source=(http://download.sourceforge.net/${name}/${name}-${version}.tar.gz
  librsync.patch)

build() {
    cd $name-$version

    patch -p1 < $SRC/librsync.patch

    ./configure \
  --prefix=/usr \
  --enable-shared
    make
    make DESTDIR=$PKG install

    rm -r $PKG/usr/man/man1
    rm -r $PKG/usr/bin
}

Added opt/librsync/librsync.patch.































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
diff -Nru librsync-0.9.7/mdfour.h librsync-0.9.7-new/mdfour.h
--- librsync-0.9.7/mdfour.h	2004-02-08 00:17:57.000000000 +0100
+++ librsync-0.9.7-new/mdfour.h	2007-07-26 21:50:26.000000000 +0200
@@ -24,7 +24,7 @@
 #include "types.h"
 
 struct rs_mdfour {
-    int                 A, B, C, D;
+    unsigned int        A, B, C, D;
 #if HAVE_UINT64
     uint64_t            totalN;
 #else
diff -Nru librsync-0.9.7/patch.c librsync-0.9.7-new/patch.c
--- librsync-0.9.7/patch.c	2004-09-17 23:35:50.000000000 +0200
+++ librsync-0.9.7-new/patch.c	2007-07-26 21:50:06.000000000 +0200
@@ -214,12 +214,12 @@
     void            *buf, *ptr;
     rs_buffers_t    *buffs = job->stream;
 
-    len = job->basis_len;
-    
     /* copy only as much as will fit in the output buffer, so that we
      * don't have to block or store the input. */
-    if (len > buffs->avail_out)
+    if (job->basis_len > buffs->avail_out)
         len = buffs->avail_out;
+    else
+        len = job->basis_len;
 
     if (!len)
         return RS_BLOCKED;

Added opt/libsdl/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: SDL, Simple DirectMedia Layer 
# URL: http://www.libsdl.org
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: sten, nick dot steeves at shaw dot ca
# Depends on: alsa-lib mesa3d

name=libsdl
version=1.2.15
release=1
source=(http://www.libsdl.org/release/SDL-$version.tar.gz)

build () {
  cd SDL-$version

  ./configure --prefix=/usr \
              --enable-alsa \
              --mandir=/usr/man
  make
  make DESTDIR=$PKG install
}

Added opt/libtheora/Pkgfile.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Description: A free and open video compression format from the Xiph.org Foundation.
# URL: http://www.theora.org/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Matt Housh, jaeger at crux dot nu
# Depends on: libvorbis

name=libtheora
version=1.1.1
release=1
source=(http://downloads.xiph.org/releases/theora/$name-$version.tar.xz)

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--mandir=/usr/man \
		--disable-examples

	make
	make DESTDIR=$PKG install
	rm -r $PKG/usr/share/doc
	rmdir $PKG/usr/share
}

Added opt/libtiff/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: Library for manipulation of TIFF (Tag Image File Format) images
# URL:         http://libtiff.maptools.org/
# Maintainer:  Tilman Sauerbeck, tilman at crux dot nu
# Depends on:  libjpeg, zlib

name=libtiff
version=3.9.5
release=1
source=(http://download.osgeo.org/libtiff/tiff-$version.tar.gz)

build() {
    cd tiff-$version
    ./configure --prefix=/usr --mandir=/usr/man
    make
    make DESTDIR=$PKG install
    rm -rf $PKG/usr/{bin,share,man/man1}
}

Added opt/libtirpc/Pkgfile.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Description: Transport Independent RPC library
# Maintainer:  Juergen Daubert, jue at crux dot nu
# URL:         http://nfsv4.bullopensource.org/doc/tirpc_rpcbind.php

name=libtirpc
version=0.2.2
release=3
source=(http://downloads.sourceforge.net/project/$name/$name/$version/$name-$version.tar.bz2)

build() {
    cd $name-$version

    # revert
    # http://git.infradead.org/users/steved/libtirpc.git/patch/9bdcba10aa67ce3f67810c7aaac944a00dcfcee5
    # because it breaks linking of other applications against libtirpc
    sed -i 's/des_crypt\.c//' src/Makefile.am
    aclocal
    automake

    ./configure --prefix=/usr --mandir=/usr/man 
    make
    make DESTDIR=$PKG install
}

Added opt/libtxc_dxtn/Pkgfile.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Description: Implementation of S3TC
# URL: http://people.freedesktop.org/~cbrill/libtxc_dxtn/
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu

name=libtxc_dxtn
version=1.0.0
release=1
source=(http://cgit.freedesktop.org/~mareko/libtxc_dxtn/snapshot/libtxc_dxtn-$version.tar.bz2)

build() {
	cd $name-$version

	make
	make DESTDIR=$PKG install
}

Added opt/libungif/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: An uncompressed GIF library compatible with giflib
# URL: http://libungif.sourceforge.net/doc/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Simone Rota, sip at crux dot nu
# Depends on:

name=libungif
version=4.1.4
release=1
source=(http://crux.nu/files/distfiles/$name-$version.tar.gz)

build() {
  cd $name-$version
  ./configure --prefix=/usr
  make
  make prefix=$PKG/usr install
  rm -rf $PKG/usr/bin
}

Added opt/libuninameslist/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description:  Unicode annotation data library.
# URL: http://libuninameslist.sourceforge.net/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Younes Hafri, ycrux at club-internet dot fr

name=libuninameslist
version=20091231
release=1
source=(http://downloads.sourceforge.net/project/$name/libuninameslist%20sources/Unicode_5.2-20091231/$name-$version.tar.bz2)

build() {
	cd $name

	./configure \
		--prefix=/usr \
		--disable-static

	make
	make DESTDIR=$PKG install
}

Added opt/libunique/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: Unique is a library for writing single instance application
# URL: http://live.gnome.org/LibUnique
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Jose V Beneyto, sepen at crux dot nu
# Depends on: gtk dbus-glib

name=libunique
version=1.1.6
release=1
source=(http://download.gnome.org/sources/$name/${version%.*}/$name-$version.tar.bz2)

build() {
  cd $name-$version
  ./configure --prefix=/usr \
              --enable-dbus=yes \
              --disable-static \
              --with-x
  make
  make DESTDIR=$PKG install
  rm -rf $PKG/usr/share/gtk-doc
}

Added opt/libvisual/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: An abstraction library that comes between applications and audio visualisation plugins.
# URL: http://sourceforge.net/apps/mediawiki/libvisual/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: sten, nick dot steeves at shaw dot ca

name=libvisual
version=0.4.0
release=1
source=(http://downloads.sourceforge.net/project/$name/$name/$name-$version/$name-$version.tar.bz2)

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--enable-extra-optimization

	make
	make DESTDIR=$PKG install
	rm -r $PKG/usr/share
}

Added opt/libvorbis/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Vorbis codec library
# URL:         http://www.xiph.org/ogg/vorbis/
# Maintainer:  Tilman Sauerbeck, tilman at crux dot nu
# Depends on:  libogg

name=libvorbis
version=1.3.2
release=2
source=(http://downloads.xiph.org/releases/vorbis/$name-$version.tar.bz2 $name.diff)

build() {
    cd $name-$version
    patch -p3 -i $SRC/$name.diff
    ./configure --prefix=/usr
    make
    make DESTDIR=$PKG install
    rm -rf $PKG/usr/share/doc
}

Added opt/libvorbis/libvorbis.diff.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Stolen from Mozilla, with minor adjustments.
# Author: Timothy B. Terriberry <tterribe@vt.edu>

diff --git a/media/libvorbis/lib/floor1.c b/media/libvorbis/lib/floor1.c
--- a/media/libvorbis/lib/floor1.c
+++ b/media/libvorbis/lib/floor1.c
@@ -162,16 +162,17 @@ static vorbis_info_floor *floor1_unpack 
 
   /* read the post list */
   info->mult=oggpack_read(opb,2)+1;     /* only 1,2,3,4 legal now */
   rangebits=oggpack_read(opb,4);
   if(rangebits<0)goto err_out;
 
   for(j=0,k=0;j<info->partitions;j++){
     count+=info->class_dim[info->partitionclass[j]];
+    if(count>VIF_POSIT) goto err_out;
     for(;k<count;k++){
       int t=info->postlist[k+2]=oggpack_read(opb,rangebits);
       if(t<0 || t>=(1<<rangebits))
         goto err_out;
     }
   }
   info->postlist[0]=0;
   info->postlist[1]=1<<rangebits;

Added opt/libwnck/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description: Window Navigator Construction Kit library
# URL: http://cvs.gnome.org/viewcvs/libwnck/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Matt Housh, jaeger at morpheus dot net
# Depends on: gtk startup-notification intltool

name=libwnck
version=2.31.0
release=1
source=(ftp://ftp.gnome.org/pub/gnome/sources/$name/${version%.*}/$name-$version.tar.xz)

build() {
  cd $name-$version
  rm po/*.po
  sed -i configure \
      -e 's/USE_NLS=yes/USE_NLS=no/' \
      -e 's/ENABLE_NLS 1/ENABLE_NLS 0/'
  ./configure --prefix=/usr
  make
  make DESTDIR=$PKG install
  rm -rf $PKG/usr/share
}

Added opt/libxklavier/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description: utility library for X keyboard-related projects
# URL: http://freedesktop.org/Software/LibXklavier
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Matt Housh, jaeger at morpheus dot net
# Depends on: libxml2 iso-codes xorg-libx11

name=libxklavier
version=5.2.1
release=1
source=(http://download.gnome.org/sources/$name/${version%.*}/$name-$version.tar.xz)

build() {
  cd $name-$version

  ./configure --prefix=/usr \
              --disable-static

  make
  make DESTDIR=$PKG install

  rm -rf $PKG/usr/share
}

Added opt/libxml2-python/CVE-2010-4494.patch.





























































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
From df83c17e5a2646bd923f75e5e507bc80d73c9722 Mon Sep 17 00:00:00 2001
From: Daniel Veillard <veillard@redhat.com>
Date: Wed, 17 Nov 2010 13:12:14 +0000
Subject: Fix a potential freeing error in XPath

---
diff --git a/xpath.c b/xpath.c
index 81e33f6..1447be5 100644
--- a/xpath.c
+++ b/xpath.c
@@ -11763,11 +11763,15 @@ xmlXPathCompOpEvalPositionalPredicate(xmlXPathParserContextPtr ctxt,
 
 	    if ((ctxt->error != XPATH_EXPRESSION_OK) || (res == -1)) {
 	        xmlXPathObjectPtr tmp;
-		/* pop the result */
+		/* pop the result if any */
 		tmp = valuePop(ctxt);
-		xmlXPathReleaseObject(xpctxt, tmp);
-		/* then pop off contextObj, which will be freed later */
-		valuePop(ctxt);
+                if (tmp != contextObj)
+                    /*
+                     * Free up the result
+                     * then pop off contextObj, which will be freed later
+                     */
+                    xmlXPathReleaseObject(xpctxt, tmp);
+                    valuePop(ctxt);
 		goto evaluation_error;
 	    }
 
--
cgit v0.9.0.2


From fec31bcd452e77c10579467ca87a785b41115de6 Mon Sep 17 00:00:00 2001
From: Daniel Veillard <veillard@redhat.com>
Date: Thu, 18 Nov 2010 10:07:24 +0000
Subject: Small fix for previous commit

---
diff --git a/xpath.c b/xpath.c
index 1447be5..8b56189 100644
--- a/xpath.c
+++ b/xpath.c
@@ -11765,13 +11765,14 @@ xmlXPathCompOpEvalPositionalPredicate(xmlXPathParserContextPtr ctxt,
 	        xmlXPathObjectPtr tmp;
 		/* pop the result if any */
 		tmp = valuePop(ctxt);
-                if (tmp != contextObj)
+                if (tmp != contextObj) {
                     /*
                      * Free up the result
                      * then pop off contextObj, which will be freed later
                      */
                     xmlXPathReleaseObject(xpctxt, tmp);
                     valuePop(ctxt);
+                }
 		goto evaluation_error;
 	    }
 
--
cgit v0.9.0.2

Added opt/libxml2-python/CVE-2011-0216.patch.

































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
From 69f04562f75212bfcabecd190ea8b06ace28ece2 Mon Sep 17 00:00:00 2001
From: Daniel Veillard <veillard@redhat.com>
Date: Fri, 19 Aug 2011 03:05:04 +0000
Subject: Fix an off by one error in encoding

this off by one error doesn't seems to reproduce on linux
but the error is real.
---
diff --git a/encoding.c b/encoding.c
index d1140bf..fb0c38a 100644
--- a/encoding.c
+++ b/encoding.c
@@ -1928,7 +1928,7 @@ xmlCharEncFirstLineInt(xmlCharEncodingHandler *handler, xmlBufferPtr out,
     if (in == NULL) return(-1);
 
     /* calculate space available */
-    written = out->size - out->use;
+    written = out->size - out->use - 1; /* count '\0' */
     toconv = in->use;
     /*
      * echo '<?xml version="1.0" encoding="UCS4"?>' | wc -c => 38
@@ -2059,7 +2059,7 @@ xmlCharEncInFunc(xmlCharEncodingHandler * handler, xmlBufferPtr out,
     toconv = in->use;
     if (toconv == 0)
         return (0);
-    written = out->size - out->use;
+    written = out->size - out->use -1; /* count '\0' */
     if (toconv * 2 >= written) {
         xmlBufferGrow(out, out->size + toconv * 2);
         written = out->size - out->use - 1;
--
cgit v0.9.0.2

Added opt/libxml2-python/CVE-2011-2821.patch.

































































































































































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
From f5048b3e71fc30ad096970b8df6e7af073bae4cb Mon Sep 17 00:00:00 2001
From: Daniel Veillard <veillard@redhat.com>
Date: Thu, 18 Aug 2011 09:10:13 +0000
Subject: Hardening of XPath evaluation

Add a mechanism of frame for XPath evaluation when entering a function
or a scoped evaluation, also fix a potential problem in predicate
evaluation.
---
diff --git a/include/libxml/xpath.h b/include/libxml/xpath.h
index 1a9e30e..ddd9dd8 100644
--- a/include/libxml/xpath.h
+++ b/include/libxml/xpath.h
@@ -68,7 +68,8 @@ typedef enum {
     XPATH_UNDEF_PREFIX_ERROR,
     XPATH_ENCODING_ERROR,
     XPATH_INVALID_CHAR_ERROR,
-    XPATH_INVALID_CTXT
+    XPATH_INVALID_CTXT,
+    XPATH_STACK_ERROR
 } xmlXPathError;
 
 /*
@@ -380,6 +381,8 @@ struct _xmlXPathParserContext {
     xmlXPathCompExprPtr comp;		/* the precompiled expression */
     int xptr;				/* it this an XPointer expression */
     xmlNodePtr         ancestor;	/* used for walking preceding axis */
+
+    int              valueFrame;        /* used to limit Pop on the stack */
 };
 
 /************************************************************************
diff --git a/xpath.c b/xpath.c
index b59ac5a..bcee2ea 100644
--- a/xpath.c
+++ b/xpath.c
@@ -252,6 +252,7 @@ static const char *xmlXPathErrorMessages[] = {
     "Encoding error\n",
     "Char out of XML range\n",
     "Invalid or incomplete context\n",
+    "Stack usage errror\n",
     "?? Unknown error ??\n"	/* Must be last in the list! */
 };
 #define MAXERRNO ((int)(sizeof(xmlXPathErrorMessages) /	\
@@ -2398,6 +2399,42 @@ xmlXPathCacheConvertNumber(xmlXPathContextPtr ctxt, xmlXPathObjectPtr val) {
  ************************************************************************/
 
 /**
+ * xmlXPathSetFrame:
+ * @ctxt: an XPath parser context
+ *
+ * Set the callee evaluation frame
+ *
+ * Returns the previous frame value to be restored once done
+ */
+static int
+xmlXPathSetFrame(xmlXPathParserContextPtr ctxt) {
+    int ret;
+
+    if (ctxt == NULL)
+        return(0);
+    ret = ctxt->valueFrame;
+    ctxt->valueFrame = ctxt->valueNr;
+    return(ret);
+}
+
+/**
+ * xmlXPathPopFrame:
+ * @ctxt: an XPath parser context
+ * @frame: the previous frame value
+ *
+ * Remove the callee evaluation frame
+ */
+static void
+xmlXPathPopFrame(xmlXPathParserContextPtr ctxt, int frame) {
+    if (ctxt == NULL)
+        return;
+    if (ctxt->valueNr < ctxt->valueFrame) {
+        xmlXPatherror(ctxt, __FILE__, __LINE__, XPATH_STACK_ERROR);
+    }
+    ctxt->valueFrame = frame;
+}
+
+/**
  * valuePop:
  * @ctxt: an XPath evaluation context
  *
@@ -2412,6 +2449,12 @@ valuePop(xmlXPathParserContextPtr ctxt)
 
     if ((ctxt == NULL) || (ctxt->valueNr <= 0))
         return (NULL);
+
+    if (ctxt->valueNr <= ctxt->valueFrame) {
+        xmlXPatherror(ctxt, __FILE__, __LINE__, XPATH_STACK_ERROR);
+        return (NULL);
+    }
+
     ctxt->valueNr--;
     if (ctxt->valueNr > 0)
         ctxt->value = ctxt->valueTab[ctxt->valueNr - 1];
@@ -6154,6 +6197,7 @@ xmlXPathCompParserContext(xmlXPathCompExprPtr comp, xmlXPathContextPtr ctxt) {
     ret->valueNr = 0;
     ret->valueMax = 10;
     ret->value = NULL;
+    ret->valueFrame = 0;
 
     ret->context = ctxt;
     ret->comp = comp;
@@ -11711,6 +11755,7 @@ xmlXPathCompOpEvalPositionalPredicate(xmlXPathParserContextPtr ctxt,
 	xmlXPathObjectPtr contextObj = NULL, exprRes = NULL;
 	xmlNodePtr oldContextNode, contextNode = NULL;
 	xmlXPathContextPtr xpctxt = ctxt->context;
+        int frame;
 
 #ifdef LIBXML_XPTR_ENABLED
 	    /*
@@ -11730,6 +11775,8 @@ xmlXPathCompOpEvalPositionalPredicate(xmlXPathParserContextPtr ctxt,
 	*/
 	exprOp = &ctxt->comp->steps[op->ch2];
 	for (i = 0; i < set->nodeNr; i++) {
+            xmlXPathObjectPtr tmp;
+
 	    if (set->nodeTab[i] == NULL)
 		continue;
 
@@ -11757,23 +11804,25 @@ xmlXPathCompOpEvalPositionalPredicate(xmlXPathParserContextPtr ctxt,
 		xmlXPathNodeSetAddUnique(contextObj->nodesetval,
 		    contextNode);
 
+            frame = xmlXPathSetFrame(ctxt);
 	    valuePush(ctxt, contextObj);
 	    res = xmlXPathCompOpEvalToBoolean(ctxt, exprOp, 1);
+            tmp = valuePop(ctxt);
+            xmlXPathPopFrame(ctxt, frame);
 
 	    if ((ctxt->error != XPATH_EXPRESSION_OK) || (res == -1)) {
-	        xmlXPathObjectPtr tmp;
-		/* pop the result if any */
-		tmp = valuePop(ctxt);
-                if (tmp != contextObj) {
+                while (tmp != contextObj) {
                     /*
                      * Free up the result
                      * then pop off contextObj, which will be freed later
                      */
                     xmlXPathReleaseObject(xpctxt, tmp);
-                    valuePop(ctxt);
+                    tmp = valuePop(ctxt);
                 }
 		goto evaluation_error;
 	    }
+            /* push the result back onto the stack */
+            valuePush(ctxt, tmp);
 
 	    if (res)
 		pos++;
@@ -13377,7 +13426,9 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op)
                 xmlXPathFunction func;
                 const xmlChar *oldFunc, *oldFuncURI;
 		int i;
+                int frame;
 
+                frame = xmlXPathSetFrame(ctxt);
                 if (op->ch1 != -1)
                     total +=
                         xmlXPathCompOpEval(ctxt, &comp->steps[op->ch1]);
@@ -13385,15 +13436,18 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op)
 		    xmlGenericError(xmlGenericErrorContext,
 			    "xmlXPathCompOpEval: parameter error\n");
 		    ctxt->error = XPATH_INVALID_OPERAND;
+                    xmlXPathPopFrame(ctxt, frame);
 		    return (total);
 		}
-		for (i = 0; i < op->value; i++)
+		for (i = 0; i < op->value; i++) {
 		    if (ctxt->valueTab[(ctxt->valueNr - 1) - i] == NULL) {
 			xmlGenericError(xmlGenericErrorContext,
 				"xmlXPathCompOpEval: parameter error\n");
 			ctxt->error = XPATH_INVALID_OPERAND;
+                        xmlXPathPopFrame(ctxt, frame);
 			return (total);
 		    }
+                }
                 if (op->cache != NULL)
                     XML_CAST_FPTR(func) = op->cache;
                 else {
@@ -13409,6 +13463,7 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op)
                             xmlGenericError(xmlGenericErrorContext,
             "xmlXPathCompOpEval: function %s bound to undefined prefix %s\n",
                                     (char *)op->value4, (char *)op->value5);
+                            xmlXPathPopFrame(ctxt, frame);
                             return (total);
                         }
                         func = xmlXPathFunctionLookupNS(ctxt->context,
@@ -13430,6 +13485,7 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op)
                 func(ctxt, op->value);
                 ctxt->context->function = oldFunc;
                 ctxt->context->functionURI = oldFuncURI;
+                xmlXPathPopFrame(ctxt, frame);
                 return (total);
             }
         case XPATH_OP_ARG:
@@ -14333,6 +14389,7 @@ xmlXPathRunEval(xmlXPathParserContextPtr ctxt, int toBool)
 	ctxt->valueNr = 0;
 	ctxt->valueMax = 10;
 	ctxt->value = NULL;
+        ctxt->valueFrame = 0;
     }
 #ifdef XPATH_STREAMING
     if (ctxt->comp->stream) {
diff --git a/xpointer.c b/xpointer.c
index 7a42d02..37afa3a 100644
--- a/xpointer.c
+++ b/xpointer.c
@@ -1269,6 +1269,7 @@ xmlXPtrEvalXPointer(xmlXPathParserContextPtr ctxt) {
 	ctxt->valueNr = 0;
 	ctxt->valueMax = 10;
 	ctxt->value = NULL;
+	ctxt->valueFrame = 0;
     }
     SKIP_BLANKS;
     if (CUR == '/') {
--
cgit v0.9.0.2

Added opt/libxml2-python/CVE-2011-2834.patch.





























































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
From 1d4526f6f4ec8d18c40e2a09b387652a6c1aa2cd Mon Sep 17 00:00:00 2001
From: Daniel Veillard <veillard@redhat.com>
Date: Tue, 11 Oct 2011 08:34:34 +0000
Subject: Fix missing error status in XPath evaluation

Started by Chris Evans, I added a few more place where the
error should have been set in the evaluation context.
---
diff --git a/xpath.c b/xpath.c
index bcee2ea..d9d902c 100644
--- a/xpath.c
+++ b/xpath.c
@@ -2485,6 +2485,7 @@ valuePush(xmlXPathParserContextPtr ctxt, xmlXPathObjectPtr value)
                                              sizeof(ctxt->valueTab[0]));
         if (tmp == NULL) {
             xmlGenericError(xmlGenericErrorContext, "realloc failed !\n");
+            ctxt->error = XPATH_MEMORY_ERROR;
             return (0);
         }
         ctxt->valueMax *= 2;
@@ -9340,6 +9341,7 @@ xmlXPathTranslateFunction(xmlXPathParserContextPtr ctxt, int nargs) {
 		if ( (ch & 0xc0) != 0xc0 ) {
 		    xmlGenericError(xmlGenericErrorContext,
 			"xmlXPathTranslateFunction: Invalid UTF8 string\n");
+                    /* not asserting an XPath error is probably better */
 		    break;
 		}
 		/* then skip over remaining bytes for this char */
@@ -9347,6 +9349,7 @@ xmlXPathTranslateFunction(xmlXPathParserContextPtr ctxt, int nargs) {
 		    if ( (*cptr++ & 0xc0) != 0x80 ) {
 			xmlGenericError(xmlGenericErrorContext,
 			    "xmlXPathTranslateFunction: Invalid UTF8 string\n");
+                        /* not asserting an XPath error is probably better */
 			break;
 		    }
 		if (ch & 0x80) /* must have had error encountered */
@@ -13410,6 +13413,7 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op)
                         xmlGenericError(xmlGenericErrorContext,
             "xmlXPathCompOpEval: variable %s bound to undefined prefix %s\n",
                                     (char *) op->value4, (char *)op->value5);
+                        ctxt->error = XPATH_UNDEF_PREFIX_ERROR;
                         return (total);
                     }
 		    val = xmlXPathVariableLookupNS(ctxt->context,
@@ -13464,6 +13468,7 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op)
             "xmlXPathCompOpEval: function %s bound to undefined prefix %s\n",
                                     (char *)op->value4, (char *)op->value5);
                             xmlXPathPopFrame(ctxt, frame);
+                            ctxt->error = XPATH_UNDEF_PREFIX_ERROR;
                             return (total);
                         }
                         func = xmlXPathFunctionLookupNS(ctxt->context,
@@ -14042,6 +14047,7 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op)
     }
     xmlGenericError(xmlGenericErrorContext,
                     "XPath: unknown precompiled operation %d\n", op->op);
+    ctxt->error = XPATH_INVALID_OPERAND;
     return (total);
 }
 
--
cgit v0.9.0.2

Added opt/libxml2-python/CVE-2011-3905.patch.





























































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
From 77404b8b69bc122d12231807abf1a837d121b551 Mon Sep 17 00:00:00 2001
From: Chris Evans <scarybeasts@gmail.com>
Date: Wed, 14 Dec 2011 08:18:25 +0000
Subject: Make sure the parser returns when getting a Stop order

patch backported from chromiun bug fixes, assuming author is Chris
---
diff --git a/parser.c b/parser.c
index 21d7aa3..4e5dcb9 100644
--- a/parser.c
+++ b/parser.c
@@ -4949,7 +4949,8 @@ xmlParsePI(xmlParserCtxtPtr ctxt) {
 		    (ctxt->sax->processingInstruction != NULL))
 		    ctxt->sax->processingInstruction(ctxt->userData,
 		                                     target, NULL);
-		ctxt->instate = state;
+		if (ctxt->instate != XML_PARSER_EOF)
+		    ctxt->instate = state;
 		return;
 	    }
 	    buf = (xmlChar *) xmlMallocAtomic(size * sizeof(xmlChar));
@@ -5029,7 +5030,8 @@ xmlParsePI(xmlParserCtxtPtr ctxt) {
 	} else {
 	    xmlFatalErr(ctxt, XML_ERR_PI_NOT_STARTED, NULL);
 	}
-	ctxt->instate = state;
+	if (ctxt->instate != XML_PARSER_EOF)
+	    ctxt->instate = state;
     }
 }
 
@@ -9589,6 +9591,8 @@ xmlParseElement(xmlParserCtxtPtr ctxt) {
     else
 	name = xmlParseStartTag(ctxt);
 #endif /* LIBXML_SAX1_ENABLED */
+    if (ctxt->instate == XML_PARSER_EOF)
+	return;
     if (name == NULL) {
 	spacePop(ctxt);
         return;
@@ -10975,6 +10979,8 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
 		else
 		    name = xmlParseStartTag(ctxt);
 #endif /* LIBXML_SAX1_ENABLED */
+		if (ctxt->instate == XML_PARSER_EOF)
+		    goto done;
 		if (name == NULL) {
 		    spacePop(ctxt);
 		    ctxt->instate = XML_PARSER_EOF;
@@ -11161,7 +11167,9 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
 		  else
 		    xmlParseEndTag1(ctxt, 0);
 #endif /* LIBXML_SAX1_ENABLED */
-		if (ctxt->nameNr == 0) {
+		if (ctxt->instate == XML_PARSER_EOF) {
+		    /* Nothing */
+		} else if (ctxt->nameNr == 0) {
 		    ctxt->instate = XML_PARSER_EPILOG;
 		} else {
 		    ctxt->instate = XML_PARSER_CONTENT;
--
cgit v0.9.0.2

Added opt/libxml2-python/CVE-2011-3919.patch.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
From 5bd3c061823a8499b27422aee04ea20aae24f03e Mon Sep 17 00:00:00 2001
From: Daniel Veillard <veillard@redhat.com>
Date: Fri, 16 Dec 2011 10:53:35 +0000
Subject: Fix an allocation error when copying entities

---
diff --git a/parser.c b/parser.c
index 4e5dcb9..c55e41d 100644
--- a/parser.c
+++ b/parser.c
@@ -2709,7 +2709,7 @@ xmlStringLenDecodeEntities(xmlParserCtxtPtr ctxt, const xmlChar *str, int len,
 
 		buffer[nbchars++] = '&';
 		if (nbchars > buffer_size - i - XML_PARSER_BUFFER_SIZE) {
-		    growBuffer(buffer, XML_PARSER_BUFFER_SIZE);
+		    growBuffer(buffer, i + XML_PARSER_BUFFER_SIZE);
 		}
 		for (;i > 0;i--)
 		    buffer[nbchars++] = *cur++;
--
cgit v0.9.0.2

Added opt/libxml2-python/Pkgfile.































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# Description: Python bindings for the XML library version 2
# URL:         http://xmlsoft.org/
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  python libxml2

name=libxml2-python
version=2.7.8
release=2
source=(ftp://xmlsoft.org/libxml2/libxml2-$version.tar.gz \
        CVE-2010-4494.patch
        CVE-2011-{0216,2821,2834,3905,3919}.patch
        $name-config.patch)

build () {
    cd libxml2-$version
    
    cat $SRC/CVE-201?-*.patch | patch -p1

    # http://mail.gnome.org/archives/xml/2010-November/msg00016.html
    sed -i '/VERSION_SCRIPT_FLAGS/s/-z/-n/' configure
    
    patch -p1 -i $SRC/$name-config.patch
    
    ./configure --prefix=/usr
    cd python
    make
    make DESTDIR=$PKG install
    
    rm $PKG/usr/lib/python2.7/site-packages/libxml2mod.{a,la}
    rm -r $PKG/usr/share
}

Added opt/libxml2-python/libxml2-python-config.patch.

























>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
diff -Nru libxml2-2.7.0.orig/python/Makefile.in libxml2-2.7.0/python/Makefile.in
--- libxml2-2.7.0.orig/python/Makefile.in	2008-08-31 11:55:30.000000000 +0200
+++ libxml2-2.7.0/python/Makefile.in	2008-08-31 11:55:42.000000000 +0200
@@ -335,7 +335,7 @@
 
 libxml2mod_la_LDFLAGS = @CYGWIN_EXTRA_LDFLAGS@ @WIN32_EXTRA_LDFLAGS@ -module -avoid-version 
 @WITH_PYTHON_TRUE@mylibs = \
-@WITH_PYTHON_TRUE@	$(top_builddir)/libxml2.la
+@WITH_PYTHON_TRUE@	$(libdir)/libxml2.la
 
 @WITH_PYTHON_TRUE@python_LTLIBRARIES = libxml2mod.la
 @WITH_PYTHON_TRUE@libxml2mod_la_SOURCES = libxml.c types.c

Added opt/libxml2/CVE-2010-4494.patch.





























































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
From df83c17e5a2646bd923f75e5e507bc80d73c9722 Mon Sep 17 00:00:00 2001
From: Daniel Veillard <veillard@redhat.com>
Date: Wed, 17 Nov 2010 13:12:14 +0000
Subject: Fix a potential freeing error in XPath

---
diff --git a/xpath.c b/xpath.c
index 81e33f6..1447be5 100644
--- a/xpath.c
+++ b/xpath.c
@@ -11763,11 +11763,15 @@ xmlXPathCompOpEvalPositionalPredicate(xmlXPathParserContextPtr ctxt,
 
 	    if ((ctxt->error != XPATH_EXPRESSION_OK) || (res == -1)) {
 	        xmlXPathObjectPtr tmp;
-		/* pop the result */
+		/* pop the result if any */
 		tmp = valuePop(ctxt);
-		xmlXPathReleaseObject(xpctxt, tmp);
-		/* then pop off contextObj, which will be freed later */
-		valuePop(ctxt);
+                if (tmp != contextObj)
+                    /*
+                     * Free up the result
+                     * then pop off contextObj, which will be freed later
+                     */
+                    xmlXPathReleaseObject(xpctxt, tmp);
+                    valuePop(ctxt);
 		goto evaluation_error;
 	    }
 
--
cgit v0.9.0.2


From fec31bcd452e77c10579467ca87a785b41115de6 Mon Sep 17 00:00:00 2001
From: Daniel Veillard <veillard@redhat.com>
Date: Thu, 18 Nov 2010 10:07:24 +0000
Subject: Small fix for previous commit

---
diff --git a/xpath.c b/xpath.c
index 1447be5..8b56189 100644
--- a/xpath.c
+++ b/xpath.c
@@ -11765,13 +11765,14 @@ xmlXPathCompOpEvalPositionalPredicate(xmlXPathParserContextPtr ctxt,
 	        xmlXPathObjectPtr tmp;
 		/* pop the result if any */
 		tmp = valuePop(ctxt);
-                if (tmp != contextObj)
+                if (tmp != contextObj) {
                     /*
                      * Free up the result
                      * then pop off contextObj, which will be freed later
                      */
                     xmlXPathReleaseObject(xpctxt, tmp);
                     valuePop(ctxt);
+                }
 		goto evaluation_error;
 	    }
 
--
cgit v0.9.0.2

Added opt/libxml2/CVE-2011-0216.patch.

































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
From 69f04562f75212bfcabecd190ea8b06ace28ece2 Mon Sep 17 00:00:00 2001
From: Daniel Veillard <veillard@redhat.com>
Date: Fri, 19 Aug 2011 03:05:04 +0000
Subject: Fix an off by one error in encoding

this off by one error doesn't seems to reproduce on linux
but the error is real.
---
diff --git a/encoding.c b/encoding.c
index d1140bf..fb0c38a 100644
--- a/encoding.c
+++ b/encoding.c
@@ -1928,7 +1928,7 @@ xmlCharEncFirstLineInt(xmlCharEncodingHandler *handler, xmlBufferPtr out,
     if (in == NULL) return(-1);
 
     /* calculate space available */
-    written = out->size - out->use;
+    written = out->size - out->use - 1; /* count '\0' */
     toconv = in->use;
     /*
      * echo '<?xml version="1.0" encoding="UCS4"?>' | wc -c => 38
@@ -2059,7 +2059,7 @@ xmlCharEncInFunc(xmlCharEncodingHandler * handler, xmlBufferPtr out,
     toconv = in->use;
     if (toconv == 0)
         return (0);
-    written = out->size - out->use;
+    written = out->size - out->use -1; /* count '\0' */
     if (toconv * 2 >= written) {
         xmlBufferGrow(out, out->size + toconv * 2);
         written = out->size - out->use - 1;
--
cgit v0.9.0.2

Added opt/libxml2/CVE-2011-2821.patch.

































































































































































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
From f5048b3e71fc30ad096970b8df6e7af073bae4cb Mon Sep 17 00:00:00 2001
From: Daniel Veillard <veillard@redhat.com>
Date: Thu, 18 Aug 2011 09:10:13 +0000
Subject: Hardening of XPath evaluation

Add a mechanism of frame for XPath evaluation when entering a function
or a scoped evaluation, also fix a potential problem in predicate
evaluation.
---
diff --git a/include/libxml/xpath.h b/include/libxml/xpath.h
index 1a9e30e..ddd9dd8 100644
--- a/include/libxml/xpath.h
+++ b/include/libxml/xpath.h
@@ -68,7 +68,8 @@ typedef enum {
     XPATH_UNDEF_PREFIX_ERROR,
     XPATH_ENCODING_ERROR,
     XPATH_INVALID_CHAR_ERROR,
-    XPATH_INVALID_CTXT
+    XPATH_INVALID_CTXT,
+    XPATH_STACK_ERROR
 } xmlXPathError;
 
 /*
@@ -380,6 +381,8 @@ struct _xmlXPathParserContext {
     xmlXPathCompExprPtr comp;		/* the precompiled expression */
     int xptr;				/* it this an XPointer expression */
     xmlNodePtr         ancestor;	/* used for walking preceding axis */
+
+    int              valueFrame;        /* used to limit Pop on the stack */
 };
 
 /************************************************************************
diff --git a/xpath.c b/xpath.c
index b59ac5a..bcee2ea 100644
--- a/xpath.c
+++ b/xpath.c
@@ -252,6 +252,7 @@ static const char *xmlXPathErrorMessages[] = {
     "Encoding error\n",
     "Char out of XML range\n",
     "Invalid or incomplete context\n",
+    "Stack usage errror\n",
     "?? Unknown error ??\n"	/* Must be last in the list! */
 };
 #define MAXERRNO ((int)(sizeof(xmlXPathErrorMessages) /	\
@@ -2398,6 +2399,42 @@ xmlXPathCacheConvertNumber(xmlXPathContextPtr ctxt, xmlXPathObjectPtr val) {
  ************************************************************************/
 
 /**
+ * xmlXPathSetFrame:
+ * @ctxt: an XPath parser context
+ *
+ * Set the callee evaluation frame
+ *
+ * Returns the previous frame value to be restored once done
+ */
+static int
+xmlXPathSetFrame(xmlXPathParserContextPtr ctxt) {
+    int ret;
+
+    if (ctxt == NULL)
+        return(0);
+    ret = ctxt->valueFrame;
+    ctxt->valueFrame = ctxt->valueNr;
+    return(ret);
+}
+
+/**
+ * xmlXPathPopFrame:
+ * @ctxt: an XPath parser context
+ * @frame: the previous frame value
+ *
+ * Remove the callee evaluation frame
+ */
+static void
+xmlXPathPopFrame(xmlXPathParserContextPtr ctxt, int frame) {
+    if (ctxt == NULL)
+        return;
+    if (ctxt->valueNr < ctxt->valueFrame) {
+        xmlXPatherror(ctxt, __FILE__, __LINE__, XPATH_STACK_ERROR);
+    }
+    ctxt->valueFrame = frame;
+}
+
+/**
  * valuePop:
  * @ctxt: an XPath evaluation context
  *
@@ -2412,6 +2449,12 @@ valuePop(xmlXPathParserContextPtr ctxt)
 
     if ((ctxt == NULL) || (ctxt->valueNr <= 0))
         return (NULL);
+
+    if (ctxt->valueNr <= ctxt->valueFrame) {
+        xmlXPatherror(ctxt, __FILE__, __LINE__, XPATH_STACK_ERROR);
+        return (NULL);
+    }
+
     ctxt->valueNr--;
     if (ctxt->valueNr > 0)
         ctxt->value = ctxt->valueTab[ctxt->valueNr - 1];
@@ -6154,6 +6197,7 @@ xmlXPathCompParserContext(xmlXPathCompExprPtr comp, xmlXPathContextPtr ctxt) {
     ret->valueNr = 0;
     ret->valueMax = 10;
     ret->value = NULL;
+    ret->valueFrame = 0;
 
     ret->context = ctxt;
     ret->comp = comp;
@@ -11711,6 +11755,7 @@ xmlXPathCompOpEvalPositionalPredicate(xmlXPathParserContextPtr ctxt,
 	xmlXPathObjectPtr contextObj = NULL, exprRes = NULL;
 	xmlNodePtr oldContextNode, contextNode = NULL;
 	xmlXPathContextPtr xpctxt = ctxt->context;
+        int frame;
 
 #ifdef LIBXML_XPTR_ENABLED
 	    /*
@@ -11730,6 +11775,8 @@ xmlXPathCompOpEvalPositionalPredicate(xmlXPathParserContextPtr ctxt,
 	*/
 	exprOp = &ctxt->comp->steps[op->ch2];
 	for (i = 0; i < set->nodeNr; i++) {
+            xmlXPathObjectPtr tmp;
+
 	    if (set->nodeTab[i] == NULL)
 		continue;
 
@@ -11757,23 +11804,25 @@ xmlXPathCompOpEvalPositionalPredicate(xmlXPathParserContextPtr ctxt,
 		xmlXPathNodeSetAddUnique(contextObj->nodesetval,
 		    contextNode);
 
+            frame = xmlXPathSetFrame(ctxt);
 	    valuePush(ctxt, contextObj);
 	    res = xmlXPathCompOpEvalToBoolean(ctxt, exprOp, 1);
+            tmp = valuePop(ctxt);
+            xmlXPathPopFrame(ctxt, frame);
 
 	    if ((ctxt->error != XPATH_EXPRESSION_OK) || (res == -1)) {
-	        xmlXPathObjectPtr tmp;
-		/* pop the result if any */
-		tmp = valuePop(ctxt);
-                if (tmp != contextObj) {
+                while (tmp != contextObj) {
                     /*
                      * Free up the result
                      * then pop off contextObj, which will be freed later
                      */
                     xmlXPathReleaseObject(xpctxt, tmp);
-                    valuePop(ctxt);
+                    tmp = valuePop(ctxt);
                 }
 		goto evaluation_error;
 	    }
+            /* push the result back onto the stack */
+            valuePush(ctxt, tmp);
 
 	    if (res)
 		pos++;
@@ -13377,7 +13426,9 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op)
                 xmlXPathFunction func;
                 const xmlChar *oldFunc, *oldFuncURI;
 		int i;
+                int frame;
 
+                frame = xmlXPathSetFrame(ctxt);
                 if (op->ch1 != -1)
                     total +=
                         xmlXPathCompOpEval(ctxt, &comp->steps[op->ch1]);
@@ -13385,15 +13436,18 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op)
 		    xmlGenericError(xmlGenericErrorContext,
 			    "xmlXPathCompOpEval: parameter error\n");
 		    ctxt->error = XPATH_INVALID_OPERAND;
+                    xmlXPathPopFrame(ctxt, frame);
 		    return (total);
 		}
-		for (i = 0; i < op->value; i++)
+		for (i = 0; i < op->value; i++) {
 		    if (ctxt->valueTab[(ctxt->valueNr - 1) - i] == NULL) {
 			xmlGenericError(xmlGenericErrorContext,
 				"xmlXPathCompOpEval: parameter error\n");
 			ctxt->error = XPATH_INVALID_OPERAND;
+                        xmlXPathPopFrame(ctxt, frame);
 			return (total);
 		    }
+                }
                 if (op->cache != NULL)
                     XML_CAST_FPTR(func) = op->cache;
                 else {
@@ -13409,6 +13463,7 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op)
                             xmlGenericError(xmlGenericErrorContext,
             "xmlXPathCompOpEval: function %s bound to undefined prefix %s\n",
                                     (char *)op->value4, (char *)op->value5);
+                            xmlXPathPopFrame(ctxt, frame);
                             return (total);
                         }
                         func = xmlXPathFunctionLookupNS(ctxt->context,
@@ -13430,6 +13485,7 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op)
                 func(ctxt, op->value);
                 ctxt->context->function = oldFunc;
                 ctxt->context->functionURI = oldFuncURI;
+                xmlXPathPopFrame(ctxt, frame);
                 return (total);
             }
         case XPATH_OP_ARG:
@@ -14333,6 +14389,7 @@ xmlXPathRunEval(xmlXPathParserContextPtr ctxt, int toBool)
 	ctxt->valueNr = 0;
 	ctxt->valueMax = 10;
 	ctxt->value = NULL;
+        ctxt->valueFrame = 0;
     }
 #ifdef XPATH_STREAMING
     if (ctxt->comp->stream) {
diff --git a/xpointer.c b/xpointer.c
index 7a42d02..37afa3a 100644
--- a/xpointer.c
+++ b/xpointer.c
@@ -1269,6 +1269,7 @@ xmlXPtrEvalXPointer(xmlXPathParserContextPtr ctxt) {
 	ctxt->valueNr = 0;
 	ctxt->valueMax = 10;
 	ctxt->value = NULL;
+	ctxt->valueFrame = 0;
     }
     SKIP_BLANKS;
     if (CUR == '/') {
--
cgit v0.9.0.2

Added opt/libxml2/CVE-2011-2834.patch.





























































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
From 1d4526f6f4ec8d18c40e2a09b387652a6c1aa2cd Mon Sep 17 00:00:00 2001
From: Daniel Veillard <veillard@redhat.com>
Date: Tue, 11 Oct 2011 08:34:34 +0000
Subject: Fix missing error status in XPath evaluation

Started by Chris Evans, I added a few more place where the
error should have been set in the evaluation context.
---
diff --git a/xpath.c b/xpath.c
index bcee2ea..d9d902c 100644
--- a/xpath.c
+++ b/xpath.c
@@ -2485,6 +2485,7 @@ valuePush(xmlXPathParserContextPtr ctxt, xmlXPathObjectPtr value)
                                              sizeof(ctxt->valueTab[0]));
         if (tmp == NULL) {
             xmlGenericError(xmlGenericErrorContext, "realloc failed !\n");
+            ctxt->error = XPATH_MEMORY_ERROR;
             return (0);
         }
         ctxt->valueMax *= 2;
@@ -9340,6 +9341,7 @@ xmlXPathTranslateFunction(xmlXPathParserContextPtr ctxt, int nargs) {
 		if ( (ch & 0xc0) != 0xc0 ) {
 		    xmlGenericError(xmlGenericErrorContext,
 			"xmlXPathTranslateFunction: Invalid UTF8 string\n");
+                    /* not asserting an XPath error is probably better */
 		    break;
 		}
 		/* then skip over remaining bytes for this char */
@@ -9347,6 +9349,7 @@ xmlXPathTranslateFunction(xmlXPathParserContextPtr ctxt, int nargs) {
 		    if ( (*cptr++ & 0xc0) != 0x80 ) {
 			xmlGenericError(xmlGenericErrorContext,
 			    "xmlXPathTranslateFunction: Invalid UTF8 string\n");
+                        /* not asserting an XPath error is probably better */
 			break;
 		    }
 		if (ch & 0x80) /* must have had error encountered */
@@ -13410,6 +13413,7 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op)
                         xmlGenericError(xmlGenericErrorContext,
             "xmlXPathCompOpEval: variable %s bound to undefined prefix %s\n",
                                     (char *) op->value4, (char *)op->value5);
+                        ctxt->error = XPATH_UNDEF_PREFIX_ERROR;
                         return (total);
                     }
 		    val = xmlXPathVariableLookupNS(ctxt->context,
@@ -13464,6 +13468,7 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op)
             "xmlXPathCompOpEval: function %s bound to undefined prefix %s\n",
                                     (char *)op->value4, (char *)op->value5);
                             xmlXPathPopFrame(ctxt, frame);
+                            ctxt->error = XPATH_UNDEF_PREFIX_ERROR;
                             return (total);
                         }
                         func = xmlXPathFunctionLookupNS(ctxt->context,
@@ -14042,6 +14047,7 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op)
     }
     xmlGenericError(xmlGenericErrorContext,
                     "XPath: unknown precompiled operation %d\n", op->op);
+    ctxt->error = XPATH_INVALID_OPERAND;
     return (total);
 }
 
--
cgit v0.9.0.2

Added opt/libxml2/CVE-2011-3905.patch.





























































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
From 77404b8b69bc122d12231807abf1a837d121b551 Mon Sep 17 00:00:00 2001
From: Chris Evans <scarybeasts@gmail.com>
Date: Wed, 14 Dec 2011 08:18:25 +0000
Subject: Make sure the parser returns when getting a Stop order

patch backported from chromiun bug fixes, assuming author is Chris
---
diff --git a/parser.c b/parser.c
index 21d7aa3..4e5dcb9 100644
--- a/parser.c
+++ b/parser.c
@@ -4949,7 +4949,8 @@ xmlParsePI(xmlParserCtxtPtr ctxt) {
 		    (ctxt->sax->processingInstruction != NULL))
 		    ctxt->sax->processingInstruction(ctxt->userData,
 		                                     target, NULL);
-		ctxt->instate = state;
+		if (ctxt->instate != XML_PARSER_EOF)
+		    ctxt->instate = state;
 		return;
 	    }
 	    buf = (xmlChar *) xmlMallocAtomic(size * sizeof(xmlChar));
@@ -5029,7 +5030,8 @@ xmlParsePI(xmlParserCtxtPtr ctxt) {
 	} else {
 	    xmlFatalErr(ctxt, XML_ERR_PI_NOT_STARTED, NULL);
 	}
-	ctxt->instate = state;
+	if (ctxt->instate != XML_PARSER_EOF)
+	    ctxt->instate = state;
     }
 }
 
@@ -9589,6 +9591,8 @@ xmlParseElement(xmlParserCtxtPtr ctxt) {
     else
 	name = xmlParseStartTag(ctxt);
 #endif /* LIBXML_SAX1_ENABLED */
+    if (ctxt->instate == XML_PARSER_EOF)
+	return;
     if (name == NULL) {
 	spacePop(ctxt);
         return;
@@ -10975,6 +10979,8 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
 		else
 		    name = xmlParseStartTag(ctxt);
 #endif /* LIBXML_SAX1_ENABLED */
+		if (ctxt->instate == XML_PARSER_EOF)
+		    goto done;
 		if (name == NULL) {
 		    spacePop(ctxt);
 		    ctxt->instate = XML_PARSER_EOF;
@@ -11161,7 +11167,9 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
 		  else
 		    xmlParseEndTag1(ctxt, 0);
 #endif /* LIBXML_SAX1_ENABLED */
-		if (ctxt->nameNr == 0) {
+		if (ctxt->instate == XML_PARSER_EOF) {
+		    /* Nothing */
+		} else if (ctxt->nameNr == 0) {
 		    ctxt->instate = XML_PARSER_EPILOG;
 		} else {
 		    ctxt->instate = XML_PARSER_CONTENT;
--
cgit v0.9.0.2

Added opt/libxml2/CVE-2011-3919.patch.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
From 5bd3c061823a8499b27422aee04ea20aae24f03e Mon Sep 17 00:00:00 2001
From: Daniel Veillard <veillard@redhat.com>
Date: Fri, 16 Dec 2011 10:53:35 +0000
Subject: Fix an allocation error when copying entities

---
diff --git a/parser.c b/parser.c
index 4e5dcb9..c55e41d 100644
--- a/parser.c
+++ b/parser.c
@@ -2709,7 +2709,7 @@ xmlStringLenDecodeEntities(xmlParserCtxtPtr ctxt, const xmlChar *str, int len,
 
 		buffer[nbchars++] = '&';
 		if (nbchars > buffer_size - i - XML_PARSER_BUFFER_SIZE) {
-		    growBuffer(buffer, XML_PARSER_BUFFER_SIZE);
+		    growBuffer(buffer, i + XML_PARSER_BUFFER_SIZE);
 		}
 		for (;i > 0;i--)
 		    buffer[nbchars++] = *cur++;
--
cgit v0.9.0.2

Added opt/libxml2/Pkgfile.

























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# Description: XML library version 2
# URL:         http://xmlsoft.org/
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Packager:    Daniel Mueller, daniel at danm dot de
# Depends on:  zlib

name=libxml2
version=2.7.8
release=2
source=(ftp://xmlsoft.org/libxml2/$name-$version.tar.gz
        CVE-2010-4494.patch
        CVE-2011-{0216,2821,2834,3905,3919}.patch)

build () {
    cd $name-$version

    cat $SRC/CVE-201?-*.patch | patch -p1

    # http://mail.gnome.org/archives/xml/2010-November/msg00016.html
    sed -i '/VERSION_SCRIPT_FLAGS/s/-z/-n/' configure

    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --without-python
    make
    make DESTDIR=$PKG install
    rm -r $PKG/usr/share/{doc,gtk-doc}
}

Added opt/libxslt/Pkgfile.



















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# Description: XSL Transformations library
# URL: http://xmlsoft.org/XSLT/
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: libxml2

name=libxslt
version=1.1.26
release=1
source=(ftp://xmlsoft.org/libxml2/$name-$version.tar.gz)

build() {
	cd $name-$version
	./configure --prefix=/usr --mandir=/usr/man \
		--without-python
	make
	make DESTDIR=$PKG install
	rm -rf $PKG/usr/doc $PKG/usr/share
	# move manpages
	if [ -e $PKG/usr/man/man4/libxslt.4 ]
	then
		(cd $PKG/usr/man
		 mkdir man3
		 mv man4/libxslt.4 man3/libxslt.3)
	fi
}

Added opt/libxvid/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: An ISO MPEG-4 compliant video codec
# URL: http://www.xvid.org/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Matt Housh, jaeger at crux dot nu
# Nice to have: yasm

name=libxvid
version=1.3.2
release=1
source=(http://downloads.xvid.org/downloads/xvidcore-$version.tar.bz2)

build() {
	cd xvidcore/build/generic
	./configure --prefix=/usr
	make
	make DESTDIR=$PKG install
	ln -s libxvidcore.so.4.3 $PKG/usr/lib/libxvidcore.so
}

Added opt/linux-identd/Pkgfile.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Description: An RFC 1413 identification daemon for Linux
# URL:         http://www.fukt.bsnet.se/~per/identd/
# Maintainer:  Tilman Sauerbeck, tilman at crux dot nu

name=linux-identd
version=1.3
release=3
source=(http://www.fukt.bsnet.se/~per/identd/$name-$version.tar.gz identd)

build () {
    cd $name-$version
    make CEXTRAS="$CFLAGS"
    make DESTDIR=$PKG install
    install -D -m 755 ../identd $PKG/etc/rc.d/identd
}

Added opt/linux-identd/identd.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/bin/sh
#
# /etc/rc.d/identd: start/stop ident daemon
#

case $1 in
start)
	/usr/sbin/identd -d -l
	;;
stop)
	killall -q /usr/sbin/identd
	;;
restart)
	$0 stop
	sleep 2
	$0 start
	;;
*)
	echo "usage: $0 [start|stop|restart]"
	;;
esac

# End of file

Added opt/llvm/Pkgfile.

























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# Description: LLVM including clang
# URL: http://llvm.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu

name=llvm
version=2.8
release=2
source=(http://llvm.org/releases/$version/{$name,clang}-$version.tgz llvm.diff)

build() {
	patch -p1 -d clang-$version -i $SRC/llvm.diff

	mv clang-$version $name-$version/tools/clang

	cd $name-$version

	./configure --prefix=/usr --without-oprofile

	make
	make DESTDIR=$PKG install

	# Unfortunately, llvm's configure script seems to ignore --mandir.
	mv $PKG/usr/share/man $PKG/usr
	rmdir $PKG/usr/share

	find $PKG -name .dir -delete
	rm -rf $PKG/usr/docs
}

Added opt/llvm/llvm.diff.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Fix C++ include paths.

diff -aur clang-2.8.orig/lib/Frontend/InitHeaderSearch.cpp clang-2.8/lib/Frontend/InitHeaderSearch.cpp
--- clang-2.8.orig/lib/Frontend/InitHeaderSearch.cpp	2010-09-03 18:45:53.000000000 +0200
+++ clang-2.8/lib/Frontend/InitHeaderSearch.cpp	2010-10-30 11:21:51.415000159 +0200
@@ -706,6 +706,14 @@
                                 "i686-pc-linux-gnu", "", "", triple);
     AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.3.1",
                                 "x86_64-unknown-linux-gnu", "", "", triple);
+
+    // CRUX 2010-10-30
+    AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.5.1",
+                                "i686-pc-linux-gnu", "", "", triple);
+    AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.5.1",
+                                "x86_64-unknown-linux-gnu", "", "", triple);
+
+
     // Gentoo x86 2009.1 stable
     AddGnuCPlusPlusIncludePaths(
       "/usr/lib/gcc/i686-pc-linux-gnu/4.3.4/include/g++-v4",

Added opt/lm_sensors/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: Tools for monitoring system health (temperatures, voltages, fan speed, etc)
# URL: http://www.lm-sensors.org
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Depends on: perl
# Nice to have: i2c-tools

name=lm_sensors
version=3.3.1
release=1
source=(http://dl.lm-sensors.org/lm-sensors/releases/$name-$version.tar.bz2)

build () {
  cd $name-$version
  make install PREFIX=/usr \
               ETCDIR=/usr/etc \
               DESTDIR=$PKG
}

Added opt/lm_sensors/README.

































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

README for lm_sensors


IMPORTANT NOTES

  * The libsensors configuration file (/etc/sensors.conf) is never overwritten
  by our installation process, so that you won't lose your personal settings
  in that file. You still can get our latest default config file in 
  etc/sensors.conf.eg and manually copy it to /etc/sensors.conf if you want.
  You will then want to edit it to fit your needs again.

  * The format of /etc/sensors.conf changed with lm-sensors >= 3.0.0.
  If you have a custom configuration file using the old format, you can convert
  it using the sensors-conf-convert script. Otherwise just overwrite your old
  configuration file with the new default one.


KERNEL CONFIGURATION

  * Enable "I2C support" (CONFIG_I2C=y or m). On many motherboards, the sensor
  chip is connected to the SMBus, which is supported by I2C in the Linux kernel
  
  * Enable "I2C device interface" (CONFIG_I2C_CHARDEV=m). sensors-detect needs
  this to probe for SMBus hardware monitoring chips.
  
  * In I2C Hardware Bus support, enable all drivers you might need, preferably
  as modules. If you're not sure, select them all.
  
  * Enable "Hardware Monitoring support" (CONFIG_HWMON=y or m).
  
  * Enable all hardware monitoring drivers you might need, preferably as modules

Added opt/lsof/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: list open files
# URL:         http://people.freebsd.org/~abe/
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    sten, nick dot steeves at shaw dot ca

name=lsof
version=4.85
release=1
source=(ftp://ftp.fu-berlin.de/pub/unix/tools/lsof/lsof_$version.tar.bz2)

build() {
    cd lsof_${version}
    tar -xf lsof_${version}_src.tar
    cd lsof_${version}_src
    yes "" | ./Configure linux
    sed -i -e "s/-DLINUXV/${CFLAGS} -DLINUXV/" Makefile
    make
    install -D -m 755 lsof $PKG/usr/sbin/lsof
    install -D -m 644 lsof.8 $PKG/usr/man/man8/lsof.8
}

Added opt/lua/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description: A programming language designed for extending applications
# URL: http://www.lua.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on:

name=lua
version=5.2.0
release=2
source=(http://www.lua.org/ftp/$name-$version.tar.gz \
        $name.diff)

build() {
	cd $name-$version

	patch -Np1 -i $SRC/$name.diff

	make linux
	make INSTALL_TOP=$PKG/usr install

	make pc > lua.pc
	install -D -m 0644 lua.pc $PKG/usr/lib/pkgconfig/lua.pc
}

Added opt/lua/lua.diff.





































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
diff -aur lua-5.2.0.orig/Makefile lua-5.2.0/Makefile
--- lua-5.2.0.orig/Makefile	2011-11-16 00:38:12.000000000 +0100
+++ lua-5.2.0/Makefile	2012-03-14 09:00:52.823998608 +0100
@@ -10,7 +10,7 @@
 # so take care if INSTALL_TOP is not an absolute path. See the local target.
 # You may want to make INSTALL_LMOD and INSTALL_CMOD consistent with
 # LUA_ROOT, LUA_LDIR, and LUA_CDIR in luaconf.h.
-INSTALL_TOP= /usr/local
+INSTALL_TOP= /usr
 INSTALL_BIN= $(INSTALL_TOP)/bin
 INSTALL_INC= $(INSTALL_TOP)/include
 INSTALL_LIB= $(INSTALL_TOP)/lib
@@ -41,7 +41,7 @@
 # What to install.
 TO_BIN= lua luac
 TO_INC= lua.h luaconf.h lualib.h lauxlib.h lua.hpp
-TO_LIB= liblua.a
+TO_LIB= liblua.a liblua.so.5.2
 TO_MAN= lua.1 luac.1
 
 # Lua version and release.
@@ -63,6 +63,7 @@
 	cd src && $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC)
 	cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB)
 	cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN)
+	ln -s liblua.so.5.2 $(INSTALL_LIB)/liblua.so
 
 uninstall:
 	cd src && cd $(INSTALL_BIN) && $(RM) $(TO_BIN)
@@ -103,10 +104,14 @@
 
 # echo pkg-config data
 pc:
-	@echo "version=$R"
 	@echo "prefix=$(INSTALL_TOP)"
 	@echo "libdir=$(INSTALL_LIB)"
 	@echo "includedir=$(INSTALL_INC)"
+	@echo "Name: Lua"
+	@echo "Description: An Extensible Extension Language"
+	@echo "Version: $R"
+	@echo "Libs: -L$(INSTALL_LIB) -llua -lm"
+	@echo "Cflags: -I$(INSTALL_INC)"
 
 # list targets that do not create files (but not all makes understand .PHONY)
 .PHONY: all $(PLATS) clean test install local none dummy echo pecho lecho
diff -aur lua-5.2.0.orig/src/Makefile lua-5.2.0/src/Makefile
--- lua-5.2.0.orig/src/Makefile	2011-09-19 14:45:14.000000000 +0200
+++ lua-5.2.0/src/Makefile	2012-03-14 08:41:50.374000136 +0100
@@ -7,7 +7,8 @@
 PLAT= none
 
 CC= gcc
-CFLAGS= -O2 -Wall -DLUA_COMPAT_ALL $(SYSCFLAGS) $(MYCFLAGS)
+CFLAGS ?= -O2 -Wall
+CFLAGS += -DLUA_COMPAT_ALL $(SYSCFLAGS) $(MYCFLAGS)
 LDFLAGS= $(SYSLDFLAGS) $(MYLDFLAGS)
 LIBS= -lm $(SYSLIBS) $(MYLIBS)
 
@@ -29,6 +30,7 @@
 PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris
 
 LUA_A=	liblua.a
+LUA_SO= liblua.so
 CORE_O=	lapi.o lcode.o lctype.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o \
 	lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o \
 	ltm.o lundump.o lvm.o lzio.o
@@ -43,7 +45,7 @@
 LUAC_O=	luac.o
 
 ALL_O= $(BASE_O) $(LUA_O) $(LUAC_O)
-ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T)
+ALL_T= $(LUA_A) $(LUA_SO) $(LUA_T) $(LUAC_T)
 ALL_A= $(LUA_A)
 
 # Targets start here.
@@ -59,6 +61,10 @@
 	$(AR) $@ $?
 	$(RANLIB) $@
 
+$(LUA_SO): $(CORE_O) $(LIB_O)
+	$(CC) -shared -Wl,-soname,liblua.so -o $@.5.2 $? $(MYLDFLAGS)
+	ln -s $@.5.2 $@
+
 $(LUA_T): $(LUA_O) $(LUA_A)
 	$(CC) -o $@ $(LDFLAGS) $(LUA_O) $(LUA_A) $(LIBS)
 
diff -aur lua-5.2.0.orig/src/luaconf.h lua-5.2.0/src/luaconf.h
--- lua-5.2.0.orig/src/luaconf.h	2011-12-06 17:58:36.000000000 +0100
+++ lua-5.2.0/src/luaconf.h	2012-03-14 08:42:10.370999861 +0100
@@ -100,7 +100,7 @@
 #else			/* }{ */
 
 #define LUA_VDIR	LUA_VERSION_MAJOR "." LUA_VERSION_MINOR "/"
-#define LUA_ROOT	"/usr/local/"
+#define LUA_ROOT	"/usr/"
 #define LUA_LDIR	LUA_ROOT "share/lua/" LUA_VDIR
 #define LUA_CDIR	LUA_ROOT "lib/lua/" LUA_VDIR
 #define LUA_PATH_DEFAULT  \

Added opt/lvm2/Pkgfile.































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# Description: Userspace toolset for logical volume management
# URL:         http://sourceware.org/lvm2/
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  libdevmapper

name=lvm2
version=2.02.95
release=1
source=(ftp://sources.redhat.com/pub/lvm2/releases/LVM2.$version.tgz)

build() {
    cd LVM2.$version

    ./configure --prefix=/usr \
		--exec-prefix= \
		--datarootdir=/usr \
		--with-udev-prefix= \
		--disable-readline \
		--enable-pkgconfig \
		--enable-static_link \
		--enable-udev_sync \
		--enable-udev_rules \
		--with-{user,group}=root

    make
    make DESTDIR=$PKG install_lvm2

    install -d -m 0700 $PKG/etc/lvm/{archive,backup}
    install -d -m 1777 $PKG/var/lock
    install -d -m 0700 $PKG/var/lock/lvm
}

Added opt/lyx/Pkgfile.























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# Description: LaTeX enabled word processor 
# URL: http://www.lyx.org
# Maintainer: Johannes Winkelmann, jw at smts dot ch
# Packager: Simone Rota, sip at crux dot nu
# Depends on: tetex, qt4, imagemagick

name=lyx
version=1.6.3
release=1
source=(ftp://ftp.lyx.org/pub/$name/stable/1.6.x/$name-$version.tar.bz2)

build(){
  cd $name-$version
  export QTDIR=/usr/share/qt4
  ./configure --prefix=/usr --with-frontend=qt4 --disable-nls \
      --mandir=/usr/man
  make
  make DESTDIR=$PKG install

  rm -rf $PKG/usr/info
  rm -rf $PKG/usr/share/lyx/examples

  # remove localization files
  rm -rf $PKG/usr/share/lyx/bind/??/ \
         $PKG/usr/share/lyx/doc/??/
}
  

Added opt/madwifi/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: Kernel module for Atheros based 802.11a/b/g cards
# Maintainer: Till Biedermann, tillbiedermann at yahoo dot de
# URL: http://madwifi.org
# Depends on: sharutils

name=madwifi
version=0.9.4-r4133
release=1
source=(http://jue.li/crux/files/$name-$version.tar.xz)

build(){
    cd $name-$version
    sed -i '/^WARNINGS/s/-Werror//' Makefile.inc
    make
    make DESTDIR=$PKG BINDIR=/usr/bin MANDIR=/usr/man install
}

Added opt/madwifi/README.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
PRE-INSTALL

    Kernel sources must exist in /lib/modules/[version]/build

POST-INSTALL

    Run depmod -a, edit /etc/modprobe.conf and /etc/rc.d/net.  The module 
    name is ath_hal or ath_pci, depending on your card.  The wireless 
    ifdevice name is ath0.  Something like this should work:

    /etc/modprobe.conf:
    alias ath0 ath_pci

    /etc/rc.d/net:
    iwconfig ath0 essid myid
    iwconfig ath0 key mykey
    dhcpcd ath0

Added opt/maildrop/Pkgfile.

























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# Description: Mail Delivery Agent with filtering abilities
# URL:         http://www.courier-mta.org/maildrop/
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  gdbm libpcre

name=maildrop
version=2.5.5
release=1
source=(http://download.sourceforge.net/project/courier/$name/$version/$name-$version.tar.bz2)

build () {
    cd $name-$version

    sed -i '/^MAILDROPMAN/s/=/= makedat.1/' Makefile.in

    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --with-db=gdbm \
                --enable-maildrop-uid=root \
                --enable-maildrop-gid=root \
                --disable-tempdir \
                --enable-syslog=1
    make
    make DESTDIR=$PKG install
    
    chmod u+s $PKG/usr/bin/maildrop
    rm -r $PKG/usr/{include,lib,man/man3,share}
}

Added opt/mailman/Pkgfile.



























































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# Description: Mailman, the GNU Mailing List Manager
# URL: http://www.gnu.org/software/mailman/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Jose V Beneyto, sepen at crux dot nu
# Depends on: python

name=mailman
version=2.1.14
release=1
source=(http://ftp.gnu.org/gnu/$name/$name-$version.tgz \
        $name.rc)

build() {
  cd $name-$version
  patch -p1 -i contrib/redhat_fhs.patch

  rm -f configure
  aclocal
  autoconf

  ./configure --prefix=/usr/lib/$name \
              --with-var-prefix=/var/lib/$name \
              --with-config-dir=/etc/$name \
              --with-lock-dir=/var/lock/$name \
              --with-log-dir=/var/log/$name \
              --with-pid-dir=/var/run/$name \
              --with-queue-dir=/var/spool/$name \
              --with-mailhost=localhost.localdomain \
              --with-urlhost=localhost.localdomain \
              --with-mail-gid=$name \
              --with-cgi-id=www \
              --with-cgi-gid=www \
              --without-permcheck
              
  make
  make DESTDIR=$PKG install
  install -D -m 0755 $SRC/$name.rc $PKG/etc/rc.d/$name
  
  # create empty crontab
  install -d $PKG/etc/cron.d
  cat > $PKG/etc/cron.d/$name << __EOF__
# DO NOT EDIT THIS FILE!
#
# Contents of this file managed by /etc/rc.d/mailman
# Master copy is /usr/lib/mailman/cron/crontab.in
# Consult that file for documentation
#
# End of file
__EOF__

  # fix permissions
  chown -R root:$name $PKG/etc/$name $PKG/usr/lib/$name \
    $PKG/var/{lib,lock,log,run,spool}/$name
  chmod 02775 $PKG/etc/$name $PKG/var/{lib,lock,log,run,spool}/$name
  find $PKG/usr/lib/$name -type d -exec chmod 02775 {} \;
  #chmod o+x $PKG/var/lib/$name/archives/private

  # fix configs
  ln -sf /usr/lib/$name/Mailman/mm_cfg.py $PKG/etc/$name
  ln -sf /etc/$name/sitelist.cfg $PKG/var/lib/$name/data
}

Added opt/mailman/README.

























































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76

README for mailman


PRE-INSTALL

  Execute the pre-install script to add a new mailman user/group


NOTES

  Configure options:

    $ less /usr/lib/mailman/Mailman/Defaults.py
    $ sudo vim /etc/mailman/mm_cfg.py

  Configure aliases for Postfix MTA:
  
    $ sudo /usr/lib/mailman/bin/genaliases
    $ sudo vim /etc/postfix/main.cf
  
    [...]
    alias_maps = hash:/etc/postfix/aliases, hash:/etc/mailman/aliases, ...
    [...]
  
    $ sudo newaliases

  To create a new list:

    $ sudo /usr/lib/mailman/bin/newlist

  To check perimissions:

    $ sudo /usr/lib/mailman/bin/check_perms -v

  Maybe after create your first list you need to setup some directories/files:

    $ sudo chown mailman:mailman /etc/mailman/aliases*
    $ sudo chmod 660 /etc/mailman/aliases.db

  To configure httpd settings (without vhosts) append this to your httpd.conf:

    [...]
    ScriptAlias /mailman/ /usr/lib/mailman/cgi-bin/
    <Directory "/usr/lib/mailman/cgi-bin/">
      AllowOverride None
      Options ExecCGI
      Order allow,deny
      Allow from all
    </Directory>

    Alias /pipermail/ /var/lib/mailman/archives/public/
    <Directory "/var/lib/mailman/archives/public">
      Options +FollowSymLinks
      Order allow,deny
      Allow from all
    </Directory>

    # Uncomment the following line, replacing www.example.com with your server's
    # name, to redirect queries to /mailman to the listinfo page (recommended).
    RedirectMatch ^/mailman[/]*$ http://www.example.com/mailman/listinfo
    [...]


  

  IMPORTANT: If archives/private is not o+x, then the owner of archives/private
  must be the web server user whatever that is - i.e. the web server user must be
  able to search in archives/private.

  $ ls -ld /var/lib/mailman/archives/p*
  drwxrws--x 6 root mailman 4096 Jan 12 17:02 /var/lib/mailman/archives/private
  drwxrwsr-x 2 root mailman 4096 Jan 12 17:02 /var/lib/mailman/archives/public

  The owner (root) is not important. the group is Mailman's group and may or may
  not be 'mailman' (e.g. on a debian/ubuntu package install, it is 'list')

Added opt/mailman/mailman.rc.



















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/bin/sh
#
# /etc/rc.d/mailman: start/stop mailman daemon
#

PYTHON=/usr/bin/python
MAILMANHOME=/usr/lib/mailman
MAILMANCTL=$MAILMANHOME/bin/mailmanctl

case $1 in
  start)
    $PYTHON $MAILMANCTL -s -q start
    ;;
  stop)
    $PYTHON $MAILMANCTL -q stop
    ;;
  restart)
    $PYTHON $MAILMANCTL -q restart
    ;;
  *)
    echo "usage: $0 [start|stop|restart]"
    ;;
esac

# End of file

Added opt/mailman/pre-install.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#!/bin/sh

mmuser="mailman"
mmgroup="mailman"
mmuserid=41
mmgroupid=41
mmhome="/usr/lib/mailman"

# make sure the user/group exists or add if not exists
/usr/bin/getent group $mmgroup || \
	/usr/sbin/groupadd -g $mmgroupid $mmgroup

/usr/bin/getent passwd $mmuser || \
	/usr/sbin/useradd -s /sbin/nologin -d $mmhome -u $mmuserid -g $mmgroupid $mmuser

# End of file

Added opt/mailx/Pkgfile.



























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# Description: Replacement for Berkeley Mail and System V mailx command
# URL:         http://nail.sourceforge.net/ 
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  openssl

name=mailx
version=12.5-100620
release=1
source=(http://crux.s3.amazonaws.com/dist/$name-$version.tar.xz)

build() {
    cd $name-$version

    sed -i 's|/etc/nail.rc|/usr/etc/mailx.rc|' mailx.1

    make -j1 install \
         PREFIX=/usr \
         SYSCONFDIR=/usr/etc \
         MAILRC=/usr/etc/mailx.rc \
         MANDIR=/usr/man \
         SENDMAIL=/usr/sbin/sendmail \
         MAILSPOOL=/var/spool/mail \
         UCBINSTALL=/usr/bin/install \
         DESTDIR=$PKG

    ln -s mailx   $PKG/usr/bin/Mail
    ln -s mailx   $PKG/usr/bin/mail
    ln -s mailx.1 $PKG/usr/man/man1/mail.1
}

Added opt/maradns/Pkgfile.





























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# Description: A authoritative,recursive (caching) DNS server that strives to be secure and fast
# URL:         http://www.maradns.org/
# Maintainer:  Juergen Daubert, jue at crux dot nu

name=maradns
version=1.4.12
release=1
source=(http://www.maradns.org/download/1.4/maradns-$version.tar.xz \
        mararc maradns db.localhost)

build () {
    cd maradns-$version

    install -d  $PKG/usr/{bin,sbin,man/man{1,5,8}}
    install -d  $PKG/{etc/{rc.d,maradns},var/log}

    sed -i "/^FLAGS/s/-O2/$CFLAGS/" build/Makefile.linux
    ./configure
    make -j1
    make PREFIX=$PKG/usr RPM_BUILD_ROOT=$PKG install

    rm -r $PKG/usr/doc
    mv $PKG/etc/mararc $PKG/etc/mararc.sample

    install -m 644 $SRC/mararc $PKG/etc
    install -m 644 $SRC/db.* $PKG/etc/maradns
    install -m 755 $SRC/maradns $PKG/etc/rc.d

    touch $PKG/var/log/maradns.log
}

Added opt/maradns/db.localhost.





























>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#
# /etc/maradns/db.localhost
#

# SOA
%     SOA     localhost.   root@localhost.   1 7200 3600 604800 1800

# NS 
%     NS      localhost.

# FQDN4
%     FQDN4   127.0.0.1

# End of file

Added opt/maradns/maradns.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/bin/sh
#
# /etc/rc.d/maradns: start/stop mara DNS server
#

case $1 in
start)
	setsid /usr/sbin/maradns >> /var/log/maradns.log &
	;;
stop)
	killall -q /usr/sbin/maradns
	;;
restart)
	$0 stop
	sleep 2
	$0 start
	;;
*)
	echo "usage: $0 [start|stop|restart]"
	;;
esac

# End of file

Added opt/maradns/mararc.

































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#
# /etc/mararc
#

# Base settings
hide_disclaimer = "YES"
chroot_dir = "/etc/maradns"
maradns_uid = 99
maradns_gid = 99
random_seed_file = "/dev/urandom"

# Timing and size settings
maximum_cache_elements = 2048
maxprocs = 96
timeout_seconds = 5

# Logging and debug settings
timestamp_type = 4
verbose_level = 3
debug_msg_level = 3

# The addresses mara bind to
# CHANGING THIS IS REQUIRED !
ipv4_bind_addresses = "127.0.0.1,192.168.0.1"

# The various zones we support
csv2 = {}
csv2["localhost."] = "db.localhost"
# csv2["example.net."] = "db.example.net"

# ACL for localhost, localnet
# CHANGING THIS IS REQUIRED !
ipv4_alias = {}
ipv4_alias["localhost"] = "127.0.0.0/8"
ipv4_alias["localnet"] = "192.168.0.0/24"
recursive_acl = "localhost,localnet"
zone_transfer_acl = "localnet"
admin_acl = "localhost,localnet"

# The root servers which we use when making recursive queries.
# http://www.icann.org
ipv4_alias["icann"]  = "198.41.0.4,192.228.79.201,192.33.4.12,128.8.10.90,"
ipv4_alias["icann"] += "192.203.230.10,192.5.5.241,192.112.36.4,"
ipv4_alias["icann"] += "128.63.2.53,192.36.148.17,192.58.128.30,"
ipv4_alias["icann"] += "193.0.14.129,199.7.83.42,202.12.27.33"

# ORSN, Open Root Server Network (http://www.orsn.org)
ipv4_alias["orsn"]  = "217.146.128.77,193.238.157.7,212.7.160.13,195.226.7.66,"
ipv4_alias["orsn"] += "213.161.0.90,193.138.173.218,82.102.0.9,213.144.148.130,"
ipv4_alias["orsn"] += "194.116.123.194,193.93.167.222,217.173.157.225,"
ipv4_alias["orsn"] += "192.83.249.100,213.145.82.34"

root_servers = {}
root_servers["."] = "icann"

# upstream_servers = {}
# upstream_servers["."] = "usually_your_isps_dns_servers"
# ORSN, puplic nameservers
# upstream_servers["."] = "217.146.139.5,62.157.101.211"
# Google, puplic nameservers
# upstream_servers["."] = "8.8.8.8,8.8.4.4"


# End of file

Added opt/masqmail/Pkgfile.

















































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# Description: Mail Transfer Agent for workstations and local networks 
# URL:         http://marmaro.de/prog/masqmail/
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  glib

name=masqmail
version=0.2.30
release=1
source=(http://marmaro.de/prog/masqmail/files/$name-$version.tar.gz
        masqmail masqmail.conf masqmail.alias inet.route)

build () {
    cd $name-$version

    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --enable-auth \
                --enable-maildir \
                --enable-ident \
                --with-user=mail \
                --with-group=mail
    make
    make DESTDIR=$PKG install

    ln -s masqmail $PKG/usr/sbin/sendmail
    ln -s ../sbin/masqmail $PKG/usr/bin/mailq

    install -m 644 $SRC/masqmail.{conf,alias} $PKG/etc/masqmail
    install -m 600 $SRC/inet.route $PKG/etc/masqmail
    echo -n "inet" > $PKG/var/run/masqmail/masqmail-route
    install -m 600 examples/example.* $PKG/etc/masqmail
    install -m 644 examples/masqmail.conf $PKG/etc/masqmail/example.conf
    install -D -m 755 $SRC/masqmail $PKG/etc/rc.d/masqmail

    rm $PKG/usr/share/masqmail/tpl/*.tpl.*
    rm -r $PKG/usr/share/doc
    
    touch $PKG/var/log/masqmail/{masqmail,debug}.log
    chown mail:mail $PKG/var/log/masqmail/*
}

Added opt/masqmail/README.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
README for masqmail 0.2.x

REQUIREMENTS

PRE-INSTALL
1. Remove exim. Masqmail and exim can not coexist.
      
POST-INSTALL
1. Edit /etc/masqmail/masqmail.conf and change the placeholders
   for host and domain into correct values.
2. Now masqmail delivers all non-local mail directly to the mail 
   server of the recipient. This will not work for the usual
   dialup connections. To use the mail server of your provider 
   for delivering mail, edit inet.route.
3. In this configuration masqmail doesn't take care about your 
   online status. See masqmail.conf(5) about online detection.
4. Create a alias for postmaster and root in masqmail.alias

PRECAUTION
   As of version 0.2.21 the masqmail log files must be 
   writeable by the system-user 'mail'. 
   
     chown mail:mail /var/log/masqmail/*

Added opt/masqmail/inet.route.

















>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
#
# /etc/masqmail/inet.route
#

# mail_host = "smpt.provider.com"
# allowed_mail_locals = "user1;user2"

# End of file

Added opt/masqmail/masqmail.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/bin/sh
#
# /etc/rc.d/masqmail: start/stop masqmail SMTP daemon
#

case $1 in
start)
	/usr/sbin/masqmail -bd -q20m 
	;;
stop)
	killall -q /usr/sbin/masqmail
	;;
restart)
	$0 stop
	sleep 2
	$0 start
	;;
*)
	echo "usage: $0 [start|stop|restart]"
	;;
esac

# End of file

Added opt/masqmail/masqmail.alias.



















>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
#
# /etc/masqmail/masqmail.alias
#

postmaster:  root@localhost
#postmaster:  <user>@locahost
#root:        postmaster

# End of file

Added opt/masqmail/masqmail.conf.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#
# /etc/masqmail/masqmail.conf
#

debug_level = 4
use_syslog=false

host_name = "#host#.#domain#"
local_hosts = "localhost;#host#;#host#.#domain#"
local_nets = "*.#domain#"
listen_addresses = "localhost:25;#host#.#domain#:25"

spool_dir = "/var/spool/masqmail"
mail_dir = "/var/spool/mail"
log_dir = "/var/log/masqmail"
alias_file = "/etc/masqmail/masqmail.alias"

online_detect = file
online_file = "/var/run/masqmail/masqmail-route"

online_routes.inet = "/etc/masqmail/inet.route"

# End of file

Added opt/mathopd/Pkgfile.































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# Description: Very fast and highly configurable HTTP server
# URL:         http://www.mathopd.org/
# Maintainer:  Juergen Daubert, jue at crux dot nu

name=mathopd
version=1.5p8
release=1
source=(http://www.mathopd.org/dist/$name-$version.tar.gz \
        http://jue.li/misc/dir_cgi/dir_cgi-1.1.tar.gz \
        http://www.mathopd.org/doc/mathopd.8.gz \
        http://www.mathopd.org/doc/mathopd.conf.5.gz \
        mathopd-config.patch mathopd.conf mathopd)

build () {
    cd $name-$version/src

    patch -p2 -i $SRC/mathopd-config.patch

    make

    install -d $PKG/{var/log,etc/rc.d,usr/{bin,sbin,man/man{8,5}}}
    install -m 755 mathopd $PKG/usr/sbin
    install -m 644 $SRC/mathopd.conf $PKG/etc
    install -m 755 $SRC/mathopd $PKG/etc/rc.d
    install -m 644 $SRC/mathopd.8.gz $PKG/usr/man/man8
    install -m 644 $SRC/mathopd.conf.5.gz $PKG/usr/man/man5
    install -d -o www -g www $PKG/var/log/mathopd

    cd $SRC/dir_cgi-1.1
    make DESTDIR=$PKG install
}

Added opt/mathopd/mathopd.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/bin/sh
#
# /etc/rc.d/mathopd: start/stop mathopd http daemon
#

case $1 in
start)
	/usr/sbin/mathopd -f /etc/mathopd.conf
	;;
stop)
	killall -q /usr/sbin/mathopd
	;;
restart)
	$0 stop
	sleep 2
	$0 start
	;;
*)
	echo "usage: $0 [start|stop|restart]"
	;;
esac

# End of file

Added opt/mathopd/mathopd-config.patch.



























































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
diff -Nru mathopd-1.5p6.orig/src/Makefile mathopd-1.5p6/src/Makefile
--- mathopd-1.5p6.orig/src/Makefile	2007-07-21 14:56:57.000000000 +0200
+++ mathopd-1.5p6/src/Makefile	2007-07-21 14:58:26.000000000 +0200
@@ -1,6 +1,6 @@
 BIN = mathopd
 CC = gcc
-CFLAGS = -O -Wall
+CFLAGS += -Wall
 CPPFLAGS = 
 LDFLAGS = 
 LIBS = -lcrypt
@@ -12,12 +12,12 @@
 # LIBS = -lsocket -lnsl -lresolv
 
 # On Linux, uncomment the following
-# CPPFLAGS = -DHAVE_CRYPT_H
+CPPFLAGS = -DHAVE_CRYPT_H
 
 # For Linux or Solaris:
 # To add support for large files (>2GB), uncomment the following.
 # You do not need this for 64-bit executables.
-# CPPFLAGS += -D_FILE_OFFSET_BITS=64
+CPPFLAGS += -D_FILE_OFFSET_BITS=64
 
 OBJS = base64.o cgi.o config.o core.o dump.o imap.o log.o main.o \
 	redirect.o request.o util.o stub.o $(EXTRA_OBJS)
@@ -31,15 +31,15 @@
 # CPPFLAGS += -DNEED_SOCKLEN_T
 
 # Unomment the following if your system has a working vfork() function
-# CPPFLAGS += -DHAVE_VFORK
+CPPFLAGS += -DHAVE_VFORK
 
 # Currently, sendfile support is available in two flavours: Linux and FreeBSD
 # Uncomment one of the following two to enable sendfile() support
-# CPPFLAGS += -DLINUX_SENDFILE
+CPPFLAGS += -DLINUX_SENDFILE
 # CPPFLAGS += -DFREEBSD_SENDFILE
 # If you define any of the SENDFILE conditionals, make sure to uncomment
 # the next line as well.
-# EXTRA_OBJS += sendfile.o
+EXTRA_OBJS += sendfile.o
 
 all: $(BIN)
 install: $(BIN)

Added opt/mathopd/mathopd.conf.

































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
#
# /etc/mathopd.conf
#

User     www
LogGMT   On
Log      /var/log/mathopd/%Y%m%d.log
ErrorLog /var/log/mathopd/errorlog

Tuning {
	NumConnections 24
	BufSize 12288
	InputBufSize 2048
	ScriptBufSize 4096
}

LogFormat {
	Ctime
	RemoteUser
	RemoteAddress
	RemotePort
	ServerName
	Method
	URI
	QueryString
	Version
	Status
	ContentLength
	BytesRead
	BytesWritten
}

Control {
	ChildLog /var/log/mathopd/childlog

	Types {
		application/andrew-inset { .ez }
		application/excel { .xls }
		application/oda { .oda }
		application/pdf { .pdf }
		application/pgp { .pgp }
		application/postscript { .ps .PS .eps }
		application/rtf { .rtf }
		application/x-arj-compressed { .arj }
		application/x-bcpio { .bcpio }
		application/x-chess-pgn { .pgn }
		application/x-cpio { .cpio }
		application/x-csh { .csh }
		application/x-debian-package { .deb }
		application/x-msdos-program { .com .exe .bat }
		application/x-dvi { .dvi }
		application/x-gtar { .gtar }
		application/x-gunzip { .gz }
		application/x-hdf { .hdf }
		application/x-latex { .latex }
		application/x-mif { .mif }
		application/x-netcdf { .cdf .nc }
		application/x-perl { .pl .pm }
		application/x-rar-compressed { .rar }
		application/x-sh { .sh }
		application/x-shar { .shar }
		application/x-sv4cpio { .sv4cpio }
		application/x-sv4crc { .sv4crc }
		application/x-tar { .tar }
		application/x-tar-gz { .tgz .tar.gz }
		application/x-tcl { .tcl }
		application/x-tex { .tex }
		application/x-texinfo { .texi .texinfo }
		application/x-troff { .t .tr .roff }
		application/x-troff-man { .man }
		application/x-troff-me { .me }
		application/x-troff-ms { .ms }
		application/x-ustar { .ustar }
		application/x-wais-source { .src }
		application/x-zip-compressed { .zip }
		audio/basic { .snd }
		audio/midi { .mid .midi }
		audio/ulaw { .au }
		audio/x-aiff { .aif .aifc .aiff }
		audio/x-wav { .wav }
		image/gif { .gif }
		image/ief { .ief }
		image/jpeg { .jpe .jpeg .jpg }
		image/png { .png }
		image/tiff { .tif .tiff }
		image/x-cmu-raster { .ras }
		image/x-portable-anymap { .pnm }
		image/x-portable-bitmap { .pbm }
		image/x-portable-graymap { .pgm }
		image/x-portable-pixmap { .ppm }
		image/x-rgb { .rgb }
		image/x-xbitmap { .xbm }
		image/x-xpixmap { .xpm }
		image/x-xwindowdump { .xwd }
		text/html { .html .htm }
		text/plain { .asc .txt }
		text/css { .css }
		text/richtext { .rtx }
		text/tab-separated-values { .tsv }
		text/x-setext { .etx }
		video/dl { .dl }
		video/fli { .fli }
		video/gl { .gl }
		video/mpeg { .mp2 .mpe .mpeg .mpg }
		video/quicktime { .mov .qt }
		video/x-msvideo { .avi }
		video/x-sgi-movie { .movie }
		x-world/x-vrml { .vrm .vrml .wrl }

		application/octet-stream { * }
	}

#	External { 
#		/usr/bin/php { php }
#		/usr/bin/eruby { rhtml }
#	}

	IndexNames { index.html index.htm }
}



Server {
	Port 80

	Virtual {
		AnyHost

		Control {
			Alias /
			Location /var/www
			AutoIndexCommand /usr/bin/dir_cgi
			Specials { CGI { dir_cgi } }
		}

		Control {
			Alias /cgi-bin
			Location /var/www/cgi-bin
			Specials { CGI { * } }
		}
	}
}

# End of file

Added opt/mc/Pkgfile.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Description: GNU Midnight Commander
# URL:         http://www.midnight-commander.org
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  ncurses glib

name=mc
version=4.8.2
release=1
source=(http://www.midnight-commander.org/downloads/$name-$version.tar.xz)

build () {
    cd $name-$version

    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --libexecdir=/usr/lib \
                --disable-nls \
                --with-screen=ncurses

    make
    make DESTDIR=$PKG install

    rm $PKG/usr/lib/mc/*/README*
}

Added opt/mdadm/Pkgfile.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Description: Multiple device (RAID) admin tool
# URL:         http://neil.brown.name/blog/mdadm
# Maintainer:  Juergen Daubert, jue at crux dot nu

name=mdadm
version=3.2.3
release=1
source=(http://www.kernel.org/pub/linux/utils/raid/$name/$name-$version.tar.xz)

build() {
    cd $name-$version
    make CXFLAGS="$CFLAGS" all mdadm.static
    make DESTDIR=$PKG MANDIR=/usr/man install
    install -m755 mdadm.static $PKG/sbin
}

Added opt/minicom/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description: A menu driven communications program
# URL: http://alioth.debian.org/projects/minicom/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: sten, nick dot steeves at shaw dot ca
# Depends on:

name=minicom
version=2.5
release=1
source=(http://alioth.debian.org/frs/download.php/3487/$name-$version.tar.gz)

build() {
  cd $name-$version
  sed 's/getline(/gethistline(/g' -i src/minicom.c

  ./configure --prefix=/usr \
              --disable-nls \
              --mandir=/usr/man

  make
  make DESTDIR=$PKG install
}

Added opt/mod_perl/Pkgfile.





















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# Description: Persistent Perl interpreter for the Apache HTTP server
# Maintainer:  Juergen Daubert, jue at crux dot nu
# URL:         http://perl.apache.org
# Depends on:  apache, perl
# Group:       apache

name=mod_perl
version=2.0.5
release=1
source=(http://perl.apache.org/dist/$name-$version.tar.gz)

build(){
    cd $name-$version
    perl Makefile.PL \
         MP_USE_DSO=1 \
         MP_APXS=/usr/sbin/apxs

    make
    make -j1 DESTDIR=$PKG install

    rm -r $PKG/usr/bin
    rm -r $PKG/usr/lib/perl5/site_perl/5.12/linux-thread-multi/{Apache,Bundle}
    rm $PKG/usr/man/man3/{Bundle::*,Apache::*}
    find $PKG -regex '.*\(perllocal\.pod\|\.packlist\|\.bs\)' -delete
    find $PKG -depth -empty -exec rm -rf {} \;
}

Added opt/mod_php/Pkgfile.





























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# Description: PHP DSO module for apache 
# URL:         http://www.php.net
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  apache libxml2

name=mod_php
version=5.3.10
release=1
source=(http://www.php.net/distributions/php-$version.tar.bz2)

build () {
    cd php-$version

    local PHP_CONFIG="
    --prefix=/usr \
    --with-config-file-path=/etc/php \
    --with-config-file-scan-dir=/etc/php/conf.d \
    --with-zlib \
    --with-pcre-regex=/usr \
    --disable-static --disable-debug --without-pear"

    EXTENSION_DIR=/usr/lib/php/extensions \
    ./configure \
        $PHP_CONFIG \
        --with-apxs2=/usr/sbin/apxs \
        --disable-cli

    make
    install -D -m 755 libs/libphp5.so $PKG/usr/lib/apache/libphp5.so
}

Added opt/mod_svn/Pkgfile.



















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# Description: Apache module for the Subversion version control system
# URL:         http://subversion.apache.org
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  subversion apache

name=mod_svn
version=1.7.3
release=1
source=(http://www.apache.org/dist/subversion/subversion-$version.tar.bz2)

build() {
    cd subversion-$version

    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --with-{apr,apr-util,neon}=/usr \
                --disable-neon-version-check \
                --disable-mod-activation \
                --without-swig \
                --disable-nls \
                --with-apxs=/usr/sbin/apxs

    make apache-mod
    make DESTDIR=$PKG install-mods-shared
}

Added opt/mod_svn/README.



























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
README for mod_svn

REQUIREMENTS

PRE-INSTALL

POST-INSTALL

Add something like this to your apache configuration:

   LoadModule dav_module      lib/apache/mod_dav.so
   LoadModule dav_svn_module  lib/apache/mod_dav_svn.so

   <Location /svn/repos>
      DAV svn
      SVNPath /home/svnroot

      # Limit write permission to list of valid users.
      <LimitExcept GET PROPFIND OPTIONS REPORT>
         # Require SSL connection for password protection.
         # SSLRequireSSL

         AuthType Basic
         AuthName "Authorization Realm"
         AuthUserFile /absolute/path/to/passwdfile
         Require valid-user
      </LimitExcept>
   </Location>

Added opt/mpg123/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: Commandline MP3 player 
# URL:         http://www.mpg123.de
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  libtool, alsa-lib

name=mpg123
version=1.13.8
release=1
source=(http://www.mpg123.de/download/$name-$version.tar.bz2)

build() {
    cd $name-$version
    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --with-module-suffix=.so \
                --with-audio=alsa,oss,dummy \
                --with-default-audio=alsa
    make
    make DESTDIR=$PKG install
}

Added opt/mplayer/Pkgfile.





























































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# Description:  Versatile media player and encoder/converter
# URL:          http://www.mplayerhq.hu/
# Maintainer:   Thomas Penteker, tek at serverop dot de
# Packager:     Matt Housh, jaeger at morpheus dot net
# Depends on:   expat, freetype, xorg-libxinerama, xorg-libxv, xorg-libxxf86dga, xorg-libxxf86vm, yasm
# Nice to have: libsdl, libjpeg, libpng, lame, zlib, libogg, libvorbis, cdparanoia, win32-essential-codecs, faac, x264, libdvdnav, libdca

name=mplayer
version=export-2011-11-30
release=1
source=(http://crux.nu/~tek/$name-$version.tar.bz2
  http://www1.mplayerhq.hu/MPlayer/releases/fonts/font-arial-iso-8859-1.tar.bz2
  mplayer.conf)

build() {
  cd $name-$version

  # Keep in line with mplayer CFLAGS, but allow people to set their own march/mtune values.
  export CFLAGS="$(echo $CFLAGS | sed -e 's/-O[s0-3]/-O3/') -ffast-math -fomit-frame-pointer -fno-strict-aliasing"

  rm -f ffmpeg/mp_auto_pull

  ./configure --prefix=/usr \
      --mandir=/usr/man \
      --codecsdir=/usr/share/codecs \
      --confdir=/etc/mplayer
  make
  make DESTDIR=$PKG install

  (cd $PKG/usr/man/man1; rm mencoder.1; ln -s mplayer.1.gz mencoder.1.gz)

  # fonts
  mkdir -p $PKG/usr/share/mplayer
  cp -a $SRC/font-arial-iso-8859-1/font-arial-??-iso-8859-1 \
    $PKG/usr/share/mplayer
  ln -s font-arial-14-iso-8859-1 $PKG/usr/share/mplayer/font

  # config
  mkdir -p $PKG/etc/mplayer
  install -m 644 $SRC/mplayer.conf $PKG/etc/mplayer/
  install -m 644 etc/input.conf $PKG/etc/mplayer/

  # finish up
  rmdir $PKG/usr/lib
  find $PKG -name '*.desc' | xargs chmod g-w
}

Added opt/mplayer/README.





>
>
1
2
More information can be found at http://www.mplayerhq.hu/DOCS/codecs.html and 
http://www.mplayerhq.hu/DOCS/HTML/en/index.html

Added opt/mplayer/mplayer.conf.

















>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
# MPlayer system-wide configuration file
# refer to the mplayer manpage for more information

vo=xv
double=yes
ao=alsa
framedrop=yes
cache=8192

Added opt/mpup/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: Meta driver script for ports(8)
# URL: http://sepen.it.cx/releases/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Jose V Beneyto, sepen at crux dot nu
# Depends on: bash ports findutils coreutils

name=mpup
version=1.1e
release=1
source=(http://sepen.it.cx/releases/$name-$version.tar.bz2)

build() {

  cd $name-$version

  make DESTDIR=$PKG install
}

Added opt/msmtp/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: An SMTP client suitable for use with mutt etc.
# URL:         http://msmtp.sourceforge.net/
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Packager:    Jukka Heino, jukka dot heino at gmail dot com
# Depends on:  openssl

name=msmtp
version=1.4.27
release=1
source=(http://downloads.sourceforge.net/project/msmtp/msmtp/$version/$name-$version.tar.bz2)

build() {
    cd $name-$version
    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --with-ssl=openssl \
                --disable-nls
    make
    make DESTDIR=$PKG install
    rm -r $PKG/usr/share
}

Added opt/msntp/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Simple Network Time Protocol server/client/utility
# URL:         http://www.hpcf.cam.ac.uk/export/
# Maintainer:  Juergen Daubert, jue at crux dot nu

name=msntp
version=1.6
release=2
source=(http://ftp.freebsd.org/pub/FreeBSD/distfiles/$name-$version.tar.gz \
        $name-$version.patch)

build () {
    cd $name-$version
    patch -p1 < ../$name-$version.patch
    make
    mkdir -p $PKG/usr/{sbin,man/man1}
    cp msntp $PKG/usr/sbin
    cp msntp.1 $PKG/usr/man/man1
}

Added opt/msntp/msntp-1.6.patch.



































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
diff -Nru msntp-1.6.orig/Makefile msntp-1.6/Makefile
--- msntp-1.6.orig/Makefile	2002-09-08 13:16:22.000000000 +0200
+++ msntp-1.6/Makefile	2002-09-08 13:19:23.000000000 +0200
@@ -11,7 +11,7 @@
 # CC = cc
 # CFLAGS = -O
 # LDFLAGS =
-# LIBS = -lm
+LIBS = -lm
 
 # Compiling this sort of ANSI C under SunOS 4.1 is a mug's game, because Sun's
 # Unix headers make GNU C vomit even in compatibility mode, but the following
diff -Nru msntp-1.6.orig/header.h msntp-1.6/header.h
--- msntp-1.6.orig/header.h	2002-09-08 13:16:22.000000000 +0200
+++ msntp-1.6/header.h	2002-09-08 13:27:13.000000000 +0200
@@ -19,10 +19,10 @@
 #define MAX_SOCKETS        10          /* Maximum number of addresses */
 
 #ifndef LOCKNAME
-    #define LOCKNAME "/etc/msntp.pid"  /* Stores the pid */
+    #define LOCKNAME "/var/run/msntp.pid"  /* Stores the pid */
 #endif
 #ifndef SAVENAME
-    #define SAVENAME "/etc/msntp.state" /* Stores the recovery state */
+    #define SAVENAME "/var/run/msntp.state" /* Stores the recovery state */
 #endif
 
 
diff -Nru msntp-1.6.orig/msntp.1 msntp-1.6/msntp.1
--- msntp-1.6.orig/msntp.1	2002-09-08 13:16:22.000000000 +0200
+++ msntp-1.6/msntp.1	2002-09-08 13:27:59.000000000 +0200
@@ -143,7 +143,7 @@
 one copy of
 .I msntp
 running at once.  The default is installation-dependent, but will usually be
-.IR /etc/msntp.pid .
+.IR /var/run/msntp.pid .
 .TP
 .BI \-e " minerr"
 sets the maximum ignorable variation between the clocks to
@@ -214,7 +214,7 @@
 Note that the file will be created with the default ownerships and permissions,
 using standard C facilities.  The default is installation-dependent, but will
 usually be
-.IR /etc/msntp.state .
+.IR /var/run/msntp.state .
 .PP
 .B address(es)
 are the DNS names or IP numbers of hosts to use for the challenge and response

Added opt/mtools/Pkgfile.



















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# Description: Utilities to access MS-DOS disks without mounting them
# URL: http://mtools.linux.lu/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Jose V Beneyto, sepen at crux dot nu
# Depends on:

name=mtools
version=4.0.17
release=1
source=(ftp://ftp.gnu.org/gnu/mtools/$name-$version.tar.bz2)

build() {
  cd $name-$version

  ./configure --prefix=/usr \
              --sysconfdir=/etc \
              --mandir=$PKG/usr/man \
              --disable-floppyd

  make
  sed -i Makefile -e 's|install-scripts install-info|install-scripts|'
  make -j1 prefix=$PKG/usr install

  rm -f $PKG/usr/man/man1/floppyd*
}

Added opt/mutt/Pkgfile.



































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# Description: Text-based email client that sucks less
# URL:         http://www.mutt.org
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  gdbm ncurses openssl zlib

name=mutt
version=1.5.21
release=1
source=(ftp://ftp.mutt.org/mutt/devel/$name-$version.tar.gz)

build () {
    cd $name-$version

    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --with-docdir=/usr/share/mutt \
                --with-mailpath=/var/spool/mail \
                --enable-pop \
                --enable-imap \
                --with-ssl \
                --enable-hcache \
                --disable-nls \
                # --enable-smtp --with-sasl 

    make
    make DESTDIR=$PKG install

    find $PKG/usr/share/mutt/* ! -name manual.txt -delete
    rm $PKG/usr/etc/{Muttrc,mime.types}.dist 
    rm $PKG/usr/bin/{flea,muttbug}
    rm $PKG/usr/man/man1/{flea.1,muttbug.1}
    rm $PKG/usr/man/man5/{mmdf.5,mbox.5}
}

Added opt/mysql-python/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: MySQL interface for Python
# URL:         http://sourceforge.net/projects/mysql-python/
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  python, mysql

name=mysql-python
version=1.2.3
release=2
source=(http://downloads.sourceforge.net/project/$name/$name/$version/MySQL-python-$version.tar.gz
        http://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11-py2.7.egg
        $name-setup.diff)

build () {
    cd MySQL-python-$version
    patch -p1 -i $SRC/$name-setup.diff
    cp $SRC/setuptools-0.6c11-py2.7.egg .
    python setup.py install --root=$PKG --prefix=/usr
    rm -r $PKG/usr/lib/python2.7/site-packages/*.egg-info
}

Added opt/mysql-python/mysql-python-setup.diff.

























>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
diff -Nru MySQL-python-1.2.3.orig/setup.py MySQL-python-1.2.3/setup.py
--- MySQL-python-1.2.3.orig/setup.py	2010-06-17 15:05:12.954472025 +0200
+++ MySQL-python-1.2.3/setup.py	2010-04-27 10:00:04.000000000 +0200
@@ -2,6 +2,8 @@
 
 import os
 import sys
+from ez_setup import use_setuptools
+use_setuptools()
 from setuptools import setup, Extension
 
 if not hasattr(sys, "hexversion") or sys.hexversion < 0x02030000:

Added opt/mysql-ruby/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: Extention library to use MySQL via Ruby
# URL:         http://www.tmtm.org/en/mysql/ruby/
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  ruby, mysql

name=mysql-ruby
version=2.8.2
release=1
source=(http://tmtm.org/downloads/mysql/ruby/$name-$version.tar.gz)

build () {
    cd $name-$version
    ruby extconf.rb --vendor --with-mysql-dir=/usr
    make
    make DESTDIR=$PKG install
}

Added opt/mysql/Pkgfile.

















































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# Description: SQL database server
# URL:         http://www.mysql.com
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  tcp_wrappers ncurses zlib openssl cmake libaio

name=mysql
version=5.5.22
release=1
source=(http://mirror.switch.ch/mirror/mysql/Downloads/MySQL-5.5/$name-$version.tar.gz \
        my.cnf mysqld)

build () {
    cd $name-$version
    
    cmake . \
        -DBUILD_CONFIG=mysql_release \
        -DINSTALL_LAYOUT=RPM \
        -DCMAKE_INSTALL_PREFIX=/usr \
        -DSYSCONFDIR=/etc \
        -DINSTALL_LIBDIR=lib \
        -DINSTALL_PLUGINDIR=lib/mysql/plugin \
        -DINSTALL_MANDIR=man \
        -DWITH_LIBWRAP=1 \
        -DWITH_SSL=system \
        -DWITH_ZLIB=system

    make
    make DESTDIR=$PKG install

    rm -r $PKG/usr/share/{mysql-test,info}
    rm $PKG/usr/share/mysql/charsets/README
    find $PKG/usr/share/mysql/* -type d ! -name english ! -name charsets | xargs rm -rf {} \;

    install -d  $PKG/var/{lib,log}
    touch mysqld.log
    install -m 600 -o mysql -g mysql mysqld.log $PKG/var/log
    install -d -m 700 -o mysql -g mysql $PKG/var/lib/mysql
    install -D -m 755 $SRC/mysqld $PKG/etc/rc.d/mysqld
    install -m 600 $SRC/my.cnf $PKG/etc
}

Added opt/mysql/README.













































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
README for mysql 5.1.xx

REQUIREMENTS

PRE-INSTALL
   Run the included pre-install script to create a new
   user/group mysql.

POST-INSTALL
1. Fix user/group of your mysql databases and the log file
   if you are upgrading mysql from 5.0.x:
   chown -R mysql:mysql /var/lib/mysql
   chown mysql:mysql /var/log/mysqld.log
2. run 'mysql_install_db' to build the system database
   in /var/lib/mysql
3. run 'mysql_upgrade' to add new privileges and features 
   to the MySQL privilege tables if you have 4.x or 3.x 
   databases
4. Set a password for the mysql root user:
   mysqladmin -u root password <mysql_root_password>

PRECAUTION
1. With the default configuration networking support for 
   mysql is disabled, meaning the mysql daemon is accessable 
   from localhost only. 
   To add networking support comment out the 'skip-networking' 
   line in /etc/my.cnf. 
2. If you upgrade from mysql 4.0.x you must recompile the 
   other packages on your system that are linked against the 
   mysql client libraries (libmysqlclient). 
   To obtain such a list of packages for your system, you 
   may use the command 'prt-get dependent mysql' or use yapo 
   to list the packages.

INNODB
  InnoDB table type support is compiled in but disabled by
  default. Comment out the skip-innodb line in /etc/my.cnf
  to fully enable InnoDB support.

Added opt/mysql/my.cnf.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#
# /etc/my.cnf
#

[mysqld]
datadir          = /var/lib/mysql
user             = mysql
pid-file         = /var/run/mysqld.pid
socket           = /tmp/mysql.sock
port             = 3306
general_log      = 1
general_log_file = /var/log/mysqld.log

skip-networking
skip-innodb
default-storage-engine = MYISAM


[client]
socket = /tmp/mysql.sock
port   = 3306

# End of file

Added opt/mysql/mysqld.































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/bin/sh
#
# /etc/rc.d/mysqld: start/stop mysqld daemon
#

MYSQL_CFG=/etc/my.cnf

MYSQL_PID=`sed -n 's/^pid-file[ \t]*=[ \t]*//p' $MYSQL_CFG`
MYSQL_USR=`sed -n 's/^user[ \t]*=[ \t]*//p' $MYSQL_CFG`

case $1 in
start)
	touch $MYSQL_PID
	chown $MYSQL_USR $MYSQL_PID
	/usr/sbin/mysqld &
	;;
stop)
	killall -q /usr/sbin/mysqld 
	rm $MYSQL_PID
	;;
restart)
	$0 stop
	sleep 2
	$0 start
	;;
*)
	echo "usage: $0 [start|stop|restart]"
	;;
esac

# End of file

Added opt/mysql/pre-install.













>
>
>
>
>
>
1
2
3
4
5
6
#!/bin/sh

getent group mysql || /usr/sbin/groupadd -g 46 mysql
getent passwd mysql || /usr/sbin/useradd -g mysql -u 46 -d /var/lib/mysql -s /bin/false mysql
/usr/bin/passwd -l mysql

Added opt/nano/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: GNU pico clone (a tiny text editor)
# URL:         http://www.nano-editor.org
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Packager:    Simone Rota, sip at crux dot nu
# Depends on:  ncurses

name=nano
version=2.2.6
release=1
source=(http://www.nano-editor.org/dist/v2.2/$name-$version.tar.gz)

build(){
    cd $name-$version
    ./configure --prefix=/usr --disable-nls --mandir=/usr/man
    make
    make DESTDIR=$PKG install
    rm -r $PKG/usr/share
    rm $PKG/usr/bin/rnano $PKG/usr/man/man1/rnano.1
}

Added opt/ncurses-ruby/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Ruby module for accessing the ncurses library
# URL:         http://ncurses-ruby.berlios.de
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  ruby 

name=ncurses-ruby
version=1.2.4
release=2
source=(http://download.berlios.de/$name/$name-$version.tar.bz2
        $name-${version}_ruby-1.9.2.patch)

build () {
    cd $name-$version
    patch -p1 -i $SRC/$name-${version}_ruby-1.9.2.patch
    ruby extconf.rb --vendor
    make
    make DESTDIR=$PKG install
}

Added opt/ncurses-ruby/ncurses-ruby-1.2.4_ruby-1.9.2.patch.

































































































































































































































































































































































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
diff -Nru ncurses-ruby-1.2.4.orig/form_wrap.c ncurses-ruby-1.2.4/form_wrap.c
--- ncurses-ruby-1.2.4.orig/form_wrap.c	2010-08-31 16:12:57.742769706 +0200
+++ ncurses-ruby-1.2.4/form_wrap.c	2010-08-31 16:18:56.859158235 +0200
@@ -623,7 +623,8 @@
 		char** list = ALLOC_N(char*, n+1);
 		int i;
 		for (i = 0; i < n; i++) {
-		  list[i] = STR2CSTR(rb_ary_entry(arg3, (long)i));
+			VALUE t = rb_ary_entry(arg3, (long)i);
+			list[i] = StringValuePtr(t);
 		}
 		list[n] = NULL;
 		return INT2NUM(set_field_type(field, ftype, 
@@ -652,7 +653,7 @@
 	 if (argc != 2)
 		rb_raise(rb_eArgError, "TYPE_REGEXP requires one additional argument");
 	 return INT2NUM(set_field_type(field, ftype, 
-											 STR2CSTR(arg3)));
+											 StringValuePtr(arg3)));
   }
   else if (ftype == TYPE_IPV4){	
 	 if (argc != 1)
@@ -740,7 +741,7 @@
  */
 static VALUE rbncurs_c_set_field_buffer(VALUE rb_field, VALUE buf, VALUE value) {
   FIELD* field = get_field(rb_field);
-  return INT2NUM(set_field_buffer(field, NUM2INT(buf), STR2CSTR(value)));
+  return INT2NUM(set_field_buffer(field, NUM2INT(buf), StringValuePtr(value)));
 }
 static VALUE rbncurs_m_set_field_buffer(VALUE dummy, VALUE rb_field, VALUE buf, VALUE value)
 { return rbncurs_c_set_field_buffer(rb_field, buf, value); }
@@ -1050,7 +1051,7 @@
 { return rbncurs_c_form_request_name(request); }
 
 static VALUE rbncurs_c_form_request_by_name(VALUE name) {
-  return INT2NUM(form_request_by_name(STR2CSTR(name)));
+  return INT2NUM(form_request_by_name(StringValuePtr(name)));
 }
 static VALUE rbncurs_m_form_request_by_name(VALUE dummy, VALUE name)
 { return rbncurs_c_form_request_by_name(name); }
diff -Nru ncurses-ruby-1.2.4.orig/menu_wrap.c ncurses-ruby-1.2.4/menu_wrap.c
--- ncurses-ruby-1.2.4.orig/menu_wrap.c	2010-08-31 16:12:57.742769706 +0200
+++ ncurses-ruby-1.2.4/menu_wrap.c	2010-08-31 16:13:13.642060439 +0200
@@ -370,7 +370,7 @@
  * Item creation/destruction functions - mitem_new(3X) man page
  */
 static VALUE rbncurs_m_new_item(VALUE dummy, VALUE name, VALUE description)
-{ return wrap_item(new_item(STR2CSTR(name), STR2CSTR(description))); }
+{ return wrap_item(new_item(StringValuePtr(name), StringValuePtr(description))); }
 
 static VALUE rbncurs_c_free_item(VALUE rb_item)
 {
@@ -668,7 +668,7 @@
 
 static VALUE rbncurs_c_menu_request_by_name(VALUE name)
 {
-  return INT2NUM(menu_request_by_name(STR2CSTR(name)));
+  return INT2NUM(menu_request_by_name(StringValuePtr(name)));
 }
 static VALUE rbncurs_m_menu_request_by_name(VALUE dummy, VALUE name)
 { return rbncurs_c_menu_request_by_name(name); }
@@ -907,7 +907,7 @@
 static VALUE rbncurs_c_set_menu_mark(VALUE rb_menu, VALUE value)
 {
   MENU *menu = get_menu(rb_menu);
-  return INT2NUM(set_menu_mark(menu, STR2CSTR(value)));
+  return INT2NUM(set_menu_mark(menu, StringValuePtr(value)));
 }
 static VALUE rbncurs_m_set_menu_mark(VALUE dummy, VALUE rb_field, VALUE value)
 { return rbncurs_c_set_menu_mark(rb_field, value); }
@@ -927,7 +927,7 @@
 static VALUE rbncurs_c_set_menu_pattern(VALUE rb_menu, VALUE pattern)
 {
   MENU *menu = get_menu(rb_menu);
-  return INT2NUM(set_menu_pattern(menu, STR2CSTR(pattern)));
+  return INT2NUM(set_menu_pattern(menu, StringValuePtr(pattern)));
 }
 static VALUE rbncurs_m_set_menu_pattern(VALUE dummy, VALUE rb_menu, VALUE pattern)
 { return rbncurs_c_set_menu_pattern(rb_menu, pattern); }
diff -Nru ncurses-ruby-1.2.4.orig/ncurses_wrap.c ncurses-ruby-1.2.4/ncurses_wrap.c
--- ncurses-ruby-1.2.4.orig/ncurses_wrap.c	2010-08-31 16:12:57.762768337 +0200
+++ ncurses-ruby-1.2.4/ncurses_wrap.c	2010-08-31 16:13:38.010389384 +0200
@@ -475,7 +475,7 @@
 static VALUE rbncurs_define_key(VALUE dummy, VALUE definition, VALUE keycode)
 {
     return INT2NUM(define_key((definition != Qnil)
-                              ? STR2CSTR(definition)
+                              ? StringValuePtr(definition)
                               : (char*)(NULL),
                               NUM2INT(keycode)));
 }
@@ -580,10 +580,10 @@
     return return_value;
 }
 static VALUE rbncurs_addnstr(VALUE dummy, VALUE arg1, VALUE arg2) {
-    return INT2NUM(addnstr(STR2CSTR(arg1),  NUM2INT(arg2)));
+    return INT2NUM(addnstr(StringValuePtr(arg1),  NUM2INT(arg2)));
 }
 static VALUE rbncurs_addstr(VALUE dummy, VALUE arg1) {
-    return INT2NUM(addstr(STR2CSTR(arg1)));
+    return INT2NUM(addstr(StringValuePtr(arg1)));
 }
 static VALUE rbncurs_attroff(VALUE dummy, VALUE arg1) {
     return INT2NUM(attroff(NUM2ULONG(arg1)));
@@ -1011,10 +1011,10 @@
     return INT2NUM(insertln());
 }
 static VALUE rbncurs_insnstr(VALUE dummy, VALUE arg1, VALUE arg2) {
-    return INT2NUM(insnstr(STR2CSTR(arg1),  NUM2INT(arg2)));
+    return INT2NUM(insnstr(StringValuePtr(arg1),  NUM2INT(arg2)));
 }
 static VALUE rbncurs_insstr(VALUE dummy, VALUE arg1) {
-    return INT2NUM(insstr(STR2CSTR(arg1)));
+    return INT2NUM(insstr(StringValuePtr(arg1)));
 }
 #ifdef HAVE_INTRFLUSH
 static VALUE rbncurs_intrflush(VALUE dummy, VALUE arg1, VALUE arg2) {
@@ -1070,10 +1070,10 @@
     return return_value;
 }
 static VALUE rbncurs_mvaddnstr(VALUE dummy, VALUE arg1, VALUE arg2, VALUE arg3, VALUE arg4) {
-    return INT2NUM(mvaddnstr(NUM2INT(arg1),  NUM2INT(arg2),  STR2CSTR(arg3),  NUM2INT(arg4)));
+    return INT2NUM(mvaddnstr(NUM2INT(arg1),  NUM2INT(arg2),  StringValuePtr(arg3),  NUM2INT(arg4)));
 }
 static VALUE rbncurs_mvaddstr(VALUE dummy, VALUE arg1, VALUE arg2, VALUE arg3) {
-    return INT2NUM(mvaddstr(NUM2INT(arg1),  NUM2INT(arg2),  STR2CSTR(arg3)));
+    return INT2NUM(mvaddstr(NUM2INT(arg1),  NUM2INT(arg2),  StringValuePtr(arg3)));
 }
 #ifdef HAVE_MVCHGAT
 static VALUE rbncurs_mvchgat(VALUE dummy, VALUE arg1, VALUE arg2, VALUE arg3, VALUE arg4, VALUE arg5, VALUE arg6) {
@@ -1106,10 +1106,10 @@
     return INT2NUM(mvinsch(NUM2INT(arg1),  NUM2INT(arg2),  NUM2ULONG(arg3)));
 }
 static VALUE rbncurs_mvinsnstr(VALUE dummy, VALUE arg1, VALUE arg2, VALUE arg3, VALUE arg4) {
-    return INT2NUM(mvinsnstr(NUM2INT(arg1),  NUM2INT(arg2),  STR2CSTR(arg3),  NUM2INT(arg4)));
+    return INT2NUM(mvinsnstr(NUM2INT(arg1),  NUM2INT(arg2),  StringValuePtr(arg3),  NUM2INT(arg4)));
 }
 static VALUE rbncurs_mvinsstr(VALUE dummy, VALUE arg1, VALUE arg2, VALUE arg3) {
-    return INT2NUM(mvinsstr(NUM2INT(arg1),  NUM2INT(arg2),  STR2CSTR(arg3)));
+    return INT2NUM(mvinsstr(NUM2INT(arg1),  NUM2INT(arg2),  StringValuePtr(arg3)));
 }
 #ifdef HAVE_MVVLINE
 static VALUE rbncurs_mvvline(VALUE dummy, VALUE arg1, VALUE arg2, VALUE arg3, VALUE arg4) {
@@ -1137,10 +1137,10 @@
     return return_value;
 }
 static VALUE rbncurs_mvwaddnstr(VALUE dummy, VALUE arg1, VALUE arg2, VALUE arg3, VALUE arg4, VALUE arg5) {
-    return INT2NUM(mvwaddnstr(get_window(arg1),  NUM2INT(arg2),  NUM2INT(arg3),  STR2CSTR(arg4),  NUM2INT(arg5)));
+    return INT2NUM(mvwaddnstr(get_window(arg1),  NUM2INT(arg2),  NUM2INT(arg3),  StringValuePtr(arg4),  NUM2INT(arg5)));
 }
 static VALUE rbncurs_mvwaddstr(VALUE dummy, VALUE arg1, VALUE arg2, VALUE arg3, VALUE arg4) {
-    return INT2NUM(mvwaddstr(get_window(arg1),  NUM2INT(arg2),  NUM2INT(arg3),  STR2CSTR(arg4)));
+    return INT2NUM(mvwaddstr(get_window(arg1),  NUM2INT(arg2),  NUM2INT(arg3),  StringValuePtr(arg4)));
 }
 #ifdef HAVE_MVWCHGAT
 static VALUE rbncurs_mvwchgat(VALUE dummy, VALUE arg1, VALUE arg2, VALUE arg3, VALUE arg4, VALUE arg5, VALUE arg6, VALUE arg7) {
@@ -1171,10 +1171,10 @@
     return INT2NUM(mvwinsch(get_window(arg1),  NUM2INT(arg2),  NUM2INT(arg3),  NUM2ULONG(arg4)));
 }
 static VALUE rbncurs_mvwinsnstr(VALUE dummy, VALUE arg1, VALUE arg2, VALUE arg3, VALUE arg4, VALUE arg5) {
-    return INT2NUM(mvwinsnstr(get_window(arg1),  NUM2INT(arg2),  NUM2INT(arg3),  STR2CSTR(arg4),  NUM2INT(arg5)));
+    return INT2NUM(mvwinsnstr(get_window(arg1),  NUM2INT(arg2),  NUM2INT(arg3),  StringValuePtr(arg4),  NUM2INT(arg5)));
 }
 static VALUE rbncurs_mvwinsstr(VALUE dummy, VALUE arg1, VALUE arg2, VALUE arg3, VALUE arg4) {
-    return INT2NUM(mvwinsstr(get_window(arg1),  NUM2INT(arg2),  NUM2INT(arg3),  STR2CSTR(arg4)));
+    return INT2NUM(mvwinsstr(get_window(arg1),  NUM2INT(arg2),  NUM2INT(arg3),  StringValuePtr(arg4)));
 }
 #ifdef HAVE_MVWVLINE
 static VALUE rbncurs_mvwvline(VALUE dummy, VALUE arg1, VALUE arg2, VALUE arg3, VALUE arg4, VALUE arg5) {
@@ -1238,7 +1238,7 @@
 }
 #ifdef HAVE_PUTP
 static VALUE rbncurs_putp(VALUE dummy, VALUE arg1) {
-    return INT2NUM(putp(STR2CSTR(arg1)));
+    return INT2NUM(putp(StringValuePtr(arg1)));
 }
 #endif
 #ifdef HAVE_QIFLUSH
@@ -1271,12 +1271,12 @@
 }
 #ifdef HAVE_SCR_DUMP
 static VALUE rbncurs_scr_dump(VALUE dummy, VALUE arg1) {
-    return INT2NUM(scr_dump(STR2CSTR(arg1)));
+    return INT2NUM(scr_dump(StringValuePtr(arg1)));
 }
 #endif
 #ifdef HAVE_SCR_INIT
 static VALUE rbncurs_scr_init(VALUE dummy, VALUE arg1) {
-    return INT2NUM(scr_init(STR2CSTR(arg1)));
+    return INT2NUM(scr_init(StringValuePtr(arg1)));
 }
 #endif
 static VALUE rbncurs_scrl(VALUE dummy, VALUE arg1) {
@@ -1290,12 +1290,12 @@
 }
 #ifdef HAVE_SCR_RESTORE
 static VALUE rbncurs_scr_restore(VALUE dummy, VALUE arg1) {
-    return INT2NUM(scr_restore(STR2CSTR(arg1)));
+    return INT2NUM(scr_restore(StringValuePtr(arg1)));
 }
 #endif
 #ifdef HAVE_SCR_SET
 static VALUE rbncurs_scr_set(VALUE dummy, VALUE arg1) {
-    return INT2NUM(scr_set(STR2CSTR(arg1)));
+    return INT2NUM(scr_set(StringValuePtr(arg1)));
 }
 #endif
 static VALUE rbncurs_setscrreg(VALUE dummy, VALUE arg1, VALUE arg2) {
@@ -1352,7 +1352,7 @@
     return INT2NUM(slk_restore());
 }
 static VALUE rbncurs_slk_set(VALUE dummy, VALUE arg1, VALUE arg2, VALUE arg3) {
-    return INT2NUM(slk_set(NUM2INT(arg1),  STR2CSTR(arg2),  NUM2INT(arg3)));
+    return INT2NUM(slk_set(NUM2INT(arg1),  StringValuePtr(arg2),  NUM2INT(arg3)));
 }
 static VALUE rbncurs_slk_touch(VALUE dummy) {
     return INT2NUM(slk_touch());
@@ -1383,17 +1383,17 @@
 }
 #ifdef HAVE_TIGETFLAG
 static VALUE rbncurs_tigetflag(VALUE dummy, VALUE arg1) {
-    return INT2NUM(tigetflag(STR2CSTR(arg1)));
+    return INT2NUM(tigetflag(StringValuePtr(arg1)));
 }
 #endif
 #ifdef HAVE_TIGETNUM
 static VALUE rbncurs_tigetnum(VALUE dummy, VALUE arg1) {
-    return INT2NUM(tigetnum(STR2CSTR(arg1)));
+    return INT2NUM(tigetnum(StringValuePtr(arg1)));
 }
 #endif
 #ifdef HAVE_TIGETSTR
 static VALUE rbncurs_tigetstr(VALUE dummy, VALUE arg1) {
-    return rb_str_new2(tigetstr(STR2CSTR(arg1)));
+    return rb_str_new2(tigetstr(StringValuePtr(arg1)));
 }
 #endif
 static VALUE rbncurs_timeout(VALUE dummy, VALUE arg1) {
@@ -1438,10 +1438,10 @@
     return return_value;
 }
 static VALUE rbncurs_waddnstr(VALUE dummy, VALUE arg1, VALUE arg2, VALUE arg3) {
-    return INT2NUM(waddnstr(get_window(arg1),  STR2CSTR(arg2),  NUM2INT(arg3)));
+    return INT2NUM(waddnstr(get_window(arg1),  StringValuePtr(arg2),  NUM2INT(arg3)));
 }
 static VALUE rbncurs_waddstr(VALUE dummy, VALUE arg1, VALUE arg2) {
-    return INT2NUM(waddstr(get_window(arg1),  STR2CSTR(arg2)));
+    return INT2NUM(waddstr(get_window(arg1),  StringValuePtr(arg2)));
 }
 static VALUE rbncurs_wattron(VALUE dummy, VALUE arg1, VALUE arg2) {
     return INT2NUM(wattron(get_window(arg1),  NUM2INT(arg2)));
@@ -1514,10 +1514,10 @@
     return INT2NUM(winsertln(get_window(arg1)));
 }
 static VALUE rbncurs_winsnstr(VALUE dummy, VALUE arg1, VALUE arg2, VALUE arg3) {
-    return INT2NUM(winsnstr(get_window(arg1),  STR2CSTR(arg2),  NUM2INT(arg3)));
+    return INT2NUM(winsnstr(get_window(arg1),  StringValuePtr(arg2),  NUM2INT(arg3)));
 }
 static VALUE rbncurs_winsstr(VALUE dummy, VALUE arg1, VALUE arg2) {
-    return INT2NUM(winsstr(get_window(arg1),  STR2CSTR(arg2)));
+    return INT2NUM(winsstr(get_window(arg1),  StringValuePtr(arg2)));
 }
 static VALUE rbncurs_wmove(VALUE dummy, VALUE arg1, VALUE arg2, VALUE arg3) {
     return INT2NUM(wmove(get_window(arg1),  NUM2INT(arg2),  NUM2INT(arg3)));
@@ -1619,7 +1619,7 @@
 { return rb_str_new2(unctrl(NUM2ULONG(ch))); }
 static VALUE rbncurs_newterm(VALUE dummy, VALUE rb_type, VALUE rb_outfd, VALUE rb_infd)
 {
-    char * type = (rb_type == Qnil) ? (char*)0 : STR2CSTR(rb_type);
+    char * type = (rb_type == Qnil) ? (char*)0 : StringValuePtr(rb_type);
     int outfd = NUM2INT(rb_funcall(rb_outfd, rb_intern("to_i"), 0));
     int infd  = NUM2INT(rb_funcall(rb_infd, rb_intern("to_i"), 0));
     VALUE rb_screen =
@@ -2277,7 +2277,7 @@
 #ifdef HAVE_MCPRINT
 static VALUE rbncurs_mcprint(VALUE dummy, VALUE data, VALUE len)
 {
-    return INT2NUM(mcprint(STR2CSTR(data), NUM2INT(len)));
+    return INT2NUM(mcprint(StringValuePtr(data), NUM2INT(len)));
 }
 #endif
 #ifdef HAVE_HAS_KEY
@@ -2378,9 +2378,8 @@
                  " and a String");
         return Qnil;
     }
-    wprintw(get_window(argv[0]), "%s",
-            STR2CSTR(rb_funcall3(rb_mKernel, rb_intern("sprintf"), argc-1,
-                              argv + 1)));
+    VALUE t = rb_funcall3(rb_mKernel, rb_intern("sprintf"), argc-1, argv + 1);
+    wprintw(get_window(argv[0]), "%s", StringValuePtr(t));
     return Qnil;
 }
 
@@ -2394,14 +2393,14 @@
         return Qnil;
     }
     _tracef("%s",
-            STR2CSTR(funcall3(rb_mKernel, rb_intern("sprintf"), argc, argv)));
+            StringValuePtr(funcall3(rb_mKernel, rb_intern("sprintf"), argc, argv)));
     return Qnil;
 }
 #endif /* HAVE__TRACEF */
 #ifdef HAVE__TRACEDUMP
 static VALUE rbncurs_tracedump(VALUE dummy, VALUE rb_label, VALUE rb_win)
 {
-    _tracedump(STR2CSTR(rb_label), get_window(rb_win));
+    _tracedump(StringValuePtr(rb_label), get_window(rb_win));
 }
 #endif /* HAVE__TRACEDUMP */
 #ifdef HAVE__TRACEATTR
@@ -2706,7 +2705,7 @@
 
 #ifdef HAVE_LOCALE_H
 static VALUE rbncurs_setlocale(VALUE dummy, VALUE category, VALUE locale)
-{   return rb_str_new2(setlocale(NUM2INT(category), STR2CSTR(locale)));}
+{   return rb_str_new2(setlocale(NUM2INT(category), StringValuePtr(locale)));}
 #endif
 
 static void init_safe_functions(void)

Added opt/neon/Pkgfile.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Description: Neon is an HTTP and WebDAV client library
# URL: http://www.webdav.org/neon
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Simone Rota, sip at crux dot nu
# Depends on: openssl expat 

name=neon
version=0.29.6
release=1
source=(http://www.webdav.org/$name/$name-$version.tar.gz)

build() {
    cd $name-$version
    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --with-ssl \
                --with-expat \
                --enable-shared \
                --disable-static \
                --disable-debug
    make
    make DESTDIR=$PKG install
    rm -rf $PKG/usr/share/
}

Added opt/netcat/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: Read and write data across network connections
# URL: http://netcat.sourceforge.net
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Antti Nykanen, aon at iki dot fi
# Depends on:

name=netcat
version=0.7.1
release=2

source=(http://download.sourceforge.net/netcat/netcat-0.7.1.tar.bz2)

build() {
	cd $name-$version
	./configure --prefix=/usr
	make
	make DESTDIR=$PKG install
	rm -rf $PKG/usr/{share,info}
}

Added opt/netpbm/Pkgfile.































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# Description: A set of utilities for converting to/from the netpbm (and related) formats.
# URL: http://netpbm.sourceforge.net/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Antti Nykanen, aon at iki dot fi
# Depends on: libpng libtiff libxml2
# Optional: xorg-libx11

name=netpbm
version=10.57.00
release=1
source=(http://www.hvlinux.net/crux/distfiles/$name/$name-$version.tar.bz2
	config.mk netpbm-10.34-build.patch)

build() {
	cd $name-$version

	unset MAKEFLAGS
	patch -p 1 -i $SRC/netpbm-10.34-build.patch

	sed -e "s|#CFLAGS#|$CFLAGS|" $SRC/config.mk > config.mk
	sed -i -e 's/\(.*\$(SYMLINK) \)\(pnmtopnm\)\(\$(EXE) \)\(pamtopnm\)/\1\4\3\2/' \
		converter/other/Makefile

	make
	make pkgdir=$PKG/usr package

	install -d $PKG/usr/share
	mv $PKG/usr/misc $PKG/usr/share/netpbm

	rm -r $PKG/usr/{README,VERSION,link,man,config_template,pkginfo,bin/doc.url}
}

Added opt/netpbm/config.mk.

















































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
####This file was automatically created by 'configure.'
####Many variables are set twice -- a generic setting, then 
####a system-specific override at the bottom of the file.
####
# This is a make file inclusion, to be included in all the Netpbm make
# files.

# This file is meant to contain variable settings that customize the
# build for a particular target system configuration.

# The distribution contains the file config.mk.in.  You edit
# config.mk.in in ways relevant to your particular environment 
# to create config.mk.  The "configure" program will do this
# for you in simple cases.

# Some of the variables that the including make file must set for this
# file to work:
#
#  SRCDIR: The directory at the top of the Netpbm source tree.  Note that
#  this is typically a relative directory, and it must be relative to the
#  make file that includes this file.

DEFAULT_TARGET = nonmerge
#DEFAULT_TARGET = merge

# Fiasco has some special requirements that make it fail to compile on
# some systems, and since it isn't very important, just set this to "N"
# and skip it on those systems unless you want to debug it and fix it.
# OpenBSD:
#BUILD_FIASCO = N
BUILD_FIASCO = Y

# The following are commands for the build process to use.  These values
# do not get built into anything.

# The C compiler (including macro preprocessor)
CC ?= gcc
# Note that 'cc' is usually an alias for whatever is the main compiler
# on a system, e.g. the GNU Compiler on Linux.
#CC = cc

# The linker.
LD = $(CC)
#LD = ld
#Tru64:
#LD = cc
#LD = gcc 

#If the linker identified above is a compiler that invokes a linker
#(as in 'cc foo.o -o foo'), set LINKERISCOMPILER.  The main difference is
#that we expect a compiler to take linker options in the '-Wl,-opt1,val1'
#syntax whereas the actual linker would take '-opt1 val1'.
LINKERISCOMPILER=Y
#If $(LD) is 'ld':
#LINKERISCOMPILER=N

#LINKER_CAN_DO_EXPLICIT_LIBRARY means the linker specified above can
#take a library as just another link object argument, as in 'ld
#pnmtojpeg.o /usr/local/lib/libjpeg.so ...'  as opposed to requiring a
#-l option as in 'ld pnmtojpeg.o -L/usr/local/lib -l jpeg'.
#This variable controls how 'libopt' gets built.  Note that with some
#linkers, you can specify a shared library explicitly, but then it has
#to live in that exact place at run time.  That's not good enough for us.

LINKER_CAN_DO_EXPLICIT_LIBRARY=N
#GNU:
#LINKER_CAN_DO_EXPLICIT_LIBRARY=Y

# This is the name of the header file that declares the types
# uint32_t, etc.  This name is used as #include $(INTTYPES_H)  .
# Set to null if the types come automatically without including anything.

# We have a report (2005.09.17) that on IRIX 5.3 with the native IDO
# cc, inttypes.h and sys/types.h conflict (and Netpbm programs include
# sys/types for other things), so for that environment, <inttypes.h>
# won't work, but "inttypes_netpbm.h" might.

INTTYPES_H = <inttypes.h>
# Linux libc5:
#INTTYPES_H = <types.h>
# Solaris:
# Solaris has <sys/inttypes.h>, but it doesn't define int_fast2_t, etc.
#INTTYPES_H = "inttypes_netpbm.h"
# Others:
#INTTYPES_H = <sys/stdint.h>
#INTTYPES_H = <sys/types.h>
# The automatically generated Netpbm version:
#INTTYPES_H = "inttypes_netpbm.h"

# HAVE_INT64 tells whether, assuming you include the header indicated by
# INTTYPES_H, you have the int64_t type and related stuff.  (If you don't
# the build will omit certain code that does 64 bit computations).
HAVE_INT64 = Y
#HAVE_INT64 = N

# CC and LD are for building the Netpbm programs, which are not necessarily
# intended to run on the same system on which Make is running.  But when we 
# build a build tool such as Libopt, it is meant to run only on the same 
# system on which the Make is running.  The variables below define programs
# to use to compile and link build tools.
CC_FOR_BUILD = $(CC)
LD_FOR_BUILD = $(LD)
CFLAGS_FOR_BUILD = $(CFLAGS)
LDFLAGS_FOR_BUILD = $(LDFLAGS)

# MAKE is set automatically by Make to what was used to invoke Make.

INSTALL = $(SRCDIR)/buildtools/install.sh
#Solaris:
#INSTALL = /usr/ucb/install
#Tru64:
#INSTALL = installbsd
#OSF1:
#INSTALL = $(SRCDIR)/buildtools/installosf
#Red Hat Linux:
#INSTALL = install

# STRIPFLAG is the option you pass to the above install program to make it
# strip unnecessary information out of binaries.
STRIPFLAG = -s
# If you don't want to strip the binaries, just leave it null:
#STRIPFLAG = 

SYMLINK = ln -s
# At least some Windows environments don't have any concept of symbolic
# links, but direct copies are usually a passable alternative.
#SYMLINK = cp

#MANPAGE_FORMAT is "nroff" or "cat".  It determines in what format the
#pointer man pages are installed (ready to nroff, or ready to cat).  
#A pointer man pages is just a single-paragraph pages that tells you there is
#no man page for the program, to look at the HTML documentation instead.
MANPAGE_FORMAT = nroff
#MANPAGE_FORMAT = cat

AR = ar
RANLIB = ranlib
# IRIX, SCO don't have Ranlib:
#RANLIB = true

# LEX is the beginning of a shell command that runs a Lex-like
# pattern matcher generator.  Null string means there isn't any such
# command.  That means the build will skip parts that need one.

LEX = flex
# Solaris:
# LEX = flex -e
# Windows Mingw:
# LEX =
# 
# LEX = lex

# C compiler options 

# gcc:
# -ansi and -Werror should work too, but are not included
# by default because there's no point in daring the build to fail.
# -pedantic isn't a problem because it causes at worst a warning.
#CFLAGS = -O3 -ffast-math -pedantic -fno-common \
#          -Wall -Wno-uninitialized -Wmissing-declarations -Wimplicit \
#          -Wwrite-strings -Wmissing-prototypes -Wundef -Wno-unknown-pragmas
# The merged programs have a main_XXX subroutine instead of main(),
# which would cause a warning with -Wmissing-declarations or 
# -Wmissing-prototypes.
#CFLAGS_MERGE = -Wno-missing-declarations -Wno-missing-prototypes
# A user of DEC Tru64 4.0F in May 2000 needed -DLONG_32 for ppmtompeg,
# but word size-sensitive code was removed from parallel.c in September 2004.
# A user of Tru64 5.1A in July 2003 needed NOT to have -DLONG_32.  In
# theory, you need this if on your system, long is 32 bits and int is not.
# But it may be completely irrelevant today.
#Tru64:
#CFLAGS = -O2 -std1 -DLONG_32
#CFLAGS = -O2 -std1
#AIX:
#CFLAGS= -O3
#HP-UX:
#CFLAGS= -O3 -fPIC
#IRIX:
#CFLAGS= -n32 -O3
#Amiga with GNU compiler:
#CFLAGS= -m68020-60 -ffast-math -mstackextend 
# You can add -noixemul for Amiga and successfully compile most of the 
# programs.  (Of the remaining ones, if you can supply your own strtod() 
# function, most of them will build with -noixemul).  So try building 
# with 'make --keep-going CADD=-noixemul' first, then just 'make' to build
# everything that failed for lack of the ixemul library in the first step.
# That way, the parts that don't required the ixemul library won't indicate
# a dependency on it.
#OpenBSD:
#CFLAGS = -I/usr/local/include

# EXE is a suffix that the linker puts on any executable it generates.
# In cygwin, this is .exe and most programs deal with its existence without
# us having to know about it.  Some don't though, so set this:

EXE =
#Cygwin, DJGPP/Windows:
#EXE = .exe
  
# linker options.  

# LDFLAGS is often set as an environment variable;  A setting here overrides
# it.  So either make sure you want to override it, or do a "LDFLAGS +=" here.

# LDFLAGS is usually not the right place for a -L option, because we put
# LDFLAGS _before_ our own -L options, so it would cancel out our
# specific selection of libraries.  For example, if you say
# LDFLAGS=/usr/local/lib and an old copy of the libnetpbm is in
# /usr/local/lib, then you'd be linking against that old copy instead of
# the copy you just built, which is located by a -L option later on the
# link command.  LIBS is the right variable for adding -L options.  LIBS
# goes after any of our make files' own -L options.

# Eunice users may want to use -noshare so that the executables can
# run standalone:
#LDFLAGS += -noshare
#Tru64:
# Russ Allberry says on 2001.06.09 that -oldstyle_liblookup may be necessary
# to keep from finding an ancient system libjpeg.so that isn't compatible with
# NetPBM.  Michael Long found that /usr/local/lib is not in the default
# search path, or not soon enough, and he was getting an old libjpeg that
# caused all the jpeg symbol references to be unresolved.  He had installed
# a new libjpeg in /usr/local/lib.
#LDFLAGS += -call_shared -oldstyle_liblookup -L/usr/local/lib
#AIX:
#LDFLAGS += -L /usr/pubsw/lib
#HP-UX:
#LDFLAGS += -Wl,+b,/usr/pubsw/lib
#IRIX:
#LDFLAGS += -n32

# Linker options for created Netpbm shared libraries.

# Here, $(SONAME) resolves to the soname for the shared library being created.
# The following are gcc options.  This works on GNU libc systems.
LDSHLIB = -shared -Wl,-soname,$(SONAME)
# You need -nostart instead of -shared on BeOS.  Though the BeOS compiler is
# ostensibly gcc, it has the -nostart option, which is not mentioned in gcc
# documentation and doesn't exist in at least one non-BeOS installation.
# BeOS doesn't have sonames built in.
#LDSHLIB = -nostart
#LDSHLIB = -G
# Solaris, SunOS with GNU Ld, SCO:
# These systems have no soname option.
#LDSHLIB = -shared
# Solaris with Sun Ld:
#LDSHLIB = -Wl,-Bdynamic,-G,-h,$(SONAME) 
#Tru64:
#LDSHLIB = -shared -expect_unresolved "*"
#IRIX:
#LDSHLIB = -shared -n32
#AIX GNU compiler/linker:
#LDSHLIB = -shared
#AIX Visual Age C:
#LDSHLIB = -qmkshrobj
#Mac OSX:
# According to experiments done by Peter A Crowley in May 2007, if
# libnetpbm goes in a standard place such as /usr/local/lib,
# programs need not be built with libnetpbm's location included.
# But if it goes elsewhere, the link-editor must include the
# location in the executable.  It finds the runtime location by
# looking inside the library.  The information in the library
# comes from the install_name option with which the library was
# built.  It's an alternative to the -rpath option on other systems.
#LDSHLIB=-dynamiclib
#LDSHLIB=-dynamiclib -install_name $(NETPBMLIB_RUNTIME_PATH)/libnetpbm.$(MAJ).dylib

# LDRELOC is the command to combine two .o files (relocateable object files)
# into a single .o file that can later be linked into something else.  NONE
# means no such command is available.

LDRELOC = NONE
# GNU Ld:
# Older GNU Ld misspells the option as --relocateable.  Newer GNU Ld
# correctly spells it --relocatable.  The abbreviation --reloc works on
# both.
#LDRELOC = ld --reloc
#LDRELOC = ld -r


# On older systems, you have to make shared libraries out of position
# independent code, so you need -fpic or fPIC here.  (The rule is: if
# -fpic works, use it.  If it bombs, go to fPIC).  On newer systems,
# it isn't necessary, but can save real memory at the expense of
# execution speed.  Without position independent code, the library
# loader may have to patch addresses into the executable text.  On an
# older system, this would cause a program crash because the loader
# would be writing into read-only shared memory.  But on newer
# systems, the system silently creates a private mapping of the page
# or segment being modified (the "copy on write" phenomenon).  So it
# needs its own private real page frame.  In one experiment, A second
# copy of Pbmtext used 16K less real memory when built with -fpic than
# when built without.  2001.06.02.

# We have seen -fPIC required on IA64 and AMD64 machines (GNU
# compiler/linker).  Build-time linking fails without it.  I don't
# know why -- history seems to be repeating itself.  2005.02.23.

CFLAGS_SHLIB = 
# Gcc:
#CFLAGS_SHLIB = -fpic
#CFLAGS_SHLIB = -fPIC
# Sun compiler:
#CFLAGS_SHLIB = -Kpic
#CFLAGS_SHLIB = -KPIC

# SHLIB_CLIB is the link option to include the C library in a shared library,
# normally "-lc".  On typical systems, this serves no purpose.  On some,
# though, it causes information about which C library to use to be recorded
# in the shared library and thus choose the correct library among several or
# avoid using an incompatible one.  But on some systems, the link fails.
# On 2002.09.30, "John H. DuBois III" <spcecdt@armory.com> reports that on 
# SCO OpenServer, he gets the following error message with -lc:
#
#  -lc; relocations referenced  ;  from file(s) /usr/ccs/lib/libc.so(random.o);
#   fatal error: relocations remain against allocatable but non-writable 
#   section: ; .text

SHLIB_CLIB = -lc
# SCO:
#SHLIB_CLIB =

# On some systems you have to build into an executable the list of
# directories where its dynamically linked libraries can be found at
# run time.  This is typically done with a -R or -rpath linker
# option.  Even on systems that don't require it, you might prefer to do
# that rather than set up environment variables or configuration files
# to tell the system where the libraries are.  A "Y" here means to put
# the directory information in the executable at link time.

NEED_RUNTIME_PATH = N
# Solaris, SunOS, NetBSD, AIX:
#NEED_RUNTIME_PATH = Y

# RPATHOPTNAME is the option you use on the link command to specify
# a runtime search path for a shared library.  It is meaningless unless
# NEED_RUNTIME_PATH is Y.
RPATHOPTNAME = -rpath

# The following variables tell where your various libraries on which
# Netpbm depends live.  The LIBxxx variable is a full file
# specification of the link library (not necessarily the library used
# at run time).  e.g. "/usr/local/lib/graphics/libjpeg.so".  It usually
# doesn't matter if the library prefix and suffix are right -- you can
# use "lib" and ".so" or ".a" regardless of what your system actually
# uses because these just turn into "-L" and "-l" linker options
# anyway.  ".a" implies a static library for some purposes, though.
# If you don't have the library in question, use a value of NONE for
# LIBxxx and the build will simply skip the programs that require that
# library.  If the library is in your linker's (or the Netpbm build's)
# default search path, leave off the directory part, e.g. "libjpeg.so".

# The xxxHDR_DIR variable is the directory in which the interface
# headers for the library live (e.g. /usr/include).  If they are in your
# compiler's default search path, set this variable to null.

# This is where the Netpbm shared libraries will reside when Netpbm is
# fully installed.  In some configurations, the Netpbm builder builds
# this information into the Netpbm executables.  This does NOT affect
# where the Netpbm installer installs the libraries.  A null value
# means the libraries are in a default search path used by the runtime
# library loader.
NETPBMLIB_RUNTIME_PATH = 
#NETPBMLIB_RUNTIME_PATH = /usr/lib/netpbm

# The TIFF library.  See above.  If you want to build the tiff
# converters, you must have the tiff library already installed.

TIFFLIB = NONE
TIFFHDR_DIR =

#TIFFLIB = libtiff.so
#TIFFHDR_DIR = /usr/include/libtiff
#NetBSD:
#TIFFLIB = $(LOCALBASE)/lib/libtiff.so
#TIFFHDR_DIR = $(LOCALBASE)/include
# OSF, Tru64:
#TIFFLIB = /usr/local1/DEC/lib/libtiff.so
#TIFFHDR_DIR = /usr/local1/DEC/include

# Some TIFF libraries do Jpeg and/or Z (flate) compression and thus any
# program linked with the TIFF library needs a Jpeg and/or Z library.
# Some TIFF libraries have such library statically linked in, but others
# need it to be dynamically linked at program load time.
# Make this 'N' if youf TIFF library doesn't need such dynamic linking.
# As of 2005.01, the most usual build of the TIFF library appears to require
# both.
TIFFLIB_NEEDS_JPEG = Y
TIFFLIB_NEEDS_Z = Y

# The JPEG library.  See above.  If you want to build the jpeg
# converters you must have the jpeg library already installed.

# Tiff files can use JPEG compression, so the Tiff library can reference
# the JPEG library.  If your Tiff library references a dynamic JPEG 
# library, you must specify at least JPEGLIB here, or the Tiff
# converters will not build.  Note that your Tiff library may have the
# JPEG stuff statically linked in, in which case you won't need 
# JPEGLIB in order to build the Tiff converters.

JPEGLIB = NONE
JPEGHDR_DIR =
#JPEGLIB = libjpeg.so
#JPEGHDR_DIR = /usr/include/jpeg
# Netbsd:
#JPEGLIB = ${LOCALBASE}/lib/libjpeg.so
#JPEGHDR_DIR = ${LOCALBASE}/include
# OSF, Tru64:
#JPEGLIB = /usr/local1/DEC/libjpeg.so
#JPEGHDR_DIR = /usr/local1/DEC/include
# Typical:
#JPEGLIB = /usr/local/lib/libjpeg.so
#JPEGHDR_DIR = /usr/local/include
# Don't build JPEG stuff:
#JPEGLIB = NONE


# The PNG library.  See above.  If you want to build the PNG
# converters you must have the PNG library already installed.

# The PNG library, by convention starting around April 2002, gets installed
# with names that include a version number, such as libpng10.a and header
# files in /usr/include/libpng10.  But there is conventionally an unnumbered
# alias (e.g. libpng.a, /usr/include/libpng) for the preferred version.
#
# Recent versions of the library (since some time in the 2002-2006 period)
# have an associated 'libpng-config' that tells how to link it.  The make
# files will use that program if it exists (must be in the PATH).  In that
# case, PNGLIB and PNGHDR_DIR are irrelevant, but PNGVER is still meaningful,
# because the make file runs 'libpng$(PNGVER)-config'.
#
# Even more recent versions have the more modern Pkgconfig database entry
# to tell how to link it.  The make files will try to use that first.
#
# The normal way to choose the libpng the Netpbm build uses from among multiple
# versions on your system is not to mess with the variables below, but rather
# to mess with PKG_CONFIG_PATH or PATH environment variable so that the version
# you want to use appears first in the search path.

PNGLIB = NONE
PNGHDR_DIR =
PNGVER = 
#PNGLIB = libpng$(PNGVER).so
#PNGHDR_DIR = /usr/include/libpng$(PNGVER)
# NetBSD:
#PNGLIB = $(LOCALBASE)/lib/libpng$(PNGVER).so
#PNGHDR_DIR = $(LOCALBASE)/include
# OSF/Tru64:
#PNGLIB = /usr/local1/DEC/lib/libpng$(PNGVER).so
#PNGHDR_DIR = /usr/local1/DEC/include

# The zlib compression library.  See above.  You need it to build
# anything that needs the PNG library (see above).  If you selected
# NONE for the PNG library, it doesn't matter what you specify here --
# it won't get used.
#
# If you have 'libpng-config' (see above), these are irrelevant.

ZLIB = NONE
ZHDR_DIR = 
#ZLIB = libz.so

# The JBIG lossless image compression library (aka JBIG-KIT):

JBIGLIB = $(BUILDDIR)/converter/other/jbig/libjbig.a
JBIGHDR_DIR = $(SRCDIR)/converter/other/jbig

# The Jasper JPEG-2000 image compression library (aka JasPer):
JASPERLIB = $(INTERNAL_JASPERLIB)
JASPERHDR_DIR = $(INTERNAL_JASPERHDR_DIR)
# JASPERDEPLIBS is the libraries (-l options or file names) on which
# The Jasper library depends -- i.e. what you have to link into any
# executable that links in the Jasper library.
JASPERDEPLIBS =
#JASPERDEPLIBS = -ljpeg

# And the Utah Raster Toolkit (aka URT aka RLE) library:

URTLIB = $(BUILDDIR)/urt/librle.a
URTHDR_DIR = $(SRCDIR)/urt

# The X11 library has facilities for talking to an X Window System
# server.  It is required by Pamx.

X11LIB = NONE
X11HDR_DIR =

#X11LIB = /usr/lib/libX11.so
#X11HDR_DIR =

# The Linux SVGA library (Svgalib) is a facility for displaying graphics
# on the Linux console.  It is required by Ppmsvgalib.

LINUXSVGALIB = NONE
LINUXSVGAHDR_DIR = 

#LINUXSVGALIB = /usr/lib/libvga.so
#LINUXSVGAHDR_DIR = /usr/include/vgalib

# If you don't want any network functions, set OMIT_NETWORK to "y".
# The only thing that requires network functions is the option in
# ppmtompeg to run it on multiple computers simultaneously.  On some
# systems network functions don't work or we haven't figured out how to 
# make them work, or they just aren't worth the effort.  
OMIT_NETWORK =
#DJGPP/Windows, Tru64:
#   (there's some minor header problem that prevents network functions from 
#   building on Tru64 2000.10.06)
#OMIT_NETWORK = y

# These are -l options to link in the network libraries.  Often, these are
# built into the standard C library, so this can be null.  This is irrelevant
# if OMIT_NETWORK is "y".

NETWORKLD = 
# Solaris, SunOS:
#NETWORKLD = -lsocket -lnsl
# SCO:
#NETWORKLD = -lsocket, -lresolv

# DONT_HAVE_PROCESS_MGMT is Y if this system doesn't have the usual
# Unix process management stuff - fork, wait, etc.  N for a regular Unix
# system.
DONT_HAVE_PROCESS_MGMT = N

# The following variables are used only by 'make install' (and the
# variants of it).  Paths here don't, for example, get built into any
# programs.

# This is where everything goes when you do 'make package', unless you
# override it by setting 'pkgdir' on the Make command line.
PKGDIR_DEFAULT = /tmp/netpbm

# Subdirectory of the package directory ($(pkgdir)) in which man pages
# go.
PKGMANDIR = man

# File permissions for installed files.
# Note that on some systems (e.g. Solaris), 'install' can't use the 
# mnemonic permissions - you have to use octal.

# binaries (pbmmake, etc)
INSTALL_PERM_BIN =  755       # u=rwx,go=rx
# shared libraries (libpbm.so, etc)
INSTALL_PERM_LIBD = 755       # u=rwx,go=rx
# static libraries (libpbm.a, etc)
INSTALL_PERM_LIBS = 644       # u=rw,go=r
# header files (pbm.h, etc)
INSTALL_PERM_HDR =  644       # u=rw,go=r
# man pages (pbmmake.1, etc)
INSTALL_PERM_MAN =  644       # u=rw,go=r
# data files (pnmtopalm color maps, etc)
INSTALL_PERM_DATA = 644       # u=rw,go=r

# Specify the suffix that want the man pages to have.

SUFFIXMANUALS1 = 1
SUFFIXMANUALS3 = 3
SUFFIXMANUALS5 = 5

#NETPBMLIBTYPE tells the kind of libraries that will get built to hold the
#Netpbm library functions.  The value is used only in make file tests.
# "unixshared" means a unix-style shared library, typically named like 
# libxyz.so.2.3
NETPBMLIBTYPE = unixshared
# "unixstatic" means a unix-style static library, (like libxyz.a)
#NETPBMLIBTYPE = unixstatic
# "dll" means a Windows DLL shared library
#NETPBMLIBTYPE = dll
# "dylib" means a Darwin/Mac OS shared library
#NETPBMLIBTYPE = dylib

#NETPBMLIBSUFFIX is the suffix used on whatever kind of library is 
#selected above.  All this is used for is to construct library names.
#The make files never examine the actual value.
NETPBMLIBSUFFIX = so

# "a" is the suffix for unix-style static libraries.  It is also
# traditionally used for shared libraries on AIX.  The Visual Age C
# manual says sometimes .so works on AIX, and GNU software for AIX
# 5.1.0 does indeed use it.  In our experiments, it works fine if you
# name the library file explicitly on the link, but isn't in the -l
# search order.  If you name the library explicitly on the link, the
# library must live in exactly the same position at run time, so we
# can't use that.  Therefore, you cannot build both static and shared
# libraries with AIX.  You have to choose.
#NETPBMLIBSUFFIX = a
# For HP-UX shared libraries:
#NETPBMLIBSUFFIX = sl
# Darwin/Mac OS shared library:
#NETPBMLIBSUFFIX = dylib
# Windows shared library:
#NETPBMLIBSUFFIX = dll

#STATICLIB_TOO is "y" to signify that you want a static library built
#and installed in addition to whatever library type you specified by
#NETPBMLIBTYPE.  If NETPBMLIBTYPE specified a static library,
#STATICLIB_TOO simply has no effect.
STATICLIB_TOO = y
#STATICLIB_TOO = n

#STATICLIBSUFFIX is the suffix that static libraries have.  It's
#meaningless if you aren't building static libraries.
STATICLIBSUFFIX = a

#SHLIBPREFIXLIST is a blank-delimited list of prefixes that a filename
#of a shared library may have on this system.  Traditionally, it's
#just "lib", as in libc or libnetpbm.  On Windows, though, varying
#prefixes are used when multiple alternative forms of a library are
#available.  The first prefix in this list is what we use to name the
#Netpbm shared libraries.
#
# This variable controls how 'libopt' gets built.
#
SHLIBPREFIXLIST = lib
#Cygwin:
#SHLIBPREFIXLIST = cyg lib

NETPBMSHLIBPREFIX = $(firstword $(SHLIBPREFIXLIST))

#DLLVER is used to version the DLLs built on cygwin or other
#windowsish platforms.  We can't add this to LIBROOT, or we'd
#version the static libs (which is bad).  We can't add this
#at the end of the name (like unix does with so numbers) because
#windows will only load dlls whose name ends in "dll".  So,
#we have this variable, which becomes the end of the library "root" name
#for DLLs only.
#
# This variable controls how 'libopt' gets built.
#
DLLVER =
#Cygwin
#DLLVER = $(NETPBM_MAJOR_RELEASE)

#NETPBM_DOCURL is the URL of the main documentation page for Netpbm.
#This is a directory which contains a file for each Netpbm program,
#library, and file type.  E.g. The documentation for jpegtopnm might be in
#http://netpbm.sourceforge.net/doc/jpegtopnm.html .  This value gets
#installed in the man pages (which say no more than to read the webpage)
#and in the Webman netpbm.url file.
NETPBM_DOCURL = http://netpbm.sourceforge.net/doc/
#For a system with no web access, but a local copy of the doc:
#NETPBM_DOCURL = file:/usr/doc/netpbm/





####Lines above were copied from config.mk.in by 'configure'.
####Lines below were added by 'configure' based on the GNU platform.
DEFAULT_TARGET = nonmerge
NETPBMLIBTYPE=unixshared
NETPBMLIBSUFFIX=so
STATICLIB_TOO=y
CFLAGS = #CFLAGS# -O3 -ffast-math -pedantic -fno-common -Wall -Wno-uninitialized -Wmissing-declarations -Wimplicit -Wwrite-strings -Wmissing-prototypes -Wundef -Wno-unknown-pragmas
CFLAGS_MERGE = -Wno-missing-declarations -Wno-missing-prototypes
LDRELOC = ld --reloc
LINKER_CAN_DO_EXPLICIT_LIBRARY=Y
LINKERISCOMPILER = Y
CFLAGS_SHLIB += -fPIC
TIFFLIB = libtiff.so
JPEGLIB = libjpeg.so
ZLIB = libz.so
NETPBM_DOCURL = http://netpbm.sourceforge.net/doc/

Added opt/netpbm/netpbm-10.34-build.patch.



































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
diff -Naur netpbm-10.34.orig/buildtools/libopt.c netpbm-10.34/buildtools/libopt.c
--- netpbm-10.34.orig/buildtools/libopt.c	2006-09-01 10:37:09.000000000 +0200
+++ netpbm-10.34/buildtools/libopt.c	2006-09-01 10:37:20.000000000 +0200
@@ -502,7 +502,7 @@
 
     strcpy(outputLine, "");  /* initial value */
     runtime = FALSE;  /* initial value */
-    quiet = FALSE;   /* initial value */
+    quiet = TRUE;   /* initial value */
     error = FALSE;  /* no error yet */
     for (arg = 1; arg < argc && !error; arg++) {
         if (strcmp(argv[arg], "-runtime") == 0)
diff -Naur netpbm-10.34.orig/GNUmakefile netpbm-10.34/GNUmakefile
--- netpbm-10.34.orig/GNUmakefile	2006-09-01 10:37:09.000000000 +0200
+++ netpbm-10.34/GNUmakefile	2006-09-01 10:37:20.000000000 +0200
@@ -87,6 +87,9 @@
 .PHONY: nonmerge
 nonmerge: $(PRODUCT_SUBDIRS:%=%/all)
 
+$(PRODUCT_SUBDIRS:%=%/all): buildtools/all
+converter/all analyzer/all editor/all generator/all other/all: lib/all
+
 OMIT_CONFIG_RULE = 1
 OMIT_VERSION_H_RULE = 1
 OMIT_INTTYPES_RULE = 1
diff -Naur netpbm-10.34.orig/lib/Makefile netpbm-10.34/lib/Makefile
--- netpbm-10.34.orig/lib/Makefile	2006-09-01 10:37:09.000000000 +0200
+++ netpbm-10.34/lib/Makefile	2006-09-01 10:37:20.000000000 +0200
@@ -244,7 +244,7 @@
 .PHONY: install.staticlib
 install.staticlib: $(PKGDIR)/link
 	$(INSTALL) -c -m $(INSTALL_PERM_LIBS) libnetpbm.$(STATICLIBSUFFIX) \
-	  $(PKGDIR)/link
+	  $(PKGDIR)/lib
 
 # Install a shared library stub -- the ".so" file used at link time to
 # prepare a program for dynamically linking a library at run time 
@@ -252,9 +252,9 @@
 install.sharedlibstub: $(PKGDIR)/link
 ifeq ($(NETPBMLIBTYPE),unixshared)
 # install the link-time (.so) links to the runtime libraries
-	cd $(PKGDIR)/link ; \
+	cd $(PKGDIR)/lib ; \
           rm -f libnetpbm.$(NETPBMLIBSUFFIX); \
-          $(SYMLINK) ../lib/libnetpbm.$(NETPBMLIBSUFFIX).$(MAJ) \
+          $(SYMLINK) libnetpbm.$(NETPBMLIBSUFFIX).$(MAJ) \
             libnetpbm.$(NETPBMLIBSUFFIX)
 endif
 ifeq ($(NETPBMLIBTYPE),dll)

Added opt/netris/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Networked console Tetris clone
# URL: ftp://ftp.netris.org/pub/netris/
# Maintainer: Antti Nykanen, aon at iki dot fi
# Packager: Jukka Heino, jukka dot heino at gmail dot com
# Depends on: ncurses

name=netris
version=0.52
release=1
source=(ftp://ftp.netris.org/pub/netris/$name-$version.tar.gz)

build() {
    cd $name-$version
    ./Configure
    make CFLAGS="$CFLAGS"
    install -D -m 755 netris $PKG/usr/bin/netris
    install -D -m 755 sr $PKG/usr/bin/sr
}

Added opt/nettle/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description: Low-level cryptographic library
# URL: http://www.lysator.liu.se/~nisse/nettle/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Jose V Beneyto, sepen at crux dot nu
# Depends on:

name=nettle
version=2.4
release=1
source=(http://www.lysator.liu.se/~nisse/archive/$name-$version.tar.gz)

build() {
  cd $name-$version

  ./configure --prefix=/usr \
              --libdir=/usr/lib

  make
  make DESTDIR=$PKG install

  rm -rf $PKG/usr/share
}

Added opt/newsbeuter/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: RSS/Atom feed reader for text terminals
# URL:         http://www.newsbeuter.org/
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  curl libxml2 sqlite3 stfl json-c

name=newsbeuter
version=2.5
release=1
source=(http://www.newsbeuter.org/downloads/$name-$version.tar.gz)

build () {
    cd $name-$version
    export prefix=/usr mandir=/usr/man
    ./config.sh
    make
    make DESTDIR=$PKG install
    rm -r $PKG/usr/share
}

Added opt/nfs-utils/Pkgfile.





































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# Description: NFS utilities 
# URL:         http://nfs.sourceforge.net/
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  util-linux-ng tcp_wrappers libcap rpcbind libnfsidmap libevent keyutils

name=nfs-utils
version=1.2.5
release=2
source=(http://downloads.sourceforge.net/project/nfs/$name/$version/$name-$version.tar.bz2 \
        exports idmapd.conf nfs nfsserver)

build () {
    cd $name-$version

    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --sysconfdir=/etc \
                --with-statedir=/var/lib/nfs \
                --disable-gss \
                --with-tcp-wrappers
    make
    make DESTDIR=$PKG install

    install -D -m 755 $SRC/nfs $PKG/etc/rc.d/nfs
    install -D -m 755 $SRC/nfsserver $PKG/etc/rc.d/nfsserver
    install -D -m 644 $SRC/exports $PKG/etc/exports
    install -D -m 644 $SRC/idmapd.conf $PKG/etc/idmapd.conf

    install -d $PKG/var/lib/nfs/{rpc_pipefs,v4recovery}
    install -d $PKG/etc/exports.d
    
    # force rpc.statd to run as user nobody
    chown nobody $PKG/var/lib/nfs
}

Added opt/nfs-utils/exports.











>
>
>
>
>
1
2
3
4
5
#
# /etc/exports: access control list for exported filesystems. See exports(5).
#

# End of file

Added opt/nfs-utils/idmapd.conf.



























>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
#
# /etc/idmapd.conf: configuration file for idmapd, see idmapd.conf(5)
#

[General]
Verbosity = 0
Pipefs-Directory = /var/lib/nfs/rpc_pipefs

[Mapping]
Nobody-User = nobody
Nobody-Group = nobody

# End of file

Added opt/nfs-utils/nfs.

































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/bin/sh
#
# /etc/rc.d/nfs: start/stop nfs client
#

PIPEFS=/var/lib/nfs/rpc_pipefs

case $1 in
start)
	/bin/mount -t rpc_pipefs rpc_pipefs $PIPEFS
	/usr/sbin/sm-notify
	/usr/sbin/rpc.idmapd
	/usr/sbin/rpc.statd
	/bin/mount -a -t nfs
	;;
stop)
	/bin/umount -a -t nfs
	killall -q /usr/sbin/rpc.statd
	killall -q /usr/sbin/rpc.idmapd
	/bin/umount $PIPEFS
	;;
restart)
	$0 stop
	sleep 2
	$0 start
	;;
*)
	echo "usage: $0 [start|stop|restart]"
	;;
esac

# End of file

Added opt/nfs-utils/nfsserver.















































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#!/bin/sh
#
# /etc/rc.d/nfsserver: start/stop nfs server
#

NFSD=/proc/fs/nfsd
PIPEFS=/var/lib/nfs/rpc_pipefs

case $1 in
start)
	/bin/mount -t nfsd nfsd $NFSD
	/bin/mount -t rpc_pipefs rpc_pipefs $PIPEFS
	/usr/sbin/rpc.idmapd
	/usr/sbin/exportfs -a
	/usr/sbin/rpc.mountd
	/usr/sbin/rpc.statd --no-notify
	/usr/sbin/rpc.nfsd --syslog 8
	/usr/sbin/sm-notify
	;;
stop)
	killall -q -2 nfsd
	killall -q /usr/sbin/rpc.statd
	killall -q /usr/sbin/rpc.mountd
	/usr/sbin/exportfs -au
	killall -q /usr/sbin/rpc.idmapd
	/bin/umount $PIPEFS
	/bin/umount $NFSD
	;;
restart)
	$0 stop
	sleep 2
	$0 start
	;;
*)
	echo "usage: $0 [start|stop|restart]"
	;;
esac

# End of file

Added opt/ngrep/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: Network grep utility
# URL:         http://ngrep.sourceforge.net
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  libpcap

name=ngrep
version=1.45
release=2
source=(http://download.sourceforge.net/$name/$name-$version.tar.bz2)

build () {
    cd $name-$version
    ./configure --prefix=/usr \
                --enable-ipv6 \
                --with-pcap-includes=/usr/include/pcap
    make
    install -D -m 755 ngrep $PKG/usr/bin/ngrep
    install -D -m 644 ngrep.8 $PKG/usr/man/man8/ngrep.8
}

Added opt/nspr/Pkgfile.

























































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# Description: Netscape Portable Runtime library
# URL:         http://www.mozilla.org/projects/nspr/
# Maintainer:  Fredrik Rinnestam, fredrik at crux dot nu

name=nspr
version=4.9
release=1
source=(http://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v$version/src/$name-$version.tar.gz
        $name.pc.in)

build() {
    local NSPR_LIBS NSPR_CFLAGS NSPR_VERSION

    cd $name-$version

    ./mozilla/nsprpub/configure \
        --prefix=/usr \
        --libdir=/usr/lib \
        --includedir=/usr/include/nspr \
        --enable-optimize="$CFLAGS" \
        --disable-debug

    make
    make DESTDIR=$PKG install

    NSPR_LIBS=`./config/nspr-config --libs`
    NSPR_CFLAGS=`./config/nspr-config --cflags`
    NSPR_VERSION=`./config/nspr-config --version`

    install -d $PKG/usr/lib/pkgconfig

    sed $SRC/nspr.pc.in \
        -e "s,@libdir@,/usr/lib," \
        -e "s,@prefix@,/usr," \
        -e "s,@exec_prefix@,/usr/bin," \
        -e "s,@includedir@,/usr/include/nspr," \
        -e "s,@NSPR_VERSION@,$NSPR_VERSION," \
        -e "s,@FULL_NSPR_LIBS@,$NSPR_LIBS," \
        -e "s,@FULL_NSPR_CFLAGS@,$NSPR_CFLAGS," > \
        $PKG/usr/lib/pkgconfig/nspr.pc

    rm $PKG/usr/bin/{compile-et.pl,prerr.properties}
    rm -r $PKG/usr/include/nspr/md
}

Added opt/nspr/nspr.pc.in.





















>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@
includedir=@includedir@

Name: NSPR
Description: The Netscape Portable Runtime
Version: @NSPR_VERSION@
Libs: @FULL_NSPR_LIBS@
Cflags: @FULL_NSPR_CFLAGS@

Added opt/nss/Pkgfile.



























































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# Description: Mozilla Network Security Services (NSS)
# URL:         http://www.mozilla.org/projects/security/pki/nss/
# Maintainer:  Fredrik Rinnestam, fredrik at crux dot nu
# Depends on:  nspr sqlite3

name=nss
version=3.13.4
release=1
source=(ftp://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_13_4_RTM/src/$name-$version.tar.gz \
        nss-config.in nss.pc.in)

build() {
    cd $name-$version

    local file

    export NSPR_INCLUDE_DIR=/usr/include/nspr
    export NSPR_LIB_DIR=/usr/lib
    export NSS_USE_SYSTEM_SQLITE=1
    export BUILD_OPT=1

    make -j1 -C mozilla/security/nss build_coreconf build_dbm all

    install -d $PKG/usr/{bin,lib/pkgconfig,include/nss}

    for file in \
        libnss3.so libssl3.so libsmime3.so libsoftokn3.so \
        libsoftokn3.chk libnssckbi.so libfreebl3.so libfreebl3.chk \
        libcrmf.a libnssb.a libnssckfw.a libnssutil3.so libnssdbm3.so
    do
        install -m 0644 mozilla/dist/*.OBJ/lib/$file $PKG/usr/lib
    done

    chmod +x $PKG/usr/lib/*.so

    for file in \
        certutil cmsutil crlutil modutil pk12util signtool signver ssltap
    do
        install -m 0755 mozilla/dist/*.OBJ/bin/$file $PKG/usr/bin
    done

    install -m 0644 mozilla/dist/public/nss/*.h $PKG/usr/include/nss

    # we have to provide our own nss-config, because xulrunner needs it
    install -m 0755 $SRC/nss-config.in $PKG/usr/bin/nss-config

    sed -i "s/@VERSION@/$version/" $PKG/usr/bin/nss-config

    NSS_LIBS=`$PKG/usr/bin/nss-config --libs`
    NSS_CFLAGS=`$PKG/usr/bin/nss-config --cflags`
    sed $SRC/nss.pc.in \
        -e "s,%libdir%,/usr/lib," \
        -e "s,%prefix%,/usr," \
        -e "s,%exec_prefix%,/usr/bin," \
        -e "s,%includedir%,/usr/include/nss," \
        -e "s,%NSS_VERSION%,$version," \
        -e "s,%FULL_NSS_LIBS%,$NSS_LIBS," \
        -e "s,%FULL_NSS_CFLAGS%,$NSS_CFLAGS," > \
            $PKG/usr/lib/pkgconfig/nss.pc

}

Added opt/nss/nss-config.in.





























































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
#!/bin/sh

prefix=/usr
version=@VERSION@

usage()
{
	cat <<EOF
Usage: nss-config [OPTIONS] [LIBRARIES]
Options:
	[--prefix[=DIR]]
	[--exec-prefix[=DIR]]
	[--includedir[=DIR]]
	[--libdir[=DIR]]
	[--version]
	[--libs]
	[--cflags]
Dynamic Libraries:
	nss
	nssutil
	ssl
	smime
EOF
	exit $1
}

if test $# -eq 0; then
	usage 1 1>&2
fi

lib_ssl=yes
lib_smime=yes
lib_nss=yes
lib_nssutil=yes

while test $# -gt 0; do
  case "$1" in
  -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
  *) optarg= ;;
  esac

  case $1 in
    --prefix=*)
      prefix=$optarg
      ;;
    --prefix)
      echo_prefix=yes
      ;;
    --exec-prefix=*)
      exec_prefix=$optarg
      ;;
    --exec-prefix)
      echo_exec_prefix=yes
      ;;
    --includedir=*)
      includedir=$optarg
      ;;
    --includedir)
      echo_includedir=yes
      ;;
    --libdir=*)
      libdir=$optarg
      ;;
    --libdir)
      echo_libdir=yes
      ;;
    --version)
      echo $version
      ;;
    --cflags)
      echo_cflags=yes
      ;;
    --libs)
      echo_libs=yes
      ;;
    ssl)
      lib_ssl=yes
      ;;
    smime)
      lib_smime=yes
      ;;
    nss)
      lib_nss=yes
      ;;
    nssutil)
      lib_nssutil=yes
      ;;
    *)
      usage 1 1>&2
      ;;
  esac
  shift
done

# Set variables that may be dependent upon other variables
if test -z "$exec_prefix"; then
    exec_prefix=${prefix}
fi
if test -z "$includedir"; then
    includedir=${prefix}/include/nss
fi
if test -z "$libdir"; then
    libdir=${exec_prefix}/lib
fi

if test "$echo_prefix" = "yes"; then
    echo $prefix
fi

if test "$echo_exec_prefix" = "yes"; then
    echo $exec_prefix
fi

if test "$echo_includedir" = "yes"; then
    echo $includedir
fi

if test "$echo_libdir" = "yes"; then
    echo $libdir
fi

if test "$echo_cflags" = "yes"; then
    echo -I$includedir
fi

if test "$echo_libs" = "yes"; then
      libdirs="-L$libdir"
      if test -n "$lib_ssl"; then
	libdirs="$libdirs -lssl3"
      fi
      if test -n "$lib_smime"; then
	libdirs="$libdirs -lsmime3"
      fi
      if test -n "$lib_nss"; then
	libdirs="$libdirs -lnss3"
      fi
      if test -n "$lib_nssutil"; then
	libdirs="$libdirs -lnssutil3"
      fi
      echo $libdirs
fi

Added opt/nss/nss.pc.in.





















>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
prefix=%prefix%
exec_prefix=%exec_prefix%
libdir=%libdir%
includedir=%includedir%

Name: NSS
Description: Network Security Services
Version: %NSS_VERSION%
Libs: %FULL_NSS_LIBS%
Cflags: %FULL_NSS_CFLAGS%

Added opt/nvidia/Pkgfile.































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# Description: nVIDIA Linux Display Driver
# URL: http://www.nvidia.com/
# Packager: Matt Housh, jaeger at morpheus dot net
# Maintainer: Juergen Daubert, jue at crux dot nu 
# Depends on: gtk gl-select

name=nvidia
version=295.40
release=1
source=(ftp://download.nvidia.com/XFree86/Linux-x86/$version/NVIDIA-Linux-x86-$version.run \
        $name-makefile.patch)

build() {
    sh NVIDIA-Linux-x86-$version.run --extract-only
    cd NVIDIA-Linux-x86-$version

    # libraries
    install -d $PKG/usr/lib/{tls,vdpau}
    install -m 0755 libGL.so.$version              $PKG/usr/lib
    install -m 0755 libOpenCL.so.1.0.0             $PKG/usr/lib
    install -m 0755 libXvMCNVIDIA.so.$version      $PKG/usr/lib
    install -m 0644 libXvMCNVIDIA.a                $PKG/usr/lib
    install -m 0755 libcuda.so.$version            $PKG/usr/lib
    install -m 0755 libnvidia-cfg.so.$version      $PKG/usr/lib
    install -m 0755 libnvidia-compiler.so.$version $PKG/usr/lib
    install -m 0755 libnvidia-glcore.so.$version   $PKG/usr/lib
    install -m 0755 libnvidia-ml.so.$version       $PKG/usr/lib
    install -m 0755 libnvidia-tls.so.$version      $PKG/usr/lib
    install -m 0755 libnvcuvid.so.$version         $PKG/usr/lib
    install -m 0755 tls/libnvidia-tls.so.$version  $PKG/usr/lib/tls
    install -m 0755 libvdpau_nvidia.so.$version    $PKG/usr/lib/vdpau
    
    ln -s libvdpau_nvidia.so.$version $PKG/usr/lib/vdpau/libvdpau_nvidia.so.1
    ln -s libvdpau_nvidia.so.$version $PKG/usr/lib/vdpau/libvdpau_nvidia.so

    # xorg driver/extensions
    install -d $PKG/usr/lib/xorg/modules/{drivers,extensions}
    install -m 0755 nvidia_drv.so                  $PKG/usr/lib/xorg/modules/drivers
    install -m 0755 libglx.so.$version             $PKG/usr/lib/xorg/modules/extensions
    install -m 0755 libnvidia-wfb.so.$version      $PKG/usr/lib/xorg/modules
    
    # nvidia programs amd man-pages
    install -d $PKG/usr/{bin,man/man1}
    install -m 0755 nvidia-{settings,xconfig}      $PKG/usr/bin
    install -m 0644 nvidia-{settings,xconfig}.1.gz $PKG/usr/man/man1

    # desktop file and icon
    install -d $PKG/usr/share/{applications,pixmaps}
    sed -i 's:__UTILS_PATH__:/usr/bin: ; s:__PIXMAP_PATH__:/usr/share/pixmaps:' nvidia-settings.desktop
    install -m 0644 nvidia-settings.desktop $PKG/usr/share/applications
    install -m 0644 nvidia-settings.png $PKG/usr/share/pixmaps

    # additional symlinks required by gl-select
    ln -s libGL.so.$version $PKG/usr/lib/libGL_so_1_2_nvidia
    ln -s libglx.so.$version $PKG/usr/lib/xorg/modules/extensions/libglx_so_nvidia

    # kernel module, patch Makefile.kbuild for normal users and no load during build
    cd kernel
    patch -p0 -i $SRC/$name-makefile.patch
    ln -s Makefile.kbuild Makefile
    IGNORE_CC_MISMATCH=1 make module
    install -D -m 0644 nvidia.ko $PKG/lib/modules/`uname -r`/extra/nvidia.ko
}

Added opt/nvidia/README.

























































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44

README for nvidia 1xx.xx



*** NOTE for nvidia with udev ***

If using udev, add your user to the "video" group to be able to
use the nvidia devices required for 3d to function properly.


*** NOTE for users of legacy hardware ***

Before installing this port, take a look at the Legacy GPU list on
nvidia's site: http://www.nvidia.com/object/IO_32667.html

If your hardware is supported by either the 1.0-96xx or 1.0-71xx
driver series, install the corresponding port instead of this one.



POST-INSTALL

Use opt/gl-select from ports to select the correct gl/glx
libraries and extensions like so:

	# gl-select use nvidia


POST-REMOVE

Use opt/gl-select from ports to revert to the xorg gl/glx libraries
and extensions like so:

	# gl-select use xorg


When UPGRADING/DOWNGRADING the nvidia port (where the version changes),
use gl-select to revert to xorg and then re-select nvidia in order to
refresh the libGLcore and libGL symlinks, like so:

	# prt-get update nvidia
	# gl-select use xorg; gl-select use nvidia

Added opt/nvidia/nvidia-makefile.patch.















































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
--- Makefile.kbuild.orig	2011-02-25 23:34:52.000000000 +0100
+++ Makefile.kbuild	2011-03-21 09:12:22.003917982 +0100
@@ -218,10 +218,10 @@
 .PHONY: suser-sanity-check rmmod-sanity-check build-sanity-checks
 
 suser-sanity-check:
-	@if ! $(CONFTEST) suser_sanity_check; then exit 1; fi
+	#@if ! $(CONFTEST) suser_sanity_check; then exit 1; fi
 
 rmmod-sanity-check:
-	@if ! $(CONFTEST) rmmod_sanity_check; then exit 1; fi
+	#@if ! $(CONFTEST) rmmod_sanity_check; then exit 1; fi
 
 build-sanity-checks:
 	@if ! $(CONFTEST) cc_version_check 		full_output; then exit 1; fi
@@ -249,9 +249,9 @@
 #
 
 module-install: suser-sanity-check module
-	@mkdir -p $(MODULE_ROOT)/video; \
-	install -m 0664 -o root -g root $(MODULE_OBJECT) $(MODULE_ROOT)/video; \
-	PATH="$(PATH):/bin:/sbin" depmod -ae;
+	#@mkdir -p $(MODULE_ROOT)/video; \
+	#install -m 0664 -o root -g root $(MODULE_OBJECT) $(MODULE_ROOT)/video; \
+	#PATH="$(PATH):/bin:/sbin" depmod -ae;
 
 #
 # This target builds, then installs, then creates device nodes and inserts
@@ -259,8 +259,8 @@
 #
 
 package-install: module-install rmmod-sanity-check
-	@PATH="$(PATH):/bin:/sbin" modprobe $(MODULE_NAME) && \
-	echo "$(MODULE_OBJECT) installed successfully.";
+	#@PATH="$(PATH):/bin:/sbin" modprobe $(MODULE_NAME) && \
+	#echo "$(MODULE_OBJECT) installed successfully.";
 
 #
 # Build an object file suitable for further processing by the installer

Added opt/ocaml/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: Objective CAML Compiler
# URL:         http://caml.inria.fr/
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Packager:    Erlend Bergsas Mikkelsen, howl at online dot no
# Depends on:  binutils gdbm

name=ocaml
version=3.12.1
release=1
source=(http://caml.inria.fr/pub/distrib/$name-3.12/$name-$version.tar.bz2)

build() {
    cd $name-$version
    ./configure -prefix /usr -with-pthread --no-tk 
    make -j1 world.opt
    make PREFIX=$PKG/usr install
    local f
    for f in $PKG/usr/bin/*.opt; do mv $f ${f%%.opt}; done
}

Added opt/openal/Pkgfile.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Description: Cross-platform 3D audio.
# URL: http://kcat.strangesoft.net/openal.html
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Matt Housh, jaeger at crux dot nu
# Depends on: alsa-lib cmake

name=openal
version=1.14
release=1
source=(http://kcat.strangesoft.net/openal-releases/openal-soft-$version.tar.bz2)

build() {
	cd openal-soft-$version/build

	cmake ../ \
		-DCMAKE_INSTALL_PREFIX=/usr \
		-DOSS=OFF \
		-DEXAMPLES=OFF \
		-DCMAKE_BUILD_TYPE=Release #-DCMAKE_VERBOSE_MAKEFILE=true

	make
	make DESTDIR=$PKG install
}

Added opt/openbox/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: Fast, lightweight, standards-compliant window manager
# URL: http://www.icculus.org/openbox/
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-libxinerama, xorg-libxrandr, xorg-libsm, glib, libxml2, pango

name=openbox
version=3.4.11.2
release=1
source=(http://www.icculus.org/$name/releases/$name-$version.tar.gz)

build() {
	cd $name-$version

	./configure --prefix=/usr --mandir=/usr/man --disable-nls

	make
	make DESTDIR=$PKG install

	mv $PKG/usr/share/doc/$name/*.xsd $PKG/usr/etc/xdg/$name
	rm -rf $PKG/usr/share/doc
}

Added opt/openldap/Pkgfile.

















































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# Description: Lightweight Directory Access Protocol (LDAP) Toolkit
# URL: http://www.openldap.org/
# Packager: Daniel Mueller, daniel at danm dot de
# Maintainer: Richard Poettler, richard dot poettler at gmail dot com
# Depends on: perl, openssl, cyrus-sasl

name=openldap
version=2.4.13
release=1
source=(ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/$name-$version.tgz \
	$name-config.patch slurpd slapd)

build() {
	cd $name-$version
	patch -p0 -i $SRC/$name-config.patch

	# Workaround for: (ITS#5464) ucred guarded by __USE_GNU in glibc 2.8
	# http://www.openldap.org/lists/openldap-bugs/200804/msg00074.html
	export CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"

	./configure --prefix=/usr \
		--sysconfdir=/etc \
		--libexecdir=/usr/sbin \
		--localstatedir=/var/openldap \
		--disable-nls \
		--enable-syslog \
		--with-threads \
		--with-tls \
		--with-cyrus-sasl \
		--enable-spasswd \
		--enable-dynamic \
		--enable-ipv6 \
		--enable-modules \
		--enable-crypt \
		--enable-rewrite \
		--enable-ldbm \
		--enable-ldbm-api=berkeley \
		--enable-ldbm-type=btree \
		--enable-bdb \
		--enable-hdb \
		--enable-ldap \
		--enable-meta \
		--enable-monitor \
		--enable-dnssrv \
		--enable-null \
		--enable-perl \
		--with-dyngroup \
		--with-proxycache \
		--enable-wrappers \
		--enable-slurpd \
		--enable-aci \
		--enable-shared

	make depend
	make
	make DESTDIR=$PKG install   

	sed -i -e "s|-L${PKG}/usr/lib||g" $PKG/usr/lib/*.la
	/sbin/ldconfig -n $PKG/usr/lib

	# compatiblity links
	(cd $PKG/usr/lib; 
	 ln -s liblber.so liblber.so.2;
	 ln -s libldap.so libldap.so.2;
	 ln -s libldap_r.so libldap_r.so.2) || exit 1

	mkdir -p $PKG/etc/rc.d
	install -m 755 $SRC/slapd $PKG/etc/rc.d/slapd
	install -m 755 $SRC/slurpd $PKG/etc/rc.d/slurpd

	rm -f $PKG/etc/openldap/schema/README
}

Added opt/openldap/README.





















>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
UPDATE:

When updateing openldap you should first create a backup of all your data with
slapcat, like:

  slapcat -l backup.ldif

Then you upgrade openldap and restore your data with slapadd:

  slapadd -l backup.ldif

Added opt/openldap/openldap-config.patch.



















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Index: servers/slapd/slapd.conf
--- servers/slapd/slapd.conf.orig	2003-05-25 01:19:14.000000000 +0200
+++ servers/slapd/slapd.conf	2003-12-05 10:43:58.000000000 +0100
@@ -64,4 +64,21 @@
 # Mode 700 recommended.
 directory	%LOCALSTATEDIR%/openldap-data
 # Indices to maintain
+
 index	objectClass	eq
+
+#######################################################################
+# replication via slurpd(8)
+#######################################################################
+
+# master server configuration
+#replogfile      %LOCALSTATEDIR%/openldap-slurp
+#replica-pidfile %LOCALSTATEDIR%/slurpd.pid
+#replica         host=slave.example.com:389
+#                binddn="cn=admin,dc=example,dc=org"
+#                bindmethod=simple credentials=secret
+
+# slave server(s) configuration
+#updatedn        "cn=admin,dc=example,dc=org"
+#updateref       ldap://master.example.org
+

Added opt/openldap/slapd.



























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/bin/sh
#
# /etc/rc.d/slapd: start/stop Stand-alone LDAP Daemon
#

SLAPD_PID=/var/openldap/run/slapd.pid

case $1 in
start)
	/usr/sbin/slapd
	;;
stop)
	if [ -f $SLAPD_PID ]; then
		kill -INT `head -1 $SLAPD_PID`
	else
		killall -q /usr/sbin/slapd
	fi
	;;
restart)
	$0 stop
	sleep 2
	$0 start
	;;
*)
	echo "usage: $0 [start|stop|restart]"
	;;
esac

# End of file

Added opt/openldap/slurpd.



























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/bin/sh
#
# /etc/rc.d/slurpd: start/stop Standalone LDAP Update Replication Daemon
#

SLURPD_PID=/var/openldap/run/slurpd.pid

case $1 in
start)
	/usr/sbin/slurpd
	;;
stop)
	if [ -f $SLAPD_PID ]; then
		kill -INT `head -1 $SLURPD_PID`
	else
		killall -q /usr/sbin/slurpd
	fi
	;;
restart)
	$0 stop
	sleep 2
	$0 start
	;;
*)
	echo "usage: $0 [start|stop|restart]"
	;;
esac

# End of file

Added opt/openntpd/Pkgfile.





















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# Description:	Portable version of OpenBSD's NTP implementation
# URL:		http://www.openntpd.org/
# Maintainer:	Alan Mizrahi, alan at mizrahi dot com dot ve
# Packager:	Matt Housh, jaeger at morpheus dot net

name=openntpd
version=3.9p1
release=3
source=(ftp://ftp.openbsd.org/pub/OpenBSD/OpenNTPD/$name-$version.tar.gz \
	ntpd \
	linux-adjtimex.patch )

build() {
	cd $name-$version
	patch -p1 -i $SRC/linux-adjtimex.patch

	./configure \
		--prefix=/usr \
		--sysconfdir=/etc \
		--with-privsep-user=ntp \
		--with-adjtimex
	make
	make DESTDIR=$PKG install
	
	install -D -m 0755 $SRC/ntpd $PKG/etc/rc.d/ntpd
}

Added opt/openntpd/README.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

REQUIREMENTS

PRE-INSTALL

POST-INSTALL

    Create the necessary user 'ntp' and its group 'ntp'.

	groupadd ntp
	useradd -g ntp -d /var/empty -s /bin/false ntp
	passwd -l ntp

MISCELLANEOUS

    Have a look at the start/stop script if you don't like ntpd setting
    the time immediately at startup. That allows for a large time
    correction. Disable that feature by removing the '-s' option.

Added opt/openntpd/linux-adjtimex.patch.











































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
diff -urN openntpd-3.9p1.orig/configure.ac openntpd-3.9p1/configure.ac
--- openntpd-3.9p1.orig/configure.ac	2006-05-14 14:29:23.000000000 +0900
+++ openntpd-3.9p1/configure.ac	2011-11-22 09:34:20.036828225 +0900
@@ -583,6 +583,11 @@
 	[ builtin_arc4random=$withval ]
 )
 
+AC_ARG_WITH(adjtimex,
+	    	[  --with-adjtimex         Use adjtimex to adjust kernel skew],
+	    	[ AC_DEFINE(USE_ADJTIMEX, [], [Use adjust skew with adjtimex (experimental)]) ]
+	    )
+
 AC_ARG_WITH(mantype,
 	[  --with-mantype=man|cat|doc  Set man page type],
 	[
diff -urN openntpd-3.9p1.orig/defines.h openntpd-3.9p1/defines.h
--- openntpd-3.9p1.orig/defines.h	2006-05-14 14:29:21.000000000 +0900
+++ openntpd-3.9p1/defines.h	2011-11-22 09:34:20.036828225 +0900
@@ -20,6 +20,10 @@
 # define setproctitle(x)
 #endif
 
+#ifdef USE_ADJTIMEX
+# define adjtime(a,b)	(_compat_adjtime((a),(b)))
+#endif
+	
 #if !defined(SA_LEN)
 # if defined(HAVE_STRUCT_SOCKADDR_SA_LEN)
 #  define SA_LEN(x)	((x)->sa_len)
diff -urN openntpd-3.9p1.orig/openbsd-compat/Makefile.in openntpd-3.9p1/openbsd-compat/Makefile.in
--- openntpd-3.9p1.orig/openbsd-compat/Makefile.in	2006-05-14 14:29:19.000000000 +0900
+++ openntpd-3.9p1/openbsd-compat/Makefile.in	2011-11-22 09:34:20.036828225 +0900
@@ -9,7 +9,7 @@
 COMPAT=		atomicio.o bsd-arc4random.o bsd-misc.o bsd-poll.o \
 		bsd-snprintf.o bsd-getifaddrs.o bsd-setresuid.o \
 		bsd-setresgid.o fake-rfc2553.o
-PORT=		port-qnx.o
+PORT=		port-linux.o port-qnx.o
 
 VPATH=@srcdir@
 CC=@CC@
diff -urN openntpd-3.9p1.orig/openbsd-compat/openbsd-compat.h openntpd-3.9p1/openbsd-compat/openbsd-compat.h
--- openntpd-3.9p1.orig/openbsd-compat/openbsd-compat.h	2006-05-14 14:29:19.000000000 +0900
+++ openntpd-3.9p1/openbsd-compat/openbsd-compat.h	2011-11-22 09:34:20.036828225 +0900
@@ -46,6 +46,11 @@
                 __attribute__((__format__ (printf, 2, 3)));
 #endif
 
+#ifdef USE_ADJTIMEX
+# include <sys/time.h>
+int _compat_adjtime(const struct timeval *, struct timeval *);
+#endif
+
 #ifndef HAVE_INET_PTON
 int inet_pton(int, const char *, void *);
 #endif
diff -urN openntpd-3.9p1.orig/openbsd-compat/port-linux.c openntpd-3.9p1/openbsd-compat/port-linux.c
--- openntpd-3.9p1.orig/openbsd-compat/port-linux.c	1970-01-01 09:00:00.000000000 +0900
+++ openntpd-3.9p1/openbsd-compat/port-linux.c	2011-11-22 09:34:20.036828225 +0900
@@ -0,0 +1,105 @@
+
+
+/*
+ * Copyright (c) 2004 Darren Tucker <dtucker at zip com au>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#include "includes.h"
+
+#ifdef USE_ADJTIMEX
+#include <sys/timex.h>
+#include <errno.h>
+#ifdef adjtime
+# undef adjtime
+#endif
+
+#include "ntpd.h"
+
+/* scale factor used by adjtimex freq param.  1 ppm = 65536 */
+#define ADJTIMEX_FREQ_SCALE 65536
+
+/* maximum change to skew per adjustment, in PPM */
+#define MAX_SKEW_DELTA 5.0
+
+int
+_compat_adjtime(const struct timeval *delta, struct timeval *olddelta)
+{
+	static struct timeval tlast = {0,0};
+	static double tskew = 0;
+	static int synced = -1;
+	struct timeval tnow, tdelta;
+	double skew = 0, newskew, deltaskew, adjust, interval = 0;
+	struct timex tmx;
+	int result, saved_errno;
+
+	gettimeofday(&tnow, NULL);
+	adjust = (double)delta->tv_sec;
+	adjust += (double)delta->tv_usec / 1000000;
+
+	/* Even if the caller doesn't care about the olddelta, we do */
+	if (olddelta == NULL)
+		olddelta = &tdelta;
+
+	result = adjtime(delta, olddelta);
+	saved_errno = errno;
+
+	if (olddelta->tv_sec == 0 && olddelta->tv_usec == 0 &&
+	    synced != INT_MAX)
+		synced++;
+	 else
+		synced = 0;
+
+	/*
+	 * do skew calculations if we have synced
+	 */
+	if (synced == 0 ) {
+		tmx.modes = 0;
+		if (adjtimex(&tmx) == -1)
+			log_warn("adjtimex get failed");
+		else
+			tskew = (double)tmx.freq / ADJTIMEX_FREQ_SCALE;
+	} else if (synced >= 1) {
+		interval = (double)(tnow.tv_sec - tlast.tv_sec);
+		interval += (double)(tnow.tv_usec - tlast.tv_usec) / 1000000;
+
+		skew = (adjust * 1000000) / interval;
+		newskew = ((tskew * synced) + skew) / synced;
+		deltaskew = newskew - tskew;
+
+		if (deltaskew > MAX_SKEW_DELTA) {
+			log_info("skew change %0.3lf exceeds limit", deltaskew);
+			tskew += MAX_SKEW_DELTA;
+		} else if (deltaskew < -MAX_SKEW_DELTA) {
+			log_info("skew change %0.3lf exceeds limit", deltaskew);
+			tskew -= MAX_SKEW_DELTA;
+		} else {
+			tskew = newskew;
+		}
+
+		/* Adjust the kernel skew.  */
+		tmx.freq = (long)(tskew * ADJTIMEX_FREQ_SCALE);
+		tmx.modes = ADJ_FREQUENCY;
+		if (adjtimex(&tmx) == -1)
+			log_warn("adjtimex set freq failed");
+	}
+
+	log_debug("interval %0.3lf skew %0.3lf total skew %0.3lf", interval,
+	    skew, tskew);
+
+	tlast = tnow;
+	errno = saved_errno;
+	return result;
+}
+#endif

Added opt/openntpd/ntpd.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/bin/sh
#
# /etc/rc.d/ntpd: start/stop ntpd daemon
#

case $1 in
    start)
	/usr/sbin/ntpd -s
	;;
    stop)
	killall -q /usr/sbin/ntpd
	;;
    restart)
	$0 stop
	sleep 2
	$0 start
	;;
    *)
	echo "usage: $0 [start|stop|restart]"
	;;
esac

# End of file

Added opt/openntpd/post-install.











>
>
>
>
>
1
2
3
4
5
#!/bin/sh

/usr/sbin/groupadd ntp
/usr/sbin/useradd -g ntp -d /var/empty -s /bin/false ntp
/usr/bin/passwd -l ntp

Added opt/oprofile/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: A system-wide profiler for Linux
# URL: http://oprofile.sourceforge.net
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: popt

name=oprofile
version=0.9.6
release=1
source=(http://download.sourceforge.net/$name/$name-$version.tar.gz)

build() {
	cd $name-$version

	./configure --prefix=/usr --mandir=/usr/man \
	            --with-kernel-support

	make
	make DESTDIR=$PKG install

	rm -rf $PKG/usr/share/doc
}

Added opt/orc/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: The Oil Runtime Compiler.
# URL: http://code.entropywave.com/projects/orc/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Syl, syl at clyl dot net

name=orc
version=0.4.16
release=1
source=(http://code.entropywave.com/download/$name/$name-$version.tar.gz)

build() {
	cd $name-$version
	./configure --prefix=/usr
	make
	make DESTDIR=$PKG install
	rm -r $PKG/usr/share/gtk-doc
}

Added opt/p5-html-parser/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: HTML::Parser
# URL: http://search.cpan.org/~gaas/HTML-Parser-3.46/
# Maintainer: Lucas Hazel, lucas at die dot net dot au
# Packager: Matt Housh, jaeger at morpheus dot net
# Depends on: p5-html-tagset

name=p5-html-parser
version=3.68
release=1
source=(http://www.cpan.org/authors/id/G/GA/GAAS/HTML-Parser-$version.tar.gz)

build() {
	cd HTML-Parser-$version
	echo "no" | perl Makefile.PL
	make OPTIMIZE="$CFLAGS"
	make DESTDIR=$PKG install
	find ${PKG} -name .packlist -o \
		-name perllocal.pod -o \
		-name '*.bs' | xargs rm
}

Added opt/p5-html-tagset/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: HTML::Tagset
# URL: http://search.cpan.org/~petdance/HTML-Tagset-3.04/
# Maintainer: Lucas Hazel, lucas at die dot net dot au
# Packager: Matt Housh, jaeger at morpheus dot net
# Depends on: perl

name=p5-html-tagset
version=3.04
release=4
source=(http://www.cpan.org/authors/id/S/SB/SBURKE/HTML-Tagset-$version.tar.gz)

build() {
	cd HTML-Tagset-$version
	perl Makefile.PL
	make OPTIMIZE="$CFLAGS"
	make DESTDIR=$PKG install
	find ${PKG} -name perllocal.pod -exec rm '{}' \;
	find ${PKG} -name .packlist -exec rm '{}' \;
}

Added opt/p5-uri/Pkgfile.



























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# Description: Perl Uniform Resource Identifiers Library.
# URL: http://www.cpan.org/modules/by-module/URI/GAAS/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Han Boetes han at mijncomputer dot nl
# Depends on: perl

name=p5-uri
version=1.60
release=1
source=(http://www.cpan.org/modules/by-module/URI/GAAS/URI-$version.tar.gz)

build() {
   cd URI-$version

   perl Makefile.PL
   make
   make install DESTDIR=$PKG
   # Remove perlcrap
   find $PKG \
      -name .packlist -or \
      -name '*.bs' -or \
      -name autosplit.ix -or \
      -name perllocal.pod | xargs rm

   # Remove empty directories
   find $PKG -depth -empty -exec rm -rf {} \;

   chown -R root:root $PKG
}

Added opt/p5-xml-parser/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: XML::Parser
# URL: http://search.cpan.org/dist/XML-Parser/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Matt Housh, jaeger at morpheus dot net
# Depends on: expat perl

name=p5-xml-parser
version=2.41
release=1
source=(http://search.cpan.org/CPAN/authors/id/T/TO/TODDR/XML-Parser-$version.tar.gz)

build() {
	cd XML-Parser-$version
	perl Makefile.PL
	make OPTIMIZE="$CFLAGS"
	make DESTDIR=$PKG install
	find $PKG -name .packlist -o \
		-name perllocal.pod -o \
		-name README -o \
		-name '*.bs' | xargs rm
}

Added opt/pal/Pkgfile.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Description: nice command-line calendar program
# URL: http://palcal.sourceforge.net/
# Maintainer: Simon Glossner, viper at hometux dot de
# Depends on: glib, gettext, readline

name=pal
version=0.4.3
release=1
source=(http://download.sourceforge.net/palcal/$name-$version.tgz)

build() {
    cd $name-$version

    find ./ -type f -exec sed -i 's|/etc|/usr/etc|g' {} \;
    find ./ -type f -exec sed -i 's|/share/man|/man|g' {} \;

    cd src
    make
    make DESTDIR=$PKG install-no-rm 		

    rm -rf $PKG/usr/share/doc
    rm -rf $PKG/usr/share/locale
}

Added opt/pango/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: A library for layout and rendering of text
# URL: http://www.gtk.org/
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: cairo, glib, xorg-libsm, xorg-libxext, xorg-libxft

name=pango
version=1.26.2
release=2
source=(http://download.gnome.org/sources/$name/1.26/$name-$version.tar.bz2 \
	pango.modules)

build () {
	cd $name-$version
	./configure --prefix=/usr --mandir=/usr/man
	make
	make DESTDIR=$PKG install
	install -D -m 644 $SRC/pango.modules $PKG/usr/etc/pango/pango.modules
	rm -r $PKG/usr/share
}

Added opt/pango/pango.modules.







































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# Pango Modules file
# Automatically generated file, do not edit
#
# ModulesPath = /usr/lib/pango/1.6.0/modules
#
/usr/lib/pango/1.6.0/modules/pango-hangul-fc.so HangulScriptEngineFc PangoEngineShape PangoRenderFc hangul:*
/usr/lib/pango/1.6.0/modules/pango-arabic-lang.so ArabicScriptEngineLang PangoEngineLang PangoRenderNone arabic:*
/usr/lib/pango/1.6.0/modules/pango-arabic-fc.so ArabicScriptEngineFc PangoEngineShape PangoRenderFc arabic:* nko:*
/usr/lib/pango/1.6.0/modules/pango-basic-x.so BasicScriptEngineX PangoEngineShape PangoRenderX common:
/usr/lib/pango/1.6.0/modules/pango-thai-fc.so ThaiScriptEngineFc PangoEngineShape PangoRenderFc thai:* lao:*
/usr/lib/pango/1.6.0/modules/pango-indic-fc.so devaScriptEngineFc PangoEngineShape PangoRenderFc devanagari:*
/usr/lib/pango/1.6.0/modules/pango-indic-fc.so bengScriptEngineFc PangoEngineShape PangoRenderFc bengali:*
/usr/lib/pango/1.6.0/modules/pango-indic-fc.so guruScriptEngineFc PangoEngineShape PangoRenderFc gurmukhi:*
/usr/lib/pango/1.6.0/modules/pango-indic-fc.so gujrScriptEngineFc PangoEngineShape PangoRenderFc gujarati:*
/usr/lib/pango/1.6.0/modules/pango-indic-fc.so oryaScriptEngineFc PangoEngineShape PangoRenderFc oriya:*
/usr/lib/pango/1.6.0/modules/pango-indic-fc.so tamlScriptEngineFc PangoEngineShape PangoRenderFc tamil:*
/usr/lib/pango/1.6.0/modules/pango-indic-fc.so teluScriptEngineFc PangoEngineShape PangoRenderFc telugu:*
/usr/lib/pango/1.6.0/modules/pango-indic-fc.so kndaScriptEngineFc PangoEngineShape PangoRenderFc kannada:*
/usr/lib/pango/1.6.0/modules/pango-indic-fc.so mlymScriptEngineFc PangoEngineShape PangoRenderFc malayalam:*
/usr/lib/pango/1.6.0/modules/pango-indic-fc.so sinhScriptEngineFc PangoEngineShape PangoRenderFc sinhala:*
/usr/lib/pango/1.6.0/modules/pango-hebrew-fc.so HebrewScriptEngineFc PangoEngineShape PangoRenderFc hebrew:*
/usr/lib/pango/1.6.0/modules/pango-basic-fc.so BasicScriptEngineFc PangoEngineShape PangoRenderFc latin:* cyrillic:* greek:* armenian:* georgian:* runic:* ogham:* bopomofo:* cherokee:* coptic:* deseret:* ethiopic:* gothic:* han:* hiragana:* katakana:* old-italic:* canadian-aboriginal:* yi:* braille:* cypriot:* limbu:* osmanya:* shavian:* linear-b:* ugaritic:* glagolitic:* cuneiform:* phoenician:* common:
/usr/lib/pango/1.6.0/modules/pango-khmer-fc.so KhmerScriptEngineFc PangoEngineShape PangoRenderFc khmer:*
/usr/lib/pango/1.6.0/modules/pango-indic-lang.so devaIndicScriptEngineLang PangoEngineLang PangoRenderNone devanagari:*
/usr/lib/pango/1.6.0/modules/pango-indic-lang.so bengIndicScriptEngineLang PangoEngineLang PangoRenderNone bengali:*
/usr/lib/pango/1.6.0/modules/pango-indic-lang.so guruIndicScriptEngineLang PangoEngineLang PangoRenderNone gurmukhi:*
/usr/lib/pango/1.6.0/modules/pango-indic-lang.so gujrIndicScriptEngineLang PangoEngineLang PangoRenderNone gujarati:*
/usr/lib/pango/1.6.0/modules/pango-indic-lang.so oryaIndicScriptEngineLang PangoEngineLang PangoRenderNone oriya:*
/usr/lib/pango/1.6.0/modules/pango-indic-lang.so tamlIndicScriptEngineLang PangoEngineLang PangoRenderNone tamil:*
/usr/lib/pango/1.6.0/modules/pango-indic-lang.so teluIndicScriptEngineLang PangoEngineLang PangoRenderNone telugu:*
/usr/lib/pango/1.6.0/modules/pango-indic-lang.so kndaIndicScriptEngineLang PangoEngineLang PangoRenderNone kannada:*
/usr/lib/pango/1.6.0/modules/pango-indic-lang.so mlymIndicScriptEngineLang PangoEngineLang PangoRenderNone malayalam:*
/usr/lib/pango/1.6.0/modules/pango-indic-lang.so sinhIndicScriptEngineLang PangoEngineLang PangoRenderNone sinhala:*
/usr/lib/pango/1.6.0/modules/pango-tibetan-fc.so TibetanScriptEngineFc PangoEngineShape PangoRenderFc tibetan:*
/usr/lib/pango/1.6.0/modules/pango-syriac-fc.so SyriacScriptEngineFc PangoEngineShape PangoRenderFc syriac:*

Added opt/pear/Pkgfile.

























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# Description: Framework and distribution system PHP
# URL: http://pear.php.net/
# Maintainer: Antti Nykanen, aon at iki dot fi
# Depends on: mod_php

name=pear
version=1.8.1
release=1
source=(http://pear.php.net/get/PEAR-$version.tgz \
	http://pear.php.net/get/Archive_Tar-1.3.3.tgz \
	http://pear.php.net/get/Console_Getopt-1.2.3.tgz
	$name.conf http://www.varlock.com/files/$name-registry.tgz)

build() {
	cd PEAR-$version
	mkdir -p $PKG/usr/{bin,etc,share/pear/php}
	cp -r {PEAR{,5}.php,System.php,PEAR,OS} $PKG/usr/share/pear/php
	cp -r ../Archive*/Archive $PKG/usr/share/pear/php
	cp -r ../Console*/Console $PKG/usr/share/pear/php
	install -m 644 scripts/*.php $PKG/usr/share/pear/php
	sed -i 's|@php_bin@|/usr/bin/php|g' scripts/{pear.sh,pecl.sh}
	sed -i 's|@php_dir@|/usr/share/pear/php|g' scripts/{pear.sh,pecl.sh}
	install -m 755 scripts/pear.sh $PKG/usr/bin/pear
	install -m 755 scripts/pecl.sh $PKG/usr/bin/pecl
	install -m 644 ../$name.conf $PKG/usr/etc
	cp -r ../.registry $PKG/usr/share/pear/php

}

Added opt/pear/README.

























>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
README file for pear

post install

Starting from php 5.1.0 we provide pear as a
separate package. The mod_php package does not
longer set/imply the pear include dir, so add
or edit the include_path in /etc/php.ini

example:

include_path = ".:/usr/share/pear/php"

Added opt/pear/pear.conf.





>
>
1
2
#PEAR_Config 0.9
a:7:{s:7:"php_dir";s:19:"/usr/share/pear/php";s:8:"data_dir";s:20:"/usr/share/pear/data";s:7:"ext_dir";s:19:"/usr/share/pear/ext";s:7:"doc_dir";s:20:"/usr/share/pear/docs";s:8:"test_dir";s:21:"/usr/share/pear/tests";s:9:"cache_dir";s:21:"/usr/share/pear/cache";s:7:"bin_dir";s:15:"/usr/share/pear";}

Added opt/php-fcgi/Pkgfile.



































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# Description: CGI/FastCGI version of the PHP interpreter
# URL:         http://www.php.net
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  libpcre libxml2

name=php-fcgi
version=5.3.10
release=1
source=(http://www.php.net/distributions/php-$version.tar.bz2 
        php-fcgi)

build () {
    cd php-$version

    local PHP_CONFIG="
    --prefix=/usr \
    --with-config-file-path=/etc/php \
    --with-config-file-scan-dir=/etc/php/conf.d \
    --with-zlib \
    --with-pcre-regex=/usr \
    --disable-static --disable-debug --without-pear"

    EXTENSION_DIR=/usr/lib/php/extensions \
    ./configure \
        $PHP_CONFIG \
        --enable-cgi \
        --disable-cli 

    make

    install -D -m 755 sapi/cgi/php-cgi $PKG/usr/bin/php-cgi
    install -D -m 755 $SRC/php-fcgi $PKG/etc/rc.d/php-fcgi
}

Added opt/php-fcgi/php-fcgi.





























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/bin/sh
#
# /etc/rc.d/php-fcgi: start/stop FastCGI php daemon
#

PHP=/usr/bin/php-cgi
PORT="127.0.0.1:8000"
#PORT="/tmp/php_fcgi.sock"
USR=www
COUNT=8

case $1 in
start)
	export PHP_FCGI_CHILDREN=$COUNT
	su -s "/bin/sh" $USR -c "$PHP -b $PORT" &
	;;
stop)
	killall -q $PHP
	;;
restart)
	$0 stop
	sleep 2
	$0 start
	;;
*)
	echo "usage: $0 [start|stop|restart]"
	;;
esac

# End of file

Added opt/php-fpm/Pkgfile.

















































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# Description: FastCGI Process Manager for PHP
# URL:         http://www.php.net
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  libpcre libxml2

name=php-fpm
version=5.3.10
release=1
source=(http://www.php.net/distributions/php-$version.tar.bz2 
        php-fpm)

build () {
    cd php-$version

    local PHP_CONFIG="
    --prefix=/usr \
    --sysconfdir=/etc/php \
    --localstatedir=/var \
    --with-config-file-path=/etc/php \
    --with-config-file-scan-dir=/etc/php/conf.d \
    --with-zlib \
    --with-pcre-regex=/usr \
    --disable-static --disable-debug --without-pear"

    EXTENSION_DIR=/usr/lib/php/extensions \
    ./configure \
        $PHP_CONFIG \
        --enable-fpm \
        --disable-cli \
        --with-fpm-user=www \
        --with-fpm-group=www

    make

    install -d $PKG/{usr/{sbin,man/man8},etc/{rc.d,php}}
    install -m 755 sapi/fpm/php-fpm $PKG/usr/sbin/
    install -m 644 sapi/fpm/php-fpm.conf $PKG/etc/php/
    install -m 644 sapi/fpm/php-fpm.8 $PKG/usr/man/man8/
    install -m 755 $SRC/php-fpm $PKG/etc/rc.d/
}

Added opt/php-fpm/php-fpm.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/bin/sh
#
# /etc/rc.d/php-fpm: start/stop FastCGI Process Manager
#

case $1 in
start)
	/usr/sbin/php-fpm
	;;
stop)
	killall -q /usr/sbin/php-fpm
	;;
restart)
	$0 stop
	sleep 2
	$0 start
	;;
*)
	echo "usage: $0 [start|stop|restart]"
	;;
esac

# End of file

Added opt/php-mysql/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: MySQL module for PHP
# URL:         http://www.php.net
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  mysql

name=php-mysql
version=5.3.10
release=1
source=(http://www.php.net/distributions/php-$version.tar.bz2)

build () {
    cd php-$version

    ./configure --disable-all --with-mysql=shared,/usr
    make build-modules

    install -d $PKG/{etc/php/conf.d,usr/lib/php/extensions}
    install -m 755 modules/mysql.so $PKG/usr/lib/php/extensions
    echo "extension=mysql.so" > $PKG/etc/php/conf.d/mysql.ini
}

Added opt/php/Pkgfile.





























































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# Description: PHP interpreter, extension modules and support stuff
# URL:         http://www.php.net
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  ncurses readline libpcre libxml2 curl db gdbm zip

name=php
version=5.3.10
release=1
source=(http://www.php.net/distributions/php-$version.tar.bz2 
        extensions.ini)

build () {
    cd php-$version

    local PHP_CONFIG="
    --prefix=/usr \
    --with-config-file-path=/etc/php \
    --with-config-file-scan-dir=/etc/php/conf.d \
    --with-zlib \
    --with-pcre-regex=/usr \
    --disable-static --disable-debug --without-pear"

    local PHP_SHARED="
    --enable-dba=shared --with-gdbm --with-db4 \
    --with-bz2=shared \
    --with-curl=shared \
    --with-openssl=shared \
    --enable-zip=shared"

    EXTENSION_DIR=/usr/lib/php/extensions \
    ./configure \
        $PHP_CONFIG \
        $PHP_SHARED \
        --enable-cli \
        --disable-cgi \
        --with-readline

    make
    make -j1 INSTALL_ROOT=$PKG install
    rm $PKG/usr/lib/php/extensions/*.a

    sed -i '/^extension_dir/s|=.*$|= "/usr/lib/php/extensions"|' php.ini-*
    install -d $PKG/etc/php/conf.d
    install -m 644 php.ini-* $PKG/etc/php
    install -m 644 $SRC/extensions.ini $PKG/etc/php/conf.d
}

Added opt/php/extensions.ini.





















>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
;
; /etc/php/conf.d/extensions.ini
;

extension=bz2.so
extension=curl.so
extension=dba.so
extension=openssl.so
extension=zip.so

Added opt/pinentry-gtk2/Pkgfile.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Description: Secure PinEntry Dialog
# URL:         http://www.gnupg.org
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    Alan Mizrahi, alan at mizrahi dot com dot ve
# Depends on:  pinentry, gtk

name=pinentry-gtk2
version=0.8.1
release=1
source=(ftp://ftp.gnupg.org/gcrypt/pinentry/pinentry-$version.tar.gz)

build() {
    cd pinentry-$version
        
    ./configure \
      --prefix=/usr \
      --disable-pinentry-{gtk,curses,qt,qt4} \
      --enable-pinentry-gtk2
    make
    make DESTDIR=$PKG install

    rm -rf $PKG/usr/share
    rm $PKG/usr/bin/pinentry
}

Added opt/pinentry-qt4/Pkgfile.



















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# Description: Secure PinEntry Dialog
# URL:         http://www.gnupg.org
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    Alan Mizrahi, alan at mizrahi dot com dot ve
# Depends on:  pinentry qt4

name=pinentry-qt4
version=0.8.1
release=1
source=(ftp://ftp.gnupg.org/gcrypt/pinentry/pinentry-$version.tar.gz)

build() {
    cd pinentry-$version

    ./configure \
      --prefix=/usr \
      --disable-pinentry-{curses,gtk,gtk2,qt} \
      --enable-pinentry-qt4 

    make -j1
    make DESTDIR=$PKG install

    rm -rf $PKG/usr/share
    rm $PKG/usr/bin/pinentry
}

Added opt/pinentry/Pkgfile.





















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# Description: Secure PinEntry Dialog
# URL:         http://www.gnupg.org
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    Alan Mizrahi, alan at mizrahi dot com dot ve
# Depends on: 
# Nice to have: pinentry-gtk2 pinentry-qt4

name=pinentry
version=0.8.1
release=1
source=(ftp://ftp.gnupg.org/gcrypt/$name/$name-$version.tar.gz pinentry)

build() {
    cd $name-$version

    ./configure \
      --prefix=/usr \
      --disable-pinentry-{gtk,gtk2,qt,qt4} \
      --enable-pinentry-curses
    make
    make DESTDIR=$PKG install

    rm -rf $PKG/usr/share
    rm $PKG/usr/bin/pinentry
    install -m 755 ../pinentry $PKG/usr/bin/pinentry
}

Added opt/pinentry/pinentry.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#!/bin/sh
# pinentry wrapper

if [ -x /usr/bin/pinentry-qt4 ];then
  exec /usr/bin/pinentry-qt4 "$@"
fi

if [ -x /usr/bin/pinentry-gtk-2 ];then
  exec /usr/bin/pinentry-gtk-2 "$@"
fi

if [ -x /usr/bin/pinentry-curses ];then
  exec /usr/bin/pinentry-curses "$@"
else
  echo "no pinentry binary available" > /dev/stderr
  exit 1
fi

Added opt/pkg-get-bashcompletion/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: Programmable bash completion for pkt-get
# URL: http://www.varlock.com
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Simone Rota, sip at crux dot nu
# Depends on: bash-completion, pkg-get

name=pkg-get-bashcompletion
version=0.4.5
release=2
source=(http://www.varlock.com/files/pkg-get-$version.tar.gz)

build() {
        cd pkg-get-$version/scripts
        install -D -m 755 pkg-get_completion.sh \
          $PKG/etc/bash_completion.d/pkg-get
}

Added opt/pkg-get/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: Package management tool for CRUX Linux
# URL: http://www.varlock.com
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Simone Rota, sip at crux dot nu
# Depends on: perl

name=pkg-get
version=0.4.5
release=2
source=(http://www.varlock.com/files/$name-$version.tar.gz \
	$name.patch)

build() {
	cd $name-$version
	patch -p1 -i $SRC/$name.patch
	make PREFIX=$PKG/usr CFGDIR=$PKG/etc install
}

Added opt/pkg-get/README.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

README for pkg-get


REQUERIMENTS

	To use pkg-repgen you'll need prt-get to be installed.


IMPORTANT

	The PKGREPO file format chaged a bit from 0.3.3,
	please regenerate your repositories with pkg-repgen

	the /etc/pkg-get.conf options slightly changed
	in version 0.3.0 in order to handle multiple
	repositories.

	pkg-get is beta software. I did not have much
	time to test it, expecially latest features
	added (locking, pre-post install scripts, printf).

Added opt/pkg-get/pkg-get.patch.

























>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
diff -Nru pkg-get-0.4.5.orig/scripts/pkg-get.pl pkg-get-0.4.5/scripts/pkg-get.pl
--- pkg-get-0.4.5.orig/scripts/pkg-get.pl	2006-07-13 05:04:11.000000000 +0200
+++ pkg-get-0.4.5/scripts/pkg-get.pl	2006-07-17 13:01:37.524719500 +0200
@@ -943,7 +943,7 @@
 						printf("%-19s %-19s %-19s\n\n","Package","Installed","Available in the repositories");
 						$gotdiff = 1;
 					}
-					printf("%-19s %-19s %-19s %-19s\n", $pkg{'name'},  $pkg{'instversion'}, $pkg{'version'}."-".$pkg{'release'});
+					printf("%-19s %-19s %-19s\n", $pkg{'name'},  $pkg{'instversion'}, $pkg{'version'}."-".$pkg{'release'});
 				} elsif ($all) { # yeah, it blows, at least avoid to read the locked state twice.
 					if ($gotdiff == 0){
 						print "Differences between installed packages and packages repo:\n\n";

Added opt/popa3d/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: A tiny POP3 daemon designed with security as the primary goal
# URL:         http://www.openwall.com/popa3d
# Maintainer:  Juergen Daubert, jue at crux dot nu

name=popa3d
version=1.0.2
release=1
source=(http://www.openwall.com/popa3d/$name-$version.tar.gz \
        $name-config.patch popa3d)

build () {
    cd $name-$version
    patch -p1 < $SRC/$name-config.patch
    make
    make DESTDIR=$PKG install
    install -D -m 755 $SRC/popa3d $PKG/etc/rc.d/popa3d
}

Added opt/popa3d/popa3d.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/bin/sh
#
# /etc/rc.d/popa3d: start/stop popa3d daemon
#

case $1 in
start)
	/usr/sbin/popa3d -D
	;;
stop)
	killall -q /usr/sbin/popa3d
	;;
restart)
	$0 stop
	sleep 2
	$0 start
	;;
*)
	echo "usage: $0 [start|stop|restart]"
	;;
esac

# End of file

Added opt/popa3d/popa3d-config.patch.







































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
diff -Nru popa3d-1.0.1.orig/Makefile popa3d-1.0.1/Makefile
--- popa3d-1.0.1.orig/Makefile	2006-03-12 11:39:29.000000000 +0100
+++ popa3d-1.0.1/Makefile	2006-03-12 11:39:40.000000000 +0100
@@ -3,13 +3,13 @@
 RM = rm -f
 MKDIR = mkdir -p
 INSTALL = install -c
-CFLAGS = -Wall -O2 -fomit-frame-pointer
+CFLAGS += -Wall -fomit-frame-pointer
 # You may use OpenSSL's MD5 routines instead of the ones supplied here
 #CFLAGS += -DHAVE_OPENSSL
 LDFLAGS = -s
 LIBS =
 # Linux with glibc, FreeBSD, NetBSD
-#LIBS += -lcrypt
+LIBS += -lcrypt
 # HP-UX trusted system
 #LIBS += -lsec
 # Solaris (POP_STANDALONE, POP_VIRTUAL)
@@ -24,7 +24,7 @@
 #LIBS += -lcrypto
 
 DESTDIR =
-PREFIX = /usr/local
+PREFIX = /usr
 SBINDIR = $(PREFIX)/sbin
 MANDIR = $(PREFIX)/man
 
diff -Nru popa3d-1.0.1.orig/params.h popa3d-1.0.1/params.h
--- popa3d-1.0.1.orig/params.h	2006-03-12 11:39:29.000000000 +0100
+++ popa3d-1.0.1/params.h	2006-03-12 11:39:40.000000000 +0100
@@ -13,7 +13,7 @@
 /*
  * Are we going to be a standalone server or start via an inetd clone?
  */
-#define POP_STANDALONE			0
+#define POP_STANDALONE			1
 
 #if POP_STANDALONE
 
@@ -103,7 +103,7 @@
  * A pseudo-user to run as before authentication.  The user and its UID
  * must not be used for any other purpose.
  */
-#define POP_USER			POP_SERVER
+#define POP_USER			"mail"
 
 /*
  * An empty directory to chroot to before authentication.  The directory
@@ -191,7 +191,7 @@
  *
  * #undef this for qmail-style $HOME/Mailbox mailboxes.
  */
-#define MAIL_SPOOL_PATH			"/var/mail"
+#define MAIL_SPOOL_PATH			"/var/spool/mail"
 
 #ifndef MAIL_SPOOL_PATH
 /*
@@ -216,7 +216,7 @@
  */
 #define SYSLOG_IDENT			POP_SERVER
 #define SYSLOG_OPTIONS			LOG_PID
-#define SYSLOG_FACILITY			LOG_DAEMON
+#define SYSLOG_FACILITY			LOG_MAIL
 #define SYSLOG_PRI_LO			LOG_INFO
 #define SYSLOG_PRI_HI			LOG_NOTICE
 #define SYSLOG_PRI_ERROR		LOG_CRIT

Added opt/poppler-data/Pkgfile.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Description: Poppler encoding data
# URL:         http://poppler.freedesktop.org/
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Packager:    Matt Housh, jaeger at crux dot nu
# Depends on:  poppler

name=poppler-data
version=0.4.5
release=1
source=(http://poppler.freedesktop.org/$name-$version.tar.gz)

build() {
    cd $name-$version
    make datadir=/usr/share DESTDIR=$PKG install
}

Added opt/poppler-glib/Pkgfile.























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# Description: GLib-based shared library for poppler
# URL:         http://poppler.freedesktop.org/
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  glib poppler

name=poppler-glib
version=0.18.4
release=1
source=(http://poppler.freedesktop.org/poppler-$version.tar.gz)

build() {
    cd poppler-$version

    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --enable-{zlib,libjpeg,libpng,cms} \
                --disable-utils \
                --disable-gtk-test \
                --disable-poppler-{qt4,cpp}

    make
    make DESTDIR=$PKG install

    rm -r $PKG/usr/{bin,share}
    rm $PKG/usr/lib/pkgconfig/poppler{,-cairo,-splash}.pc
    rm $PKG/usr/lib/libpoppler.*
}

Added opt/poppler-qt4/Pkgfile.



















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# Description: QT4-based shared library for poppler
# URL:         http://poppler.freedesktop.org/
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  qt4 poppler

name=poppler-qt4
version=0.18.4
release=1
source=(http://poppler.freedesktop.org/poppler-$version.tar.gz)

build() {
    cd poppler-$version

    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --enable-{zlib,libjpeg,libpng,cms} \
                --disable-utils \
                --disable-poppler-{glib,cpp}

    make
    make DESTDIR=$PKG install

    rm $PKG/usr/lib/pkgconfig/poppler{,-cairo,-splash}.pc
    rm $PKG/usr/lib/libpoppler.*
}

Added opt/poppler/Pkgfile.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Description: PDF rendering library based on xpdf 3.0
# URL:         http://poppler.freedesktop.org/
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Packager:    Matt Housh, jaeger at crux dot nu
# Depends on:  cairo lcms

name=poppler
version=0.18.4
release=1
source=(http://poppler.freedesktop.org/$name-$version.tar.gz)

build() {
    cd $name-$version

    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --enable-{zlib,libjpeg,libpng,cms} \
                --enable-xpdf-headers \
                --disable-poppler-{glib,qt4,cpp}

    make
    make DESTDIR=$PKG install
}

Added opt/popt/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: commandline option parser 
# URL: http://rpm5.org/files/popt/
# Packager: Robert McMeekin, viper at mcmeekin dot info
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager: Matt Housh, jaeger at crux dot nu
# Depends on: gettext

name=popt
version=1.16
release=1
source=(http://rpm5.org/files/$name/$name-$version.tar.gz)

build() {
  cd $name-$version
  ./configure --prefix=/usr \
    --mandir=/usr/man \
    --disable-nls
  make
  make DESTDIR=$PKG install
}

Added opt/portdbc/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: CRUX's portdb command line client
# URL: http://sepen.it.cx/releases/
# Maintainer: Jose V Beneyto, sepen at crux dot nu 
# Packager: Jose V Beneyto, sepen at crux dot nu 
# Depends on: curl libxml2

name=portdbc
version=1.1
release=1
source=(http://sepen.it.cx/releases/$name-$version.tar.bz2)

build() {
  cd $name-$version

  make
  make DESTDIR=$PKG install
}

Added opt/postfix/Pkgfile.





































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# Description: Postfix Mail Transport Agent (MTA)
# URL: http://www.postfix.org
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager: Victor, victord at users dot berlios dot de
# Depends on: cyrus-sasl

name=postfix
version=2.5.17
release=1
source=(ftp://ftp.porcupine.org/mirrors/postfix-release/official/$name-$version.tar.gz
        aliases postfix.rc postfix.patch)

build() {
    cd $name-$version

    patch -p1 < $SRC/postfix.patch

    _CCARGS="$CCARGS -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl -DUSE_TLS -I/usr/include/openssl"
    _AUXLIBS="-L/usr/lib -lsasl2 -lssl -lcrypto"

    make tidy
    make makefiles DEBUG="" OPT="$CFLAGS" CCARGS="$_CCARGS" AUXLIBS="$_AUXLIBS"
    make           DEBUG="" OPT="$CFLAGS" CCARGS="$_CCARGS" AUXLIBS="$_AUXLIBS"
    
    make non-interactive-package install_root=$PKG \
    mail_owner=mail \
    setgid_group=postdrop \
    config_directory=/etc/postfix \
    manpage_directory=/usr/man \
    daemon_directory=/usr/lib/postfix \
    data_directory=/var/lib/postfix \
    command_directory=/usr/sbin \
    queue_directory=/var/spool/postfix \
    sendmail_path=/usr/sbin/sendmail \
    newaliases_path=/usr/bin/newaliases \
    mailq_path=/usr/bin/mailq

    #
    # Set proper permissions
    #
    ( cd $PKG/var/spool/postfix
      chown mail *
      chgrp postdrop public maildrop )

    ( cd $PKG/usr/sbin
      chgrp postdrop postqueue postdrop
      chmod g+s postqueue postdrop )

    ( cd $PKG/var/lib
      chown mail postfix )

    #
    # Add .gz extensions to manpages (pkgmk compresses them)
    # Remove LICENSE (will be removed)
    #
    ( cd $PKG/etc/postfix
      cp postfix-files temp-files
      grep -v LICENSE temp-files | sed 's#\(/man[0-9]/[a-zA-Z0-9_-]\+\.[0-9]\):#\1\.gz:#' > postfix-files
      rm -f temp-files LICENSE )

    install -D -m 00644 ../aliases    $PKG/etc/postfix/aliases
    install -D -m 00755 ../postfix.rc $PKG/etc/rc.d/postfix

    touch $PKG/etc/postfix/{aliases,access,canonical,relocated,transport,virtual}.db
    touch $PKG/etc/postfix/{relay_domains,body_checks,mime_header_checks}
}

Added opt/postfix/README.













































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54

REQUIREMENTS

   1. Remove exim.  Postfix and exim can NOT coexist.     

   2. Group "postdrop" MUST exist and MUST be empty.

PRE-INSTALL

   pkgrm exim
   groupadd postdrop

   NOTICE: If upgrading from 1.x.x / 2.0 / 2.1 series: STOP postfix
     before update. 

     AFTER upgrading from an older release DO NOT copy the old
     master.cf/main.cf files over the new files. Instead, you MUST
     let the Postfix installation procedure update the existing
     configuration files with new service entries.

     Please consult postfix release notes on Postfix website for
     further update details.

POST-INSTALL

   cd /etc/postfix

   sh post-install \
       manpage_directory=/usr/man \
       command_directory=/usr/sbin \
       config_directory=/etc/postfix \
       setgid_group=postdrop \
       mail_owner=mail \
       upgrade-package

   sh post-install \
       command_directory=/usr/sbin \
       config_directory=/etc/postfix \
       setgid_group=postdrop \
       mail_owner=mail \
       create-missing

   Rebuild hash maps:

       /usr/sbin/postalias /etc/postfix/aliases
       /usr/sbin/postmap hash:/etc/postfix/{virtual,relocated,access,transport}

MISCELLANEOUS

  The packager of this port (Victor) also supplied an example
  configuration and some notes. I've separated them from this port. You
  can get them here:

    http://hometux.de/crux/postfix_victor.tar.gz

Added opt/postfix/aliases.







































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
######################################################################
# Run "newaliases" after updating this file.
######################################################################

######################################################################
# Basic system aliases 
######################################################################
MAILER-DAEMON:  postmaster
postmaster:     root
hostmaster:     root

######################################################################
# General redirections for pseudo accounts and common names
######################################################################
abuse:          postmaster
bin:            root
daemon:         root
decode:         root
games:          root
mail:           root
named:          root
nobody:         root
system:         root
uucp:           root
ftp:            root
postfix:        root
manager:        root
dumper:         root
operator:       root
webmaster:      root

######################################################################
# Person who should get root's mail.
######################################################################
#root:          user@hostname

Added opt/postfix/post-install.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/bin/sh

cd /etc/postfix

/bin/sh post-install \
  manpage_directory=/usr/man \
  command_directory=/usr/sbin \
  config_directory=/etc/postfix \
  setgid_group=postdrop \
  mail_owner=mail \
  upgrade-package

/bin/sh post-install \
  command_directory=/usr/sbin \
  config_directory=/etc/postfix \
  setgid_group=postdrop \
  mail_owner=mail \
  create-missing

/usr/sbin/postalias /etc/postfix/aliases
/usr/sbin/postmap hash:/etc/postfix/{virtual,relocated,access,transport}

Added opt/postfix/postfix.patch.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
diff -Nru postfix-2.4.5/conf/main.cf postfix-2.4.5-new/conf/main.cf
--- postfix-2.4.5/conf/main.cf	2006-03-25 03:38:54.000000000 +0100
+++ postfix-2.4.5-new/conf/main.cf	2007-08-11 14:51:26.000000000 +0200
@@ -376,6 +376,7 @@
 #alias_maps = hash:/etc/aliases
 #alias_maps = hash:/etc/aliases, nis:mail.aliases
 #alias_maps = netinfo:/aliases
+alias_maps = hash:/etc/postfix/aliases
 
 # The alias_database parameter specifies the alias database(s) that
 # are built with "newaliases" or "sendmail -bi".  This is a separate
@@ -386,6 +387,7 @@
 #alias_database = dbm:/etc/mail/aliases
 #alias_database = hash:/etc/aliases
 #alias_database = hash:/etc/aliases, hash:/opt/majordomo/aliases
+alias_database = $alias_maps
 
 # ADDRESS EXTENSIONS (e.g., user+foo)
 #

Added opt/postfix/postfix.rc.









































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#!/bin/sh
######################################################################
#     postfix: starts/stops postfix daemon
# description: Postfix is a Mail Transport Agent, which is the program
#              that moves mail from one machine to another.
######################################################################

daemon="/usr/sbin/postfix"
config="/etc/postfix"

######################################################################
# Sanity Check
######################################################################
[ -x $daemon ] || exit 1

######################################################################
# Uncomment these if you want to rebuild aliases on restart
######################################################################
#/usr/sbin/postalias hash:$config/aliases
#/usr/sbin/postmap   hash:$config/{access,canonical,relocated,transport,virtual}
#/usr/sbin/postmap   hash:$config/access.{client,helo,sender,recpnt}

######################################################################
# Start/Stop/Reload/Status Functions
######################################################################
status() {
        base=${daemon##*/}
        dpid=`pidof -o $$ -o $PPID -o %PPID -x ${base}`
        if [ "$dpid" != "" ]; then
           echo "${base} (pid $dpid) is running..."
        elif [ -s /var/run/${base}.pid ]; then
           echo "${base} is dead but pid file exists..."
        else
           echo "${base} is stopped."
        fi
        return
}
######################################################################
# See how we were called
######################################################################
case "$1" in
       start) $daemon start  ;;
        stop) $daemon stop   ;;
      reload) $daemon reload ;;
     restart) $daemon reload ;;
      status) status         ;;
       abort) $daemon abort  ;;
       flush) $daemon flush  ;;
       check) $daemon check  ;;
           *) echo "Usage: $0 {start|stop|reload|restart|status|abort|flush|check}" ; exit 1 ;;
esac
exit $?

Added opt/postfix/pre-install.







>
>
>
1
2
3
#!/bin/sh

/usr/sbin/groupadd postdrop

Added opt/prelink/Pkgfile.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Description: Modifies ELFs to avoid runtime symbol resolutions resulting in faster load times.
# URL: http://people.redhat.com/jakub/prelink/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Falcony, falcony at users dot sourceforge dot net
# Depends on: elfutils

name=prelink
version=20111012
release=1
source=(http://people.redhat.com/jakub/prelink/$name-$version.tar.bz2
	prelink.conf)

build() {
	cd $name

	./configure \
		--prefix=/usr \
		--sysconfdir=/etc \
		--disable-debug

	make
	make DESTDIR=$PKG install
	install -D $SRC/prelink.conf $PKG/etc/prelink.conf
}

Added opt/prelink/prelink.conf.













































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# This config file contains a list of directories both with binaries
# and libraries prelink should consider by default.
# If a directory name is prefixed with `-l ', the directory hierarchy
# will be walked as long as filesystem boundaries are not crossed.
# If a directory name is prefixed with `-h ', symbolic links in a
# directory hierarchy are followed.
# Directories or files with `-b ' prefix will be blacklisted.
-b *.la
-b *.png
-b *.py
-b *.pl
-b *.pm
-b *.sh
-b *.xml
-b *.xslt
-b *.a
-b *.js
-b /lib/modules
-b /usr/lib/locale
-b /usr/X11R6/lib{,64}/X11/xfig
-l /bin
-l /usr/bin
-l /sbin
-l /usr/sbin
-l /usr/X11R6/bin
-l /usr/kerberos/bin
-l /usr/games
-l /usr/libexec
-l /usr/lib/qt
-l /usr/lib/kde3
-l /var/ftp/bin
-l /lib{,64}
-l /usr/lib{,64}
-l /usr/X11R6/lib{,64}
-l /usr/kerberos/lib{,64}
-l /usr/X11R6/LessTif
-l /var/ftp/lib{,64}
-b /usr/lib/wine

Added opt/procmail/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: Versatile mail delivery agent/filter
# URL:         http://www.procmail.org/
# Maintainer:  Juergen Daubert, jue at crux dot nu

name=procmail
version=3.22
release=3
source=(ftp://ftp.fu-berlin.de/pub/unix/mail/procmail/$name-$version.tar.gz
        $name-getline.patch)

build() {
    cd $name-$version
    patch -p1 -i $SRC/$name-getline.patch
    make CFLAGS0="$CFLAGS" LOCKINGTEST=/tmp all
    make BASENAME=$PKG/usr install
    make BASENAME=$PKG/usr install-suid
}

Added opt/procmail/procmail-getline.patch.

















































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
diff -Nru procmail-3.22.orig/src/fields.c procmail-3.22/src/fields.c
--- procmail-3.22.orig/src/fields.c	2009-05-15 21:59:51.768416278 +0200
+++ procmail-3.22/src/fields.c	2009-05-15 22:00:58.128416259 +0200
@@ -110,16 +110,16 @@
 		    /* try and append one valid field to rdheader from stdin */
 int readhead P((void))
 { int idlen;
-  getline();
+  get_line();
   if((idlen=breakfield(buf,buffilled))<=0) /* not the start of a valid field */
      return 0;
   if(idlen==STRLEN(FROM)&&eqFrom_(buf))			/* it's a From_ line */
    { if(rdheader)
 	return 0;			       /* the From_ line was a fake! */
-     for(;buflast=='>';getline());	    /* gather continued >From_ lines */
+     for(;buflast=='>';get_line());	    /* gather continued >From_ lines */
    }
   else
-     for(;;getline())		      /* get the rest of the continued field */
+     for(;;get_line())		      /* get the rest of the continued field */
       { switch(buflast)			     /* will this line be continued? */
 	 { case ' ':case '\t':				  /* yep, it sure is */
 	      continue;
diff -Nru procmail-3.22.orig/src/formail.c procmail-3.22/src/formail.c
--- procmail-3.22.orig/src/formail.c	2009-05-15 21:59:51.768416278 +0200
+++ procmail-3.22/src/formail.c	2009-05-15 22:01:23.778416754 +0200
@@ -819,7 +819,7 @@
       { if(split)		       /* gobble up the next start separator */
 	 { buffilled=0;
 #ifdef sMAILBOX_SEPARATOR
-	   getline();buffilled=0;		 /* but only if it's defined */
+	   get_line();buffilled=0;		 /* but only if it's defined */
 #endif
 	   if(buflast!=EOF)					   /* if any */
 	      goto splitit;
diff -Nru procmail-3.22.orig/src/formisc.c procmail-3.22/src/formisc.c
--- procmail-3.22.orig/src/formisc.c	2009-05-15 21:59:51.768416278 +0200
+++ procmail-3.22/src/formisc.c	2009-05-15 22:02:00.538416155 +0200
@@ -115,7 +115,7 @@
   buf[buffilled++]=c;
 }
 
-int getline P((void))			   /* read a newline-terminated line */
+int get_line P((void))			   /* read a newline-terminated line */
 { if(buflast==EOF)			 /* at the end of our Latin already? */
    { loadchar('\n');					  /* fake empty line */
      return EOF;					  /* spread the word */
diff -Nru procmail-3.22.orig/src/formisc.h procmail-3.22/src/formisc.h
--- procmail-3.22.orig/src/formisc.h	2009-05-15 21:59:51.768416278 +0200
+++ procmail-3.22/src/formisc.h	2009-05-15 22:02:12.028416164 +0200
@@ -17,4 +17,4 @@
 char*
  skipwords P((char*start));
 int
- getline P((void));
+ get_line P((void));

Added opt/prt-get-bashcompletion/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: Programmable bash completion for prt-get
# URL: http://www.hta-bi.bfh.ch/~winkj/software_prt-get.html
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Johannes Winkelmann, jw at tks6 dot net
# Depends on: bash-completion

name=prt-get-bashcompletion
version=5.18
release=2
source=(http://jw.tks6.net/files/crux/prt-get-$version.tar.gz)

build() {
    sed -i prt-get-$version/misc/prt-get_complete \
        -e 's|listofphans|listorphans|'
    install -D -m 755 prt-get-$version/misc/prt-get_complete \
        $PKG/etc/bash_completion.d/prt-get
}

Added opt/prt-get-bashcompletion/README.









>
>
>
>
1
2
3
4
README for prt-get

POST-INSTALL
execute prt-get cache to get package name completion

Added opt/prt-utils/Pkgfile.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Description: Collection of scripts for CRUX, mainly oriented towards package and port management
# URL: http://crux.nu/Wiki/PrtUtils
# Maintainer: Juergen Daubert, jue at crux dot nu
# Packager: Martin Opel, mo at obbl-net dot de
# Depends on: prt-get

name=prt-utils
version=0.9.4
release=1
source=(http://crux.nu/files/tools/prt-utils/$name-$version.tar.xz)

build() {
    cd $name-$version
    make DESTDIR=$PKG install
}

Added opt/psutils/Pkgfile.



























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# Description: Postscript Utilities
# URL:         http://gershwin.ens.fr/vdaniel/Doc-Locale/Outils-Gnu-Linux/PsUtils/
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Packager:    Martin Opel, mo at obbl-net dot de
# Depends on:  ghostscript

name=psutils
version=1.17
release=1
source=(ftp://ftp.uni-frankfurt.de/pub/Mirrors/gentoo.org/distfiles/$name-$version.tar.gz)

build() {
	cd $name
	sed	-e "s|-DUNIX -O -Wall|-DUNIX -O2 -pipe -Wall|" \
		-e "s|BINDIR = /usr/local/bin|BINDIR = /usr/bin|" \
		-e "s|INCLUDEDIR = /usr/local/share/psutils|INCLUDEDIR = /usr/share/psutils|" \
		-e "s|PERL = /usr/local/bin/perl|PERL = /usr/bin/perl|" \
		-e "s|MANDIR = /usr/local/share/man|MANDIR = /usr/man|" \
		Makefile.unix > Makefile.make
	make -f Makefile.make
	sed	-e "s|BINDIR = /usr/bin|BINDIR = $PKG/usr/bin|" \
		-e "s|INCLUDEDIR = /usr/share/psutils|INCLUDEDIR = $PKG/usr/share/psutils|" \
		-e "s|MANDIR = /usr/man|MANDIR = $PKG/usr/man|" \
		-e "s|||" \
		-e "s|||" \
		Makefile.make > Makefile.install
	mkdir -p $PKG/usr/{bin,share/psutils,man/man1}
	make -f Makefile.install install
}

Added opt/pure-ftpd/Pkgfile.































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# Description: Fast, secure, production-quality and standard-conformant FTP server
# URL:         http://www.pureftpd.org/project/pure-ftpd 
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  openssl

name=pure-ftpd
version=1.0.36
release=1
source=(http://download.pureftpd.org/$name/releases/$name-$version.tar.bz2 \
        pure-ftpd pure-ftpd.conf)

build () {
    cd $name-$version

    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --with-certfile=/etc/ssl/certs/pure-ftpd.pem \
                --with-everything \
                --with-tls \
                --without-pam
    make
    make DESTDIR=$PKG install

    install -d $PKG/{var/log,etc/{rc.d,ssl/certs}}
    touch $PKG/var/log/pure-ftpd.log
    touch $PKG/etc/ssl/certs/pure-ftpd.pem
    chmod 0600 $PKG/etc/ssl/certs/pure-ftpd.pem

    install -m 755 $SRC/pure-ftpd $PKG/etc/rc.d
    install -m 644 $SRC/pure-ftpd.conf $PKG/etc
}

Added opt/pure-ftpd/pure-ftpd.































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/bin/sh
#
# /etc/rc.d/pure-ftpd: start/stop pure-ftpd daemon
#

CONF=/etc/pure-ftpd.conf
ARGS=$(sed -e '/^\s*$/d' -e '/^#/d' $CONF)

CRT=/etc/ssl/certs/pure-ftpd.pem

case $1 in
start)
	if [ ! -s $CRT ]; then 
		/usr/bin/mksslcert $CRT $CRT
	fi
	/usr/sbin/pure-ftpd $ARGS
	;;
stop)
	killall -q /usr/sbin/pure-ftpd
	;;
restart)
	$0 stop
	sleep 2
	$0 start
	;;
*)
	echo "usage: $0 [start|stop|restart]"
	;;
esac

# End of file

Added opt/pure-ftpd/pure-ftpd.conf.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#
# /etc/pure-ftpd.conf
#
# Put the commandline options for pure-ftpd in this file.
# Use the same syntax as calling pure-ftpd directly from 
# the commandline, also include the dashes.
# Blank lines and lines beginning by a pound-sign, which 
# are considered comments, are ignored.
#

--daemonize
--chrooteveryone
--anonymousonly
--anonymouscantupload
--altlog clf:/var/log/pure-ftpd.log
--tls=1

# End of file

Added opt/pycairo/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: A set of python bindings for cairo
# URL: http://cairographics.org/pycairo
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Simone Rota, sip at crux dot nu
# Depends on: cairo python

name=pycairo
version=1.10.0
release=1
source=(http://cairographics.org/releases/py2cairo-$version.tar.bz2)

build() {
	cd py2cairo-$version

	./waf configure --prefix=/usr

	./waf build
	./waf install --destdir=$PKG
}

Added opt/pygobject/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: python nindings for gobject
# URL: http://www.pygtk.org
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Simone Rota, sip at varlock dot com
# Depends on: gtk python

name=pygobject
version=2.28.6
release=1
source=(http://ftp.gnome.org/pub/GNOME/sources/$name/${version::4}/$name-$version.tar.xz)

build() {
	cd $name-$version

	./configure --prefix=/usr --disable-introspection
	make
	make DESTDIR=$PKG install

	rm -rf $PKG/usr/share/gtk-doc
}

Added opt/pygtk/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Packager: Stoyan Zhekov, zhware at hotpop dot com
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Description: set of bindings for the GTK widget set
# URL: http://www.pygtk.org
# Depends on: pygobject pycairo libglade

name=pygtk
version=2.24.0
release=1
source=(http://ftp.gnome.org/pub/GNOME/sources/$name/${version::4}/$name-$version.tar.bz2)

build() {
    cd $name-$version
    ./configure --prefix=/usr
    make
    make DESTDIR=$PKG install
    rm -rf $PKG/usr/share/gtk-doc
}

Added opt/pypanel/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: A lightweight panel/taskbar for X11
# URL: http://pypanel.sourceforge.net
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Johannes Winkelmann, jw at tks6 dot net
# Depends on: python-xlib imlib2

name=pypanel
version=2.4
release=1
source=(http://download.sourceforge.net/pypanel/PyPanel-$version.tar.gz)

build() {
    cd PyPanel-$version
    python setup.py install --root=$PKG --prefix=/usr
    rm $PKG/usr/lib/python*/site-packages/pypanel/{COPYING,README}
    rm $PKG/usr/lib/python*/site-packages/PyPanel-*.egg-info
}

Added opt/pyrex/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: A language for writing python extension modules
# URL: http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/
# Maintainer: Lucas Hazel, lucas at die dot net dot au
# Packager: Matt Housh, jaeger at crux dot nu
# Depends on: python

name=pyrex
version=0.9.8.4
release=1
source=(http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/Pyrex-$version.tar.gz)

build() {
	cd Pyrex-$version
	python setup.py install --root=$PKG
	rm -rf $PKG/usr/lib/python2.5/site-packages/{*.egg-info,Pyrex/Mac}
	chown -R root:root $PKG
}

Added opt/python-xlib/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: Python interface to xlib.
# URL:         http://python-xlib.sourceforge.net
# Maintainer:  Jose V Beneyto, sepen at crux dot nu
# Packager:    Johannes Winkelmann, jw at tks6 dot net
# Depends on:  python xorg-libx11

name=python-xlib
version=0.14
release=1
source=(http://download.sourceforge.net/python-xlib/python-xlib-$version.tar.gz)

build() {
    cd python-xlib-$version
    python setup.py install --root=$PKG --prefix=/usr
    rm $PKG/usr/lib/python*/site-packages/python_xlib-*.egg-info
}

Added opt/python/Pkgfile.



































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# Description: Python interpreter, version 2.7
# URL:         http://www.python.org
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  db gdbm openssl bzip2 zlib sqlite3

name=python
version=2.7.3
release=1
source=(http://www.python.org/ftp/$name/$version/Python-$version.tar.xz)

build () {
    cd Python-$version
    
    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --enable-shared \
                --with-threads \
                --enable-ipv6

    make EXTRA_CFLAGS="$CFLAGS"
    make -j1 DESTDIR=$PKG install

    ln -sf python2.7 $PKG/usr/bin/python
    ln -s python2.7 $PKG/usr/lib/python
    ln -s python2.7 $PKG/usr/include/python
    ln -s /usr/lib/libpython2.7.so $PKG/usr/lib/python2.7/config/libpython2.7.so

    rm -r $PKG/usr/lib/python/{bsddb,ctypes,email,sqlite3}/test
    rm -r $PKG/usr/lib/python/{distutils,json,lib2to3}/tests
    rm $PKG/usr/lib/python/{distutils,site-packages,test/data}/README
    rm $PKG/usr/lib/python/idlelib/{ChangeLog,{NEWS,README,TODO}.txt}
    rm $PKG/usr/lib/python/ctypes/macholib/README.ctypes
}

Added opt/qemu/Pkgfile.





























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# Description: Fast CPU emulator and virtualizer
# URL:         http://www.qemu.org
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    Lucas Hazel, lucas at die dot net dot au
# Depends on:  libsdl
# Nice to have: kqemu

name=qemu
version=1.0.1
release=1
source=(http://wiki.qemu.org/download/qemu-$version.tar.gz)

build() {
  cd $name-$version
  ./configure --prefix=/usr \
      --cc="${CC:=gcc}" \
      --host-cc="${CC:=gcc}" \
      --sysconfdir=/etc \
      --disable-docs

  # fix include issues with nspr
  echo 'QEMU_CFLAGS+=-I/usr/include/nspr' >> libcacard/Makefile
  make
  make DESTDIR=$PKG install

  make qemu.1 qemu-img.1 qemu-nbd.8
  install -D -m 644 qemu.1 $PKG/usr/man/man1/qemu.1
  install -D -m 644 qemu-img.1 $PKG/usr/man/man1/qemu-img.1
  install -D -m 644 qemu-nbd.8 $PKG/usr/man/man8/qemu-nbd.8
}

Added opt/qt4/Pkgfile.

























































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# Description: Qt Free Edition
# URL: http://www.trolltech.com
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Johannes Winkelmann, jw at smts dot ch
# Depends on: fontconfig glib libmng libpng mesa3d xorg-libxcursor xorg-libxi xorg-libxinerama xorg-libxrandr dbus

name=qt4
version=4.8.0
release=2
source=(http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-$version.tar.gz)

build () {
    cd qt-everywhere-opensource-src-$version

    sed -i 's|X11R6/||g' mkspecs/*/*.conf
    sed -i "s|-O2|$CXXFLAGS|" mkspecs/common/g++.conf
    sed -i "s|INSTALLS += translations||" projects.pro
    sed -i 's|"$COMPILER" -c|$COMPILER -c|' config.tests/unix/fvisibility.test

    ./configure -prefix /usr/share/qt4 \
                -bindir /usr/share/qt4/bin \
                -headerdir /usr/share/qt4/include \
                -libdir /usr/share/qt4/lib \
                -plugindir /usr/share/qt4/plugins \
                -platform linux-g++ -release -shared -sm \
                -nis -verbose -system-zlib \
                -system-lib{png,jpeg} -xmlpatterns \
                -no-{cups,fast,nas-sound,phonon} \
                -x{cursor,inerama,kb,randr,render} \
                -nomake demos -nomake examples -nomake docs \
                -no-separate-debug-info -opensource -confirm-license

    make
    make INSTALL_ROOT=$PKG install

    rm -rf `find $PKG/usr/share/qt4/mkspecs/* | \
       grep -v linux-g++ | grep -v common | grep -v pri | grep -v features`
    rm -f $PKG/usr/share/qt4/mkspecs/linux-g++/linux-g++
    rm -rf $PKG/usr/share/qt4/mkspecs/features/{mac,win32}
    rm -rf $PKG/usr/share/qt4/mkspecs/common/mac*
    rm -rf $PKG/usr/share/qt4/phrasebooks

    install -d $PKG/{etc/ld.so.conf.d,usr/{bin,lib,include}}
    echo "/usr/share/qt4/lib" > $PKG/etc/ld.so.conf.d/qt4.conf

    ln -s ../share/qt4/include     $PKG/usr/include/qt4
    ln -s ../share/qt4/lib         $PKG/usr/lib/qt4
    ln -s linux-g++                $PKG/usr/share/qt4/mkspecs/default

    mv $PKG/usr/share/qt4/lib/pkgconfig $PKG/usr/lib

    sed -i -e "s|-L$SRC/qt-everywhere-opensource-src-$version/lib ||g" \
           -e "s|$SRC/qt-everywhere-opensource-src-$version/bin|/usr/share/qt4/bin|g" \
        $PKG/usr/lib/pkgconfig/*.pc

    for f in assistant designer linguist lrelease lupdate moc qmake qtconfig uic \
    pixeltool qdbus qdbuscpp2xml qdbusxml2cpp qt3to4 rcc uic3; do
        ln -s ../share/qt4/bin/$f $PKG/usr/bin/$f
    done
}

Added opt/quota/Pkgfile.



























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# Description: Tools for the Linux quota system
# URL:         http://sourceforge.net/projects/linuxquota/
# Packager:    Mikhail Kolesnik, mike at openbunker dot org
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  e2fsprogs tcp_wrappers

name=quota
version=3.17
release=2
source=(http://download.sourceforge.net/linuxquota/$name-$version.tar.gz \
        warnquota.conf)

build(){
    cd $name-tools
    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --sysconfdir=/etc/quota \
                --enable-nls=no \
                --enable-altformat=yes \
                --enable-rpc=yes \
                --enable-nis=no \
                --enable-bsd_behaviour=yes \
                --enable-rootsbin=yes
    make
    make install ROOTDIR=$PKG
    rm -r $PKG/usr/include
    install -D -m 644 $SRC/warnquota.conf $PKG/etc/quota/warnquota.conf
    find $PKG/etc/quota -type f | xargs sed -i 's|/etc|/etc/quota|'
}

Added opt/quota/README.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
README for quota-tools

REQUIREMENTS
Enable quota support in your kernel.
CONFIG_QUOTA=y
CONFIG_QFMT_V2=y
CONFIG_QUOTACTL=y

PRE-INSTALL

POST-INSTALL
You'll probably want to adjust warnquota.conf if you plan to mail users about
ther quota status.

PRECAUTION

RESOURCES
http://tldp.org/HOWTO/Quota.html

Added opt/quota/warnquota.conf.







































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# /etc/warnquota.conf
#
; ; and # type comments are allowed
# and even blank lines

# values can be quoted:
MAIL_CMD 	= "/usr/sbin/sendmail -t"
FROM 		= "bas@localhost"
# but they don't have to be:
SUBJECT 	= Hey, user, clean up your account!
CC_TO 		= "sysadm@localhost"
# If you set this variable CC will be used only when user has less than
# specified grace time left (examples of possible times: 5 seconds, 1 minute,
# 12 hours, 5 days)
# CC_BEFORE = 2 days
SUPPORT 	= "support@myhost.com"
PHONE 		= "(123) 456-1111 or (222) 333-4444"
# Text in the beginning of the mail (if not specified, default text is used)
# This way text can be split to more lines
# Line breaks are done by '|' character
# The expressions %i, %h, %d, and %% are substituted for user/group name,
# host name, domain name, and '%' respectively. For backward compatibility
# %s behaves as %i but is deprecated.
MESSAGE         = Hello user %i, I've noticed you use too much space\
 on my disk in %h.%d.|Delete your files on the following filesystems:|
# Text in the end of the mail (if not specified, default text using SUPPORT and PHONE
# is created)
SIGNATURE	= See you!|			Your admin of %h|
# Following text is used for mails about group exceeding quotas
GROUP_MESSAGE	= Hello, a group '%i' you're member of use too much space at %h.|\
I chose you to do the cleanup.|Delete group files on the following filesystems:|
# Text in the end of the mail to the group (if not specified, default text using SUPPORT
# and PHONE is created).
GROUP_SIGNATURE	= See you!|			Your admin|
#
#If you are running warnquota on a mail server, and don't want bounces
#because clients cannot receive mail setting this to "any" will cause
#warnquota to not send them mail for all devices.  If you set this to the
#device name (for example /dev/hdb1) then they will not be sent mail if they
#are overquota on that device only, and will be sent mail for all other
#devices.
#MAILDEV        =
#
# If you are using LDAP mail lookups.
# host, port, tls, binddn, and bindpw are straight forward.
# LDAP_BASEDN is your search base dn
# LDAP_SEARCH_ATTRIBUTE is the attr for the value you are looking for
# LDAP_MAIL_ATTRIBUTE is the attribute you want used for the mail address
# LDAP_DEFAULT_MAIL_DOMAIN is the default domain
#    if the attribute isn't found
# if binddn and bindpw are blank or left out, an anonymous bind is used
# 
# LDAP_MAIL = false # or false if you don't want to use it
# If you have at least LDAP 2.3 installed, you can use LDAP_URI
# LDAP_URI = ldaps://my.server:389
# Otherwise you can specify LDAP_HOST and LDAP_PORT
# LDAP_HOST = ldap
# LDAP_PORT = 389
# LDAP_BINDDN = uid=ReadOnlyUser,o=YourOrg
# LDAP_BINDPW = YourReadOnlyUserPassword
# LDAP_BASEDN = YourSearchBase
# LDAP_SEARCH_ATTRIBUTE = uid
# LDAP_MAIL_ATTRIBUTE = mailLocalAddress
# LDAP_DEFAULT_MAIL_DOMAIN = YourDefaultMailDomain.com
#
# end of example warnquota.conf file
#

Added opt/radeon-ucode/LICENSE.radeon.







































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
Copyright (C) 2009-2011  Advanced Micro Devices, Inc. All rights reserved.

REDISTRIBUTION: Permission is hereby granted, free of any license fees,
to any person obtaining a copy of this microcode (the "Software"), to
install, reproduce, copy and distribute copies, in binary form only, of
the Software and to permit persons to whom the Software is provided to
do the same, provided that the following conditions are met:

No reverse engineering, decompilation, or disassembly of this Software
is permitted.

Redistributions must reproduce the above copyright notice, this
permission notice, and the following disclaimers and notices in the
Software documentation and/or other materials provided with the
Software.

DISCLAIMER: THE USE OF THE SOFTWARE IS AT YOUR SOLE RISK.  THE SOFTWARE
IS PROVIDED "AS IS" AND WITHOUT WARRANTY OF ANY KIND AND COPYRIGHT
HOLDER AND ITS LICENSORS EXPRESSLY DISCLAIM ALL WARRANTIES, EXPRESS AND
IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
COPYRIGHT HOLDER AND ITS LICENSORS DO NOT WARRANT THAT THE SOFTWARE WILL
MEET YOUR REQUIREMENTS, OR THAT THE OPERATION OF THE SOFTWARE WILL BE
UNINTERRUPTED OR ERROR-FREE.  THE ENTIRE RISK ASSOCIATED WITH THE USE OF
THE SOFTWARE IS ASSUMED BY YOU.  FURTHERMORE, COPYRIGHT HOLDER AND ITS
LICENSORS DO NOT WARRANT OR MAKE ANY REPRESENTATIONS REGARDING THE USE
OR THE RESULTS OF THE USE OF THE SOFTWARE IN TERMS OF ITS CORRECTNESS,
ACCURACY, RELIABILITY, CURRENTNESS, OR OTHERWISE.

DISCLAIMER: UNDER NO CIRCUMSTANCES INCLUDING NEGLIGENCE, SHALL COPYRIGHT
HOLDER AND ITS LICENSORS OR ITS DIRECTORS, OFFICERS, EMPLOYEES OR AGENTS
("AUTHORIZED REPRESENTATIVES") BE LIABLE FOR ANY INCIDENTAL, INDIRECT,
SPECIAL OR CONSEQUENTIAL DAMAGES (INCLUDING DAMAGES FOR LOSS OF BUSINESS
PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, AND THE
LIKE) ARISING OUT OF THE USE, MISUSE OR INABILITY TO USE THE SOFTWARE,
BREACH OR DEFAULT, INCLUDING THOSE ARISING FROM INFRINGEMENT OR ALLEGED
INFRINGEMENT OF ANY PATENT, TRADEMARK, COPYRIGHT OR OTHER INTELLECTUAL
PROPERTY RIGHT EVEN IF COPYRIGHT HOLDER AND ITS AUTHORIZED
REPRESENTATIVES HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.  IN
NO EVENT SHALL COPYRIGHT HOLDER OR ITS AUTHORIZED REPRESENTATIVES TOTAL
LIABILITY FOR ALL DAMAGES, LOSSES, AND CAUSES OF ACTION (WHETHER IN
CONTRACT, TORT (INCLUDING NEGLIGENCE) OR OTHERWISE) EXCEED THE AMOUNT OF
US$10.

Notice:  The Software is subject to United States export laws and
regulations.  You agree to comply with all domestic and international
export laws and regulations that apply to the Software, including but
not limited to the Export Administration Regulations administered by the
U.S. Department of Commerce and International Traffic in Arm Regulations
administered by the U.S. Department of State.  These laws include
restrictions on destinations, end users and end use.

Added opt/radeon-ucode/Pkgfile.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Description:  Userspace firmware for newer AMD Radeon GPU's.
# URL:          http://people.freedesktop.org/~agd5f/radeon_ucode/.
# Maintainer:   Fredrik Rinnestam, fredrik at crux dot nu
# Depends on:   
 
name=radeon-ucode
version=20120321
release=1
source=(http://crux.nu/~rehabdoll/distfiles/$name-$version.tar.xz )

build() {
    mkdir -p $PKG/lib/firmware/radeon
    cd $name
    cp *.bin $PKG/lib/firmware/radeon/
}

Added opt/radeon-ucode/README.







































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
Copyright (C) 2009  Advanced Micro Devices, Inc. All rights reserved.

REDISTRIBUTION: Permission is hereby granted, free of any license fees,
to any person obtaining a copy of this microcode (the "Software"), to
install, reproduce, copy and distribute copies, in binary form only, of
the Software and to permit persons to whom the Software is provided to
do the same, provided that the following conditions are met:

No reverse engineering, decompilation, or disassembly of this Software
is permitted.

Redistributions must reproduce the above copyright notice, this
permission notice, and the following disclaimers and notices in the
Software documentation and/or other materials provided with the
Software.

DISCLAIMER: THE USE OF THE SOFTWARE IS AT YOUR SOLE RISK.  THE SOFTWARE
IS PROVIDED "AS IS" AND WITHOUT WARRANTY OF ANY KIND AND COPYRIGHT
HOLDER AND ITS LICENSORS EXPRESSLY DISCLAIM ALL WARRANTIES, EXPRESS AND
IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
COPYRIGHT HOLDER AND ITS LICENSORS DO NOT WARRANT THAT THE SOFTWARE WILL
MEET YOUR REQUIREMENTS, OR THAT THE OPERATION OF THE SOFTWARE WILL BE
UNINTERRUPTED OR ERROR-FREE.  THE ENTIRE RISK ASSOCIATED WITH THE USE OF
THE SOFTWARE IS ASSUMED BY YOU.  FURTHERMORE, COPYRIGHT HOLDER AND ITS
LICENSORS DO NOT WARRANT OR MAKE ANY REPRESENTATIONS REGARDING THE USE
OR THE RESULTS OF THE USE OF THE SOFTWARE IN TERMS OF ITS CORRECTNESS,
ACCURACY, RELIABILITY, CURRENTNESS, OR OTHERWISE.

DISCLAIMER: UNDER NO CIRCUMSTANCES INCLUDING NEGLIGENCE, SHALL COPYRIGHT
HOLDER AND ITS LICENSORS OR ITS DIRECTORS, OFFICERS, EMPLOYEES OR AGENTS
("AUTHORIZED REPRESENTATIVES") BE LIABLE FOR ANY INCIDENTAL, INDIRECT,
SPECIAL OR CONSEQUENTIAL DAMAGES (INCLUDING DAMAGES FOR LOSS OF BUSINESS
PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, AND THE
LIKE) ARISING OUT OF THE USE, MISUSE OR INABILITY TO USE THE SOFTWARE,
BREACH OR DEFAULT, INCLUDING THOSE ARISING FROM INFRINGEMENT OR ALLEGED
INFRINGEMENT OF ANY PATENT, TRADEMARK, COPYRIGHT OR OTHER INTELLECTUAL
PROPERTY RIGHT EVEN IF COPYRIGHT HOLDER AND ITS AUTHORIZED
REPRESENTATIVES HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.  IN
NO EVENT SHALL COPYRIGHT HOLDER OR ITS AUTHORIZED REPRESENTATIVES TOTAL
LIABILITY FOR ALL DAMAGES, LOSSES, AND CAUSES OF ACTION (WHETHER IN
CONTRACT, TORT (INCLUDING NEGLIGENCE) OR OTHERWISE) EXCEED THE AMOUNT OF
US$10.

Notice:  The Software is subject to United States export laws and
regulations.  You agree to comply with all domestic and international
export laws and regulations that apply to the Software, including but
not limited to the Export Administration Regulations administered by the
U.S. Department of Commerce and International Traffic in Arm Regulations
administered by the U.S. Department of State.  These laws include
restrictions on destinations, end users and end use.

Added opt/rar/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: The RAR Archiver
# URL: http://www.rarlab.com/
# Packager: Matt Housh, jaeger at crux dot nu
# Maintainer: Lucas Hazel, lucas at die dot net dot au

name=rar
version=4.0.1
release=1
source=(http://www.rarlab.com/rar/rarlinux-$version.tar.gz)

build() {
    cd $name
    install -D -m 0755 rar_static $PKG/usr/bin/rar
    install -D -m 0644 rarfiles.lst $PKG/etc/rarfiles.lst
    install -D -m 0755 default.sfx $PKG/usr/lib/default.sfx
}

Added opt/ratpoison/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Rodent-independent window manager
# URL: http://ratpoison.nongnu.org/
# Maintainer: Antti Nykanen, aon at iki dot fi
# Depends on: readline, xorg-libxinerama, xorg-libxtst

name=ratpoison
version=1.4.5
release=1
source=(http://savannah.nongnu.org/download/$name/$name-$version.tar.gz)

build() {
	cd $name-$version
	./configure --prefix=/usr --mandir=/usr/man
	make CFLAGS="$CFLAGS -DHAVE_GETLINE"
	make DESTDIR=$PKG install
	rm -rf $PKG/usr/share
}

Added opt/rcs/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: Version control and project management software
# URL:         http://www.gnu.org/directory/rcs.html
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Packager:    Jens Fischer, jens dot fischer at gmx dot li

name=rcs
version=5.7
release=2
source=(http://ftp.sunet.se/pub/gnu/rcs/$name-$version.tar.gz \
	$name-$version.patch)

build() {
    cd $name-$version
    patch -p1 < ../$name-$version.patch
    ./configure --prefix=/usr 
    make
    mkdir $PKG/usr
    make prefix=$PKG/usr install
    chown -R root.root $PKG
}

Added opt/rcs/rcs-5.7.patch.

























>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
diff -ruN rcs-5.7.orig/src/conf.sh rcs-5.7/src/conf.sh
--- rcs-5.7.orig/src/conf.sh	1995-06-16 08:19:24.000000000 +0200
+++ rcs-5.7/src/conf.sh	2002-07-01 13:24:00.000000000 +0200
@@ -79,7 +79,6 @@
 chmod 0 a.d &&
 { test -w a.d || cp /dev/null a.d 2>/dev/null; } && {
 	echo >&3 "$n$0: This command should not be run with superuser permissions."
-	exit 1
 }
 echo >&3 OK
 rm -f a.d || exit

Added opt/rdiff-backup/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: Local/remote mirroring+incremental backup
# URL:         http://www.nongnu.org/rdiff-backup/
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    Simon Glossner, viper at hometux dot de
# Depends on:  python, rdiff

name=rdiff-backup
version=1.2.8
release=1
source=(http://savannah.nongnu.org/download/${name}/${name}-${version}.tar.gz)

build() {
    cd $name-$version
    
    sed -i 's|share/man/|man/|g' setup.py

    python setup.py build
    python setup.py install --prefix=/usr --root=$PKG

    rm -r $PKG/usr/share
}

Added opt/rdiff/Pkgfile.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Description: Compute and apply signature-based file differences
# URL:         http://librsync.sourceforge.net/
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    Jukka Heino, jukka dot heino at gmail dot com
# Depends on:  librsync

name=rdiff
version=0.9.7
release=2
source=(http://download.sourceforge.net/librsync/librsync-${version}.tar.gz
  librsync.patch)

build() {
    cd librsync-$version

    patch -p1 < $SRC/librsync.patch

    ./configure --prefix=/usr
    make

    install -D -m 755 rdiff $PKG/usr/bin/rdiff
    install -D -m 644 doc/rdiff.1 $PKG/usr/man/man1/rdiff.1
}

Added opt/rdiff/librsync.patch.































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
diff -Nru librsync-0.9.7/mdfour.h librsync-0.9.7-new/mdfour.h
--- librsync-0.9.7/mdfour.h	2004-02-08 00:17:57.000000000 +0100
+++ librsync-0.9.7-new/mdfour.h	2007-07-26 21:50:26.000000000 +0200
@@ -24,7 +24,7 @@
 #include "types.h"
 
 struct rs_mdfour {
-    int                 A, B, C, D;
+    unsigned int        A, B, C, D;
 #if HAVE_UINT64
     uint64_t            totalN;
 #else
diff -Nru librsync-0.9.7/patch.c librsync-0.9.7-new/patch.c
--- librsync-0.9.7/patch.c	2004-09-17 23:35:50.000000000 +0200
+++ librsync-0.9.7-new/patch.c	2007-07-26 21:50:06.000000000 +0200
@@ -214,12 +214,12 @@
     void            *buf, *ptr;
     rs_buffers_t    *buffs = job->stream;
 
-    len = job->basis_len;
-    
     /* copy only as much as will fit in the output buffer, so that we
      * don't have to block or store the input. */
-    if (len > buffs->avail_out)
+    if (job->basis_len > buffs->avail_out)
         len = buffs->avail_out;
+    else
+        len = job->basis_len;
 
     if (!len)
         return RS_BLOCKED;

Added opt/rlpr/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: Remote lpd client
# URL: http://truffula.com/rlpr/
# Maintainer: Antti Nykanen, aon at iki dot fi
# Depends on: 

name=rlpr
version=2.06
release=1
source=(http://www.sfr-fresh.com/unix/misc/$name-$version.tar.gz)

build() {
	cd rlpr-$version
	./configure --prefix=/usr
	make
	make DESTDIR=$PKG install
}

Added opt/rox-archive/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Archive manager for ROX
# URL: http://rox.sourceforge.net/phpwiki/index.php/Archive
# Maintainer: Lucas Hazel, lucas at die dot net dot au
# Packager: Simone Rota, sip at crux dot nu
# Depends on: rox-lib

name=rox-archive
version=2.2
release=1
source=(http://download.sourceforge.net/rox/archive-$version.tar.bz2)

build() {
	cd archive-$version
	mkdir -p $PKG/usr/ROX/Apps
	rm -rf Archive/{Help,Messages,CVS}
	cp -r Archive $PKG/usr/ROX/Apps
	
}

Added opt/rox-lib/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: Support library for ROX apps
# URL: http://rox.sourceforge.net/phpwiki/index.php/ROX-Lib
# Maintainer: Lucas Hazel, lucas at die dot net dot au
# Packager: Simone Rota, sip at crux dot nu
# Depends on: pygtk

name=rox-lib
version=2.0.6
release=1
source=(http://download.sourceforge.net/rox/${name}2-$version.tar.bz2)

build() {
	mkdir -p $PKG/usr/lib
	cd ${name}2-$version
	rm -rf ROX-Lib2/{Help,Messages}
	cp -rf ROX-Lib2 $PKG/usr/lib
}

Added opt/rox/Pkgfile.

















































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# Maintainer: Lucas Hazel, lucas at die dot net dot au
# Packager: Erlend Bergsas Mikkelsen, howl at online dot no
# Description: a small filer/desktop application based on gtk
# URL: http://rox.sourceforge.net
# Depends on: libglade, shared-mime-info

name=rox
version=2.10
release=1
source=(http://download.sourceforge.net/rox/$name-filer-$version.tar.bz2)

build () {
	cd $name-filer-$version/ROX-Filer
	./AppRun --compile \
		--with-platform="" \
		--sysconfdir=/usr/ROX/Choices

	rm -rf src Messages Help Action.png Action-it.png build
	
	cd ..
	mkdir -p $PKG/usr/{man/man1,bin,ROX/Apps,ROX/Choices}
	rm -f ROX-Filer/ROX-Filer.dbg
	cp -r ROX-Filer $PKG/usr/ROX/Apps
	cp *.1 $PKG/usr/man/man1


cat << "EOF" > $PKG/usr/ROX/Apps/ROX-Filer/AppRun
#!/bin/sh

APP_DIR=`dirname $0`
APP_DIR=`cd "$APP_DIR";pwd`

exec "$APP_DIR/ROX-Filer" "$@"
EOF

cat << "EOF" > $PKG/usr/ROX/Choices/rox.conf
#!/bin/sh

CHOICESPATH="$HOME/.rox:/usr/ROX/Choices:$CHOICESPATH"
APP_DIR="/usr/ROX/Apps"
EOF

cat << "EOF" > $PKG/usr/bin/rox
#!/bin/sh
if [[ -f /usr/ROX/Choices/rox.conf ]]; then
	source /usr/ROX/Choices/rox.conf
fi;
if [[ -d "$APP_DIR/ROX-Filer" ]]; then
	APP_DIR="$APP_DIR/ROX-Filer";
fi;
export APP_DIR CHOICESPATH
/usr/ROX/Apps/ROX-Filer/ROX-Filer "$@"
EOF

	chmod a+x $PKG/usr/bin/rox
}

Added opt/rp-pppoe/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: PPP-over-Ethernet redirector for pppd
# URL:         http://www.roaringpenguin.com/pppoe 
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  ppp

name=rp-pppoe
version=3.10
release=1
source=(http://www.roaringpenguin.com/files/download/$name-$version.tar.gz)

build () {
    cd $name-$version/src
    ./configure --prefix=/usr --mandir=/usr/man
    make
    make DESTDIR=$PKG install
    rm -r $PKG/{usr/share/,etc/ppp/plugins}
}

Added opt/rpcbind/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: Server that converts RPC program numbers into universal addresses
# URL:         http://sourceforge.net/projects/rpcbind/
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  libtirpc

name=rpcbind
version=0.2.0
release=1
source=(http://downloads.sourceforge.net/project/$name/$name/$version/$name-$version.tar.bz2 \
        rpcbind)

build() {
    cd $name-$version
    ./configure --prefix=/usr \
                --bindir=/sbin \
                --mandir=/usr/man
    make
    make DESTDIR=$PKG install
    install -D -m 755 $SRC/rpcbind $PKG/etc/rc.d/rpcbind
}

Added opt/rpcbind/rpcbind.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/bin/sh
#
# /etc/rc.d/rpcbind: start/stop rpcbind daemon
#

case $1 in
start)
	/sbin/rpcbind
	;;
stop)
	killall -q /sbin/rpcbind
	;;
restart)
	$0 stop
	sleep 2
	$0 start
	;;
*)
	echo "usage: $0 [start|stop|restart]"
	;;
esac

# End of file

Added opt/rpm2targz/Pkgfile.





























>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# Description: A tool to convert RPM files to TAR.GZ files
# URL:         http://www.crux.nu
# Maintainer:  Tilman Sauerbeck, tilman at crux dot nu

name=rpm2targz
version=1.0.4
release=1
source=(rpm2targz rpmoffset.c)

build() {
    gcc $CFLAGS rpmoffset.c -o rpmoffset
    install -D -m 0755 rpm2targz $PKG/usr/bin/rpm2targz
    install -D -m 0755 rpmoffset $PKG/usr/lib/rpm2targz/rpmoffset
}

Added opt/rpm2targz/README.













>
>
>
>
>
>
1
2
3
4
5
6
POST-INSTALL

   To enable less(1) to view RPM files, add the following line to
   the case statement in /usr/lib/less/filter:

     *.rpm) dd ibs=`/usr/lib/rpm2targz/rpmoffset < "$1"` skip=1 if="$1" | gzip -dc | cpio -tv ;;

Added opt/rpm2targz/rpm2targz.





































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#!/bin/sh
#
# Modified by Per Liden <per@fukt.bth.se>, 2000, 2004.
#             Han Boetes <han@mijncomputer.nl>, 2004.
#
# Copyright 1997, 1998 Patrick Volkerding, Moorhead, Minnesota USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
#
#  THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
#  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
#  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO
#  EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
#  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
#  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
#  OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
#  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
#  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
#  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#

if [ "$#" = "0" ]; then
	echo "usage: ${0##*/} <file.rpm> ..."
	exit 1
fi

# If $TMPDIR is not set, then use $TMP.
# If $TMP is not set either, then mktemp(1) will use /tmp.
${TMPDIR:=$TMP}

for file_rpm in $*; do
	if [ ! -f $file_rpm ]; then
		echo "$file_rpm: file not found"
		continue
	fi

	dir_tar_gz=`mktemp -d` || exit 1
	file_cpio=`mktemp` || exit 1
	file_cpio_z=`mktemp` || exit 1
	file_tar_gz=${file_rpm%.rpm}.tar.gz

	echo "$file_rpm => $file_tar_gz"

	dd ibs=`/usr/lib/rpm2targz/rpmoffset < $file_rpm` skip=1 if=$file_rpm of=$file_cpio_z 2> /dev/null

	if file $file_cpio_z | grep "bzip2 compressed data"; then
		bzip2 -dc < $file_cpio_z > $file_cpio
	else
		gzip -dc < $file_cpio_z > $file_cpio
	fi

	(	cd $dir_tar_gz
		cpio --quiet -i -m -d < $file_cpio
		find . -type d -perm 700 -exec chmod 755 {} \;
		tar cf - .
	) | gzip > $file_tar_gz

	rm -rf $file_cpio $file_cpio_z $dir_tar_gz
done

# End of file.

Added opt/rpm2targz/rpmoffset.c.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/* Find how deeply inside an .RPM the real data is */
/* kept, and report the offset in bytes */

/* Wouldn't it be a lot more sane if we could just untar these things? */

#include <stdlib.h>

/* These offsets keep getting bigger, so we're going to just bite a 2MB */
/* chunk of RAM right away so that we have enough.  Yeah, horrible */
/* quick and dirty implementation, but hey -- it gets the job done. */

#define RPMBUFSIZ 2097152
const char magic[][3]={"\x1F\x8B\x08"/*gzip*/,"BZh"/*bzip2*/};

main()
{
        char *buff = malloc(RPMBUFSIZ),*eb,*p;
        for (p = buff, eb = buff + read(0,buff,RPMBUFSIZ); p < eb; p++)
                if ((*p == magic[0][0] && p[1] == magic[0][1] && p[2] == magic[0][2]) ||
                    (*p == magic[1][0] && p[1] == magic[1][1] && p[2] == magic[1][2]))
                        printf("%d\n",p - buff),
                        exit(0);
        exit(1);
}

Added opt/ruby-cairo/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Ruby bindings for Cairo
# URL: http://cairographics.org/rcairo
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: ruby cairo

name=ruby-cairo
version=1.8.5
release=1
source=(http://cairographics.org/releases/rcairo-$version.tar.gz)

build () {
	cd rcairo-$version

	ruby extconf.rb

	make
	make DESTDIR=$PKG install
}

Added opt/ruby-doc/Pkgfile.





























>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Description: Data files for the ri documentation system of Ruby 
# URL:         http://www.ruby-lang.org
# Depends on:  ruby

name=ruby-doc
version=1.9.3-p125
release=1
source=(ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-$version.tar.bz2)

build () {
    cd ruby-$version
    rdoc --all --ri --op $PKG/usr/share/ri/1.9/system .
}

Added opt/ruby-gtk/Pkgfile.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Description: Ruby bindings for glib2, pango, atk, gdkpixbuf2 and gtk2
# URL: http://ruby-gnome2.sourceforge.jp/
# Packager: Havard Moen, vanilje at netcom dot no
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: ruby, gtk
# Nice to have: ruby-cairo

name=ruby-gtk
version=0.16.0
release=3
source=(http://download.sourceforge.net/ruby-gnome2/ruby-gtk2-$version.tar.gz \
        $name.diff)

build() {
	cd ruby-gtk2-$version

	patch -Np1 -i $SRC/$name.diff

	ruby extconf.rb

	make
	make DESTDIR=$PKG install
}

Added opt/ruby-gtk/ruby-gtk.diff.

































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
diff -aur ruby-gtk2-0.16.0.orig/glib/src/rbglib_maincontext.c ruby-gtk2-0.16.0/glib/src/rbglib_maincontext.c
--- ruby-gtk2-0.16.0.orig/glib/src/rbglib_maincontext.c	2006-12-29 14:17:29.000000000 +0100
+++ ruby-gtk2-0.16.0/glib/src/rbglib_maincontext.c	2008-02-03 19:59:41.674002790 +0100
@@ -331,17 +331,20 @@
 
 #if GLIB_CHECK_VERSION(2,14,0)
 static VALUE
-timeout_add_seconds(VALUE self, VALUE interval)
+timeout_add_seconds(int argc, VALUE *argv, VALUE self)
 {
-    VALUE func, rb_id;
+	VALUE interval, rb_priority, func, rb_id;
+	gint priority;
     callback_info_t *info;
     guint id;
 
-    func = G_BLOCK_PROC();
+	rb_scan_args(argc, argv, "11&", &interval, &rb_priority, &func);
 
+	priority = NIL_P(rb_priority) ? G_PRIORITY_DEFAULT : INT2NUM(rb_priority);
     info = ALLOC(callback_info_t);
     info->callback = func;
-    id = g_timeout_add_seconds(NUM2UINT(interval),
+    id = g_timeout_add_seconds_full(priority,
+			NUM2UINT(interval),
                                (GSourceFunc)invoke_source_func,
                                (gpointer)info, g_free);
     info->id = id;
@@ -488,7 +491,7 @@
 #endif
     rb_define_module_function(timeout, "add", timeout_add, -1);
 #if GLIB_CHECK_VERSION(2,14,0)
-    rb_define_module_function(timeout, "add_seconds", timeout_add_seconds, 1);
+    rb_define_module_function(timeout, "add_seconds", timeout_add_seconds, -1);
 #endif
     rb_define_module_function(idle, "source_new", idle_source_new, 0);
     rb_define_module_function(idle, "add", idle_add, -1);
diff -aur ruby-gtk2-0.16.0.orig/glib/src/rbglib_unicode.c ruby-gtk2-0.16.0/glib/src/rbglib_unicode.c
--- ruby-gtk2-0.16.0.orig/glib/src/rbglib_unicode.c	2006-12-29 14:17:29.000000000 +0100
+++ ruby-gtk2-0.16.0/glib/src/rbglib_unicode.c	2008-02-03 19:47:21.883858632 +0100
@@ -140,7 +140,7 @@
 rbglib_m_unichar_get_script(VALUE self, VALUE unichar)
 {
     return GENUM2RVAL(g_unichar_get_script(NUM2UINT(unichar)),
-                      G_TYPE_UNICODE_SCRIPT_TYPE);
+                      G_TYPE_UNICODE_SCRIPT);
 }
 #endif
 
diff -aur ruby-gtk2-0.16.0.orig/glib/src/rbgobj_boxed.c ruby-gtk2-0.16.0/glib/src/rbgobj_boxed.c
--- ruby-gtk2-0.16.0.orig/glib/src/rbgobj_boxed.c	2006-12-29 14:17:29.000000000 +0100
+++ ruby-gtk2-0.16.0/glib/src/rbgobj_boxed.c	2008-02-03 19:49:08.444585783 +0100
@@ -145,7 +145,8 @@
 
 gpointer
 rbgobj_boxed_get(obj, gtype)
-    VALUE obj, gtype;
+    VALUE obj;
+    GType gtype;
 {
     boxed_holder* holder;
     Data_Get_Struct(obj, boxed_holder, holder);
diff -aur ruby-gtk2-0.16.0.orig/gtk/src/rbgtk.h ruby-gtk2-0.16.0/gtk/src/rbgtk.h
--- ruby-gtk2-0.16.0.orig/gtk/src/rbgtk.h	2006-12-29 14:17:29.000000000 +0100
+++ ruby-gtk2-0.16.0/gtk/src/rbgtk.h	2008-02-03 19:44:56.153964719 +0100
@@ -115,7 +115,7 @@
  */
 typedef void (*rbgtkiter_set_value_func)(void *model, GtkTreeIter *iter,
                                          gint column, GValue *value);
-extern void rbgtk_register_treeiter_set_value_func(VALUE klass, rbgtkiter_set_value_func);
+extern void rbgtk_register_treeiter_set_value_func(GType gtype, rbgtkiter_set_value_func);
 
 /*
  * Gtk::SelectionData
diff -aur ruby-gtk2-0.16.0.orig/glib/src/lib/glib-mkenums.rb ruby-gtk2-0.16.0/glib/src/lib/glib-mkenums.rb
--- ruby-gtk2-0.16.0.orig/glib/src/lib/glib-mkenums.rb	2006-12-29 14:17:29.000000000 +0100
+++ ruby-gtk2-0.16.0/glib/src/lib/glib-mkenums.rb	2008-03-15 17:25:05.034366090 +0100
@@ -33,16 +33,14 @@
       if const_lines.include? "<<"
         @type = "flags"
         @Type = "Flags"
-        regexp = /^\s*([^\s]*)\s.*\n/
       else
         @type = "enum"
         @Type = "Enum"
-        regexp = /^\s*([^\s,]*).*\n/
       end
       consts = []
-      const_lines.scan(regexp){|name|
+      const_lines.scan(/^\s*([^\s,]*).*\n/) do |name|
         consts << name[0] unless name[0] =~ /(^[\/\*]|^$)/
-      }
+      end
       @prefix = extract_prefix(consts)
       consts.each do |name|
         # consts = [name, nick]

Added opt/ruby-musicbrainz/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description: Ruby bindings for libmusicbrainz
# URL: http://www.pablotron.org/software/mb-ruby/
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: ruby, libmusicbrainz

name=ruby-musicbrainz
version=0.3.0
release=2
source=(http://pablotron.org/download/mb-ruby-$version.tar.gz $name.diff)

build () {
	cd mb-ruby-$version

	# make it build with ruby 1.9
	patch -p1 -i $SRC/$name.diff

	ruby extconf.rb
	make

	install -m 755 -D musicbrainz.so \
		$PKG/usr/lib/ruby/site_ruby/1.9/linux/musicbrainz.so
}

Added opt/ruby-musicbrainz/ruby-musicbrainz.diff.



















































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
diff -aur mb-ruby-0.3.0.orig/musicbrainz.c mb-ruby-0.3.0/musicbrainz.c
--- mb-ruby-0.3.0.orig/musicbrainz.c	2006-08-29 01:47:03.000000000 +0200
+++ mb-ruby-0.3.0/musicbrainz.c	2009-10-26 19:33:21.397764820 +0100
@@ -462,7 +462,7 @@
       break;
     default:
       /* grab object */
-      obj = RSTRING(argv[0])->ptr;
+      obj = RSTRING_PTR(argv[0]);
 
       /* allocate argument list */
       if ((args = malloc(sizeof(char*) * argc)) == NULL)
@@ -470,7 +470,7 @@
 
       /* add each argument list, then terminate the list  */
       for (i = 1; i < argc; i++)
-        args[i - 1] = RSTRING(argv[i])->ptr;
+        args[i - 1] = RSTRING_PTR(argv[i]);
       args[argc - 1] = NULL;
 
       /* execute query and free argument list */
@@ -1128,8 +1128,8 @@
   int len;
 
   Data_Get_Struct(self, trm_t, trm);
-  ptr = RSTRING(buf)->ptr;
-  len = RSTRING(buf)->len;
+  ptr = RSTRING_PTR(buf);
+  len = RSTRING_LEN(buf);
 
   return trm_GenerateSignature(*trm, ptr, len) ? Qtrue : Qfalse;
 }
@@ -1159,7 +1159,7 @@
       break;
     case 1:
       if (argv[0] != Qnil)
-        id = RSTRING(argv[0])->ptr;
+        id = RSTRING_PTR(argv[0]);
       break;
     default:
       rb_raise(eErr, "Invalid argument count: %d.", argc);

Added opt/ruby/Pkgfile.



















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Description: Ruby interpreter
# URL:         http://www.ruby-lang.org
# Depends on:  db, gdbm, ncurses, openssl, readline, zlib

name=ruby
version=1.9.3-p125
release=2
source=(ftp://ftp.ruby-lang.org/pub/$name/1.9/$name-$version.tar.bz2 \
        $name-arch.patch)

build () {
    cd $name-$version

    patch -p0 -i $SRC/$name-arch.patch

    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --enable-shared \
                --disable-install-doc \
                --with-ruby-version=minor 

    make
    make DESTDIR=$PKG install
}

Added opt/ruby/ruby-arch.patch.























>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
--- configure.orig	2011-11-06 16:48:47.328421986 +0100
+++ configure	2011-11-06 16:48:25.799199157 +0100
@@ -17390,7 +17390,7 @@
 _ACEOF
 
 else
-    arch="${target_cpu}-${target_os}"
+    arch="${target_os}"
     cat >>confdefs.h <<_ACEOF
 #define RUBY_PLATFORM "${arch}"
 _ACEOF

Added opt/rxvt-unicode/Pkgfile.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Description: rxvt fork with unicode and xft support
# URL: http://software.schmorp.de/#rxvt-unicode
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-libxft, xorg-libxpm, perl

name=rxvt-unicode
version=9.15
release=1
source=(http://dist.schmorp.de/$name/Attic/$name-$version.tar.bz2)

build() {
	cd $name-$version

	./configure --prefix=/usr --mandir=/usr/man \
	            --enable-utmp --enable-wtmp \
	            --enable-transparency --enable-tinting --enable-fading \
	            --enable-mousewheel \
	            --enable-xft --enable-font-styles 

	make

	mkdir -p $PKG/usr/share/terminfo
	make TERMINFO=$PKG/usr/share/terminfo DESTDIR=$PKG install
}

Added opt/samba/Pkgfile.







































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# Description: SMB server and client for unix
# URL:         http://www.samba.org
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  ncurses openssl readline zlib tdb talloc libcap acl

name=samba
version=3.6.4
release=1
source=(http://www.samba.org/samba/ftp/stable/$name-$version.tar.gz \
        samba-config.patch samba)

build () {
    cd $name-$version/source3

    patch -d .. -p1 -i $SRC/samba-config.patch

    ./configure --prefix=/usr \
                --localstatedir=/var \
                --with-fhs \
                --with-configdir=/etc/samba \
                --with-modulesdir=/usr/lib/samba \
                --with-lockdir=/var/run/samba \
                --with-piddir=/var/run/samba \
                --with-nmbdsocketdir=/var/run/samba \
                --with-mandir=/usr/man \
                --with-logfilebase=/var/log/samba \
                --disable-swat \
                --with-included-popt \
                --enable-external-{libtdb,libtalloc}

    make
    make DESTDIR=$PKG install

    # nsswitch extensions
    install -d $PKG/lib
    install ../nsswitch/libnss_win{s,bind}.so $PKG/lib
    ln -s libnss_wins.so $PKG/lib/libnss_wins.so.2
    ln -s libnss_winbind.so $PKG/lib/libnss_winbind.so.2

    # spool/log/lib directory
    install -d $PKG/var/{lib,log}/samba
    install -d -m 1777 $PKG/var/spool/samba

    # config-file and start-script
    install -m 600 ../examples/smb.conf.default $PKG/etc/samba
    install -D -m 755  $SRC/samba $PKG/etc/rc.d/samba

    # cleanup
    rm -r $PKG/usr/share
    rm $PKG/usr/man/man8/{swat.8,tdb*.8}
}

Added opt/samba/samba.

























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/bin/sh
#
# /etc/rc.d/samba: start/stop samba daemon
#

case $1 in
start)
	/usr/sbin/nmbd -D
	/usr/sbin/smbd -D
	;;
stop)
	killall -q smbd
	killall -q nmbd
	;;
restart)
	$0 stop
	sleep 2
	$0 start
	;;
reload)
	/usr/bin/smbcontrol smbd reload-config
	;;
*)
	echo "usage: $0 [start|stop|restart|reload]"
	;;
esac

# End of file

Added opt/samba/samba-config.patch.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
diff -Nru samba-3.0.26a.orig/examples/smb.conf.default samba-3.0.26a/examples/smb.conf.default
--- samba-3.0.26a.orig/examples/smb.conf.default	2007-09-12 09:39:16.000000000 +0200
+++ samba-3.0.26a/examples/smb.conf.default	2007-09-12 09:39:40.000000000 +0200
@@ -63,7 +63,7 @@
 
 # this tells Samba to use a separate log file for each machine
 # that connects
-   log file = /usr/local/samba/var/log.%m
+   log file = /var/log/samba/log.%m
 
 # Put a capping on the size of the log files (in Kb).
    max log size = 50
@@ -184,7 +184,7 @@
 # specifically define each individual printer
 [printers]
    comment = All Printers
-   path = /usr/spool/samba
+   path = /var/spool/samba
    browseable = no
 # Set public = yes to allow user 'guest account' to print
    guest ok = no

Added opt/samhain/Pkgfile.

























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# Description: File integrity / intrusion detection system
# URL:         http://la-samhna.de/samhain/
# Maintainer:  Juergen Daubert, jue at crux dot nu

name=samhain
version=3.0.3
release=1
source=(http://la-samhna.de/archive/${name}_signed-$version.tar.gz)

build () {
    tar xfz $name-$version.tar.gz

    cd $name-$version
    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --localstatedir=/var \
                --sysconfdir=/etc \
                --with-log-file=/var/log/samhain.log \
                --enable-static \
                --enable-login-watch \
                --enable-suidcheck
    make
    make DESTDIR=$PKG install

    rm -r $PKG/var/run
    touch $PKG/var/log/samhain.log
    chmod 0640 $PKG/var/log/samhain.log
}

Added opt/sane/Pkgfile.































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# Description: Scanner Access Now Easy - Scanner driver for Linux
# URL:         http://www.sane-project.org/
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  libusb-compat libtiff

name=sane
version=1.0.22
release=1
source=(ftp://ftp2.sane-project.org/pub/$name/$name-backends-$version/$name-backends-$version.tar.gz)

build () {
    cd $name-backends-$version

    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --localstatedir=/var \
                --sysconfdir=/etc \
                --disable-translations \
                --enable-locking \
                --with-group=scanner
    make
    make -j1 DESTDIR=$PKG install

    install -D -m 644 tools/udev/libsane.rules $PKG/etc/udev/rules.d/85-libsane.rules

    chown root:root $PKG/{var,var/lock}
    chmod 0755 $PKG/var
    chmod 1777 $PKG/var/lock

    rm -r $PKG/usr/{doc,share}
}

Added opt/sane/README.





























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
README for sane 1.0.x

REQUIREMENTS

PRE-INSTALL

POST-INSTALL
  1. To find the vendor/product id of your scanner, run the command:

     # sane-find-scanner -q
     found USB scanner (vendor=0x04a9, product=0x2204 [CanoScan FB630U] at libusb:001:005

     You need the 'vendor' id (04a9) and the 'product' id (2204)

  2. Check if /etc/udev/rules.d/libsane.rules already knows about 
     your scanner. If your scanner is not in this list, add a line 
     like the following, remember to replace 04a9 and 2204 with 
     your values:

     SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="2204", MODE="660", GROUP="scanner"
  
  3. Check the file permissions in /dev/bus/usb after you have plugged 
     in your scanner device.

     # ls -l /dev/bus/usb/001
     total 0
     -rw-r--r--  1 root root    43 Aug  3 10:58 001
     -rw-rw----  1 root scanner 50 Aug  3 10:58 005

PRECAUTION

Added opt/sc/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description: Curses based spreadsheet with vi key-bindings 
# URL:         http://www.ibiblio.org/pub/Linux/apps/financial/spreadsheet/
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  ncurses

name=sc
version=7.16
release=4
source=(http://www.ibiblio.org/pub/Linux/apps/financial/spreadsheet/$name-$version.tar.gz \
        http://ftp.de.debian.org/debian/pool/main/s/sc/sc_7.16-3.debian.tar.gz)

build () {
    cd $name-$version
    patch -p1 -i $SRC/debian/patches/debian-changes-7.16-3
    sed -e "/^CFLAGS=/s/-O2 -pipe/$CFLAGS/" \
        -e "/^LIBDIR=/s|doc/||" \
        -e "/^LIB=/s/ncurses/ncursesw/" -i Makefile
    install -d $PKG/usr/{bin,man/man1,share/sc}
    make
    make prefix=$PKG/usr install
    sed -i "s|$PKG||g" $PKG/usr/man/man1/sc.1
}

Added opt/scite/Pkgfile.































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# Description: Editor based on the Scintilla editing component
# URL:         http://www.scintilla.org/
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  gtk

name=scite
version=3.0.4
release=1
source=(http://downloads.sourceforge.net/project/scintilla/SciTE/$version/$name${version//./}.tgz)

build () {
    cd scintilla/gtk
    sed -i "s/-Os/$CXXFLAGS/" makefile
    make

    cd $SRC/$name/gtk
    sed -i "s/-Os/$CXXFLAGS/" makefile
    make prefix=/usr
    make DESTDIR=$PKG install

    sed -i '/^#buffers/s/#//
            /^#save.recent/s/#//
            /^#tabbar.hide.one/s/#//' \
           $PKG/usr/share/scite/SciTEGlobal.properties

    chmod -x $PKG/usr/share/{applications,scite}/*
    sed -ri '/\[.+\]=/d' $PKG/usr/share/applications/*.desktop
    rm -r $PKG/usr/share/scite/*.html
    install -D -m 644 ../doc/scite.1 $PKG/usr/man/man1/scite.1
    ln -s SciTE $PKG/usr/bin/scite
}

Added opt/scons/Pkgfile.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Description: Software construction tool
# URL: http://www.scons.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: python

name=scons
version=2.1.0
release=1
source=(http://download.sourceforge.net/$name/$name-$version.tar.gz)

build() {
	cd $name-$version

	python setup.py install --prefix=/usr --root=$PKG
}

Added opt/screen/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: A screen manager with VT100/ANSI terminal emulation 
# URL:         http://www.gnu.org/software/screen/
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  ncurses

name=screen
version=4.0.3
release=2
source=(http://ftp.gnu.org/gnu/$name/$name-$version.tar.gz)

build () {
    cd $name-$version
    ./configure --prefix=/usr --enable-colors256
    make
    make -j1 DESTDIR=$PKG install
    rm -rf $PKG/usr/info
    chmod -s $PKG/usr/bin/$name-$version
}

Added opt/scummvm/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Script Creation Utility for Maniac Mansion Virtual Machine
# URL:         http://www.scummvm.org/
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    Matt Housh, jaeger at crux dot nu
# Depends on:  libmad libmpeg2 flac

name=scummvm
version=1.4.1
release=1
source=(http://download.sourceforge.net/$name/$name-$version.tar.bz2)

build() {
  cd $name-$version
  ./configure --prefix=/usr --mandir=/usr/man
  make
  make DESTDIR=$PKG install
  rm -rf $PKG/usr/share/doc
}

Added opt/service/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: Wrapper for starting/stopping services, with completion
# URL: http:///www.varlock.com
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Simone Rota, sip at crux dot nu
# Depends on: bash-completion

name=service
version=0.2
release=1
source=(http://www.varlock.com/files/$name-$version.tar.gz)

build() {
	cd $name-$version
	mkdir -p $PKG/usr/sbin
	install -m 755 $name $PKG/usr/sbin
	mkdir -p $PKG/usr/lib/bash-completion
	install -m 755 ${name}_completions $PKG/usr/lib/bash-completion

}

Added opt/shared-mime-info/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: core database of common types
# URL: http://freedesktop.org/Software/shared-mime-info
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: glib,libxml2,intltool
# Group: gnome

name=shared-mime-info
version=0.90
release=1
source=(http://freedesktop.org/~hadess/$name-$version.tar.bz2)

build() {
	cd $name-$version

	./configure --prefix=/usr --mandir=/usr/man
	make -j1
	make -j1 DESTDIR=$PKG install

	rm -rf $PKG/usr/share/locale
}

Added opt/shared-mime-info/README.

























>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
README for shared-mime-info

REQUIREMENTS

PRE-INSTALL

INSTALL

POST-INSTALL
- Run the post-install script to update the MIME data.

PRECAUTION

Added opt/shared-mime-info/post-install.











>
>
>
>
>
1
2
3
4
5
#!/bin/sh

update-mime-database /usr/share/mime

# End of file

Added opt/sharutils/Pkgfile.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Description: GNU shar (encoding/decoding) utilities
# URL: http://www.gnu.org/software/sharutils/sharutils.html
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager:  Antti Nykanen, aon at iki dot fi
# Depends on: 

name=sharutils
version=4.11.1
release=1
source=(ftp://ftp.gnu.org/gnu/$name/$name-$version.tar.bz2)

build(){
  cd $name-$version

  ./configure --prefix=/usr \
              --mandir=/usr/man \
              --disable-nls

  make
  make DESTDIR=$PKG install

  rm -rf $PKG/usr/share
}

Added opt/sitecopy/Pkgfile.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Description: Utility for maintaining remote web sites via FTP or WebDAV
# URL:         http://www.manyfish.co.uk/sitecopy/
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  neon

name=sitecopy
version=0.16.6
release=2
source=(http://www.manyfish.co.uk/sitecopy/$name-$version.tar.gz
        $name-$version.patch)

build () {
    cd $name-$version
    patch -p1 -i $SRC/$name-$version.patch
    autoconf
    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --with-neon=/usr \
                --disable-nls \
                --disable-debug
    make
    make DESTDIR=$PKG install
    rm -r $PKG/usr/{doc,share,man/fr}
}

Added opt/sitecopy/sitecopy-0.16.6.patch.

























>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
diff -Nru sitecopy-0.16.6.orig/configure.in sitecopy-0.16.6/configure.in
--- sitecopy-0.16.6.orig/configure.in	2010-07-23 21:56:43.027136877 +0200
+++ sitecopy-0.16.6/configure.in	2010-07-23 21:57:19.377136926 +0200
@@ -113,7 +113,7 @@
 fi
 
 # Support neon 0.24 through 0.28
-NE_REQUIRE_VERSIONS([0], [24 25 26 27 28])
+NE_REQUIRE_VERSIONS([0], [24 25 26 27 28 29])
 
 dnl But we don't use zlib or ACL support
 NEON_WITHOUT_ZLIB

Added opt/slim/Pkgfile.





















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# Description: a graphical login utility
# URL:         http://slim.berlios.de
# Packager:    Simone Rota, sip at crux dot nu
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Depends on:  xorg-xauth, libjpeg, libpng

name=slim
version=1.3.2
release=2
source=(http://download.berlios.de/$name/$name-$version.tar.gz \
        http://jw.tks6.net/files/slim-crux-smooth.tar.gz $name.rc)

build () {
   cd $name-$version
   sed -i -e "s:-I/usr/include/libpng12:$(pkg-config --cflags-only-I libpng):" \
          -e "s:-lpng12:$(pkg-config --libs-only-l libpng):" Makefile
   make
   make DESTDIR=$PKG install
   mkdir $PKG/etc/rc.d
   install -m 755 ../$name.rc $PKG/etc/rc.d/$name
   cd ../

   rm -f slim-crux-smooth/README
   cp -r slim-crux-smooth $PKG/usr/share/slim/themes/crux-smooth
   chmod 0644 $PKG/usr/share/slim/themes/crux-smooth/*
}

Added opt/slim/slim.rc.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/bin/sh
#
# /etc/rc.d/slim: start/stop slim
#

case $1 in
start)
	/usr/bin/slim -d
	;;
stop)
	killall /usr/bin/slim
	;;
restart)
	$0 stop
	sleep 2
	$0 start
	;;
*)
	echo "usage: $0 [start|stop|restart]"
	;;
esac

# End of file

Added opt/sloccount/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: a set of tools for counting physical Source Lines of Code
# URL: http://www.dwheeler.com/sloccount/
# Maintainer: Antti Nykanen, aon at iki dot fi
# Depends on:

name=sloccount
version=2.26
release=1
source=(http://www.dwheeler.com/sloccount/sloccount-$version.tar.gz)

build() {
	cd sloccount-$version
	make
	install -d -m 0755 $PKG/usr/bin
	make PREFIX=$PKG/usr MAN_DIR=$PKG/usr/man install
	rm -rf $PKG/usr/share/doc
}

Added opt/smartmontools/Pkgfile.





























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# Description: Utilities to control and monitor S.M.A.R.T. hard drives
# URL: http://smartmontools.sourceforge.net/
# Maintainer: Juergen Daubert, jue at crux dot nu
# Packager: Juergen Daubert, jue at crux dot nu

name=smartmontools
version=5.42
release=1
source=(http://downloads.sourceforge.net/project/$name/$name/$version/$name-$version.tar.gz \
        smartd)

build () {
    cd $name-$version

    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --sysconfdir=/etc \
                --with-initscriptdir=/etc/rc.d \
                --localstatedir=/var \
                --enable-drivedb \
                --enable-savestates \
                --enable-attributelog

    make
    make DESTDIR=$PKG install

    install -m 755 $SRC/smartd $PKG/etc/rc.d

    rm -r $PKG/usr/share/doc
}

Added opt/smartmontools/README.























>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11

REQUIREMENTS
    
    To send email notifications smartd needs a mail binary. The opt port
    mailx is recommend for that purpose.

PRE-INSTALL

POST-INSTALL

PRECAUTION

Added opt/smartmontools/smartd.





















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/bin/sh
#
# /etc/rc.d/smartd: start/stop smartd daemon
#

case $1 in
start)
	/usr/sbin/smartd -p /var/run/smartd.pid
	;;
stop)
	killall -q /usr/sbin/smartd
	;;
restart)
	$0 stop
	sleep 2
	$0 start
	;;
reload)
	kill -HUP `pidof smartd`
	;;
*)
	echo "usage: $0 [start|stop|restart|reload]"
	;;
esac

# End of file

Added opt/socat/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: SOcket CAT - netcat-like utility with many enhancements
# URL:         http://www.dest-unreach.org/socat
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  ncurses openssl readline tcp_wrappers

name=socat
version=1.7.2.0
release=1
source=(http://www.dest-unreach.org/socat/download/$name-$version.tar.bz2)

build () {
    cd $name-$version
    ./configure --prefix=/usr --mandir=/usr/man
    make
    make DESTDIR=$PKG install
}

Added opt/spamprobe/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: Spam detection program that uses Bayesian analysis
# URL:         http://spamprobe.sourceforge.net/
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  db

name=spamprobe
version=1.4d
release=4
source=(http://downloads.sourceforge.net/project/$name/$name/$version/$name-$version.tar.gz
        $name-$version-gcc43.patch $name-$version-libpng14.patch)

build () {
    cd $SRC/$name-$version
    patch -p1 -i $SRC/$name-$version-gcc43.patch
    patch -p0 -i $SRC/$name-$version-libpng14.patch
    ./configure --prefix=/usr --enable-default-8-bit
    make 
    make DESTDIR=$PKG install
}

Added opt/spamprobe/spamprobe-1.4d-gcc43.patch.





















































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
diff -ur -x '*~' spamprobe-1.4d.orig/src/database/DatabaseConfig.cc spamprobe-1.4d-dev/src/database/DatabaseConfig.cc
--- spamprobe-1.4d.orig/src/database/DatabaseConfig.cc	2006-11-17 08:24:48.000000000 +0100
+++ spamprobe-1.4d-dev/src/database/DatabaseConfig.cc	2007-07-09 17:58:18.000000000 +0200
@@ -29,6 +29,7 @@
 //
 
 #include <stdexcept>
+#include <cstdlib>
 #include "File.h"
 #include "WordData.h"
 #include "FrequencyDBImpl.h"
diff -ur -x '*~' spamprobe-1.4d.orig/src/hdl/HdlTokenizer.cc spamprobe-1.4d-dev/src/hdl/HdlTokenizer.cc
--- spamprobe-1.4d.orig/src/hdl/HdlTokenizer.cc	2006-11-17 08:24:48.000000000 +0100
+++ spamprobe-1.4d-dev/src/hdl/HdlTokenizer.cc	2007-07-09 18:12:33.000000000 +0200
@@ -28,6 +28,7 @@
 //    http://www.cooldevtools.com/qpl.html
 //
 
+#include <cstdlib>
 #include "AbstractCharReader.h"
 #include "HdlError.h"
 #include "HdlToken.h"
diff -ur -x '*~' spamprobe-1.4d.orig/src/includes/MultiLineSubString.h spamprobe-1.4d-dev/src/includes/MultiLineSubString.h
--- spamprobe-1.4d.orig/src/includes/MultiLineSubString.h	2006-11-17 08:24:48.000000000 +0100
+++ spamprobe-1.4d-dev/src/includes/MultiLineSubString.h	2007-07-09 18:01:10.000000000 +0200
@@ -31,6 +31,7 @@
 #ifndef _MultiLineSubString_h
 #define _MultiLineSubString_h
 
+#include <climits>
 #include "AbstractMultiLineString.h"
 
 class MultiLineSubString : public AbstractMultiLineString
diff -ur -x '*~' spamprobe-1.4d.orig/src/includes/util.h spamprobe-1.4d-dev/src/includes/util.h
--- spamprobe-1.4d.orig/src/includes/util.h	2006-11-17 08:24:49.000000000 +0100
+++ spamprobe-1.4d-dev/src/includes/util.h	2007-07-09 17:57:21.000000000 +0200
@@ -42,6 +42,7 @@
 #include <cassert>
 #include <iostream>
 #include <cstdio>
+#include <cstring>
 #include "Ptr.h"
 #include "Ref.h"
 
diff -ur -x '*~' spamprobe-1.4d.orig/src/parser/AutoTrainMailMessageReader.cc spamprobe-1.4d-dev/src/parser/AutoTrainMailMessageReader.cc
--- spamprobe-1.4d.orig/src/parser/AutoTrainMailMessageReader.cc	2006-11-17 08:24:49.000000000 +0100
+++ spamprobe-1.4d-dev/src/parser/AutoTrainMailMessageReader.cc	2007-07-09 17:59:39.000000000 +0200
@@ -28,6 +28,7 @@
 //    http://www.cooldevtools.com/qpl.html
 //
 
+#include <cstdlib>
 #include "MailMessage.h"
 #include "AutoTrainMailMessageReader.h"
 
diff -ur -x '*~' spamprobe-1.4d.orig/src/parser/HtmlTokenizer.cc spamprobe-1.4d-dev/src/parser/HtmlTokenizer.cc
--- spamprobe-1.4d.orig/src/parser/HtmlTokenizer.cc	2006-11-17 08:24:49.000000000 +0100
+++ spamprobe-1.4d-dev/src/parser/HtmlTokenizer.cc	2007-07-09 18:02:31.000000000 +0200
@@ -28,6 +28,7 @@
 //    http://www.cooldevtools.com/qpl.html
 //
 
+#include <cstdlib>
 #include "AbstractTokenReceiver.h"
 #include "StringReader.h"
 #include "RegularExpression.h"
diff -ur -x '*~' spamprobe-1.4d.orig/src/parser/MailMessageReader.cc spamprobe-1.4d-dev/src/parser/MailMessageReader.cc
--- spamprobe-1.4d.orig/src/parser/MailMessageReader.cc	2006-11-17 08:24:49.000000000 +0100
+++ spamprobe-1.4d-dev/src/parser/MailMessageReader.cc	2007-07-09 18:03:06.000000000 +0200
@@ -28,6 +28,7 @@
 //    http://www.cooldevtools.com/qpl.html
 //
 
+#include <cstdlib>
 #include "RegularExpression.h"
 #include "MailMessage.h"
 #include "MailMessageList.h"
diff -ur -x '*~' spamprobe-1.4d.orig/src/parser/MbxMailMessageReader.cc spamprobe-1.4d-dev/src/parser/MbxMailMessageReader.cc
--- spamprobe-1.4d.orig/src/parser/MbxMailMessageReader.cc	2006-11-17 08:24:49.000000000 +0100
+++ spamprobe-1.4d-dev/src/parser/MbxMailMessageReader.cc	2007-07-09 18:03:41.000000000 +0200
@@ -28,6 +28,7 @@
 //    http://www.cooldevtools.com/qpl.html
 //
 
+#include <cstdlib>
 #include <stdexcept>
 #include "MailMessage.h"
 #include "MailMessageList.h"
diff -ur -x '*~' spamprobe-1.4d.orig/src/spamprobe/Command_cleanup.cc spamprobe-1.4d-dev/src/spamprobe/Command_cleanup.cc
--- spamprobe-1.4d.orig/src/spamprobe/Command_cleanup.cc	2006-11-17 08:24:49.000000000 +0100
+++ spamprobe-1.4d-dev/src/spamprobe/Command_cleanup.cc	2007-07-09 18:13:16.000000000 +0200
@@ -28,6 +28,7 @@
 //    http://www.cooldevtools.com/qpl.html
 //
 
+#include <cstdlib>
 #include "CleanupManager.h"
 #include "SpamFilter.h"
 #include "FrequencyDB.h"
diff -ur -x '*~' spamprobe-1.4d.orig/src/spamprobe/Command_edit_term.cc spamprobe-1.4d-dev/src/spamprobe/Command_edit_term.cc
--- spamprobe-1.4d.orig/src/spamprobe/Command_edit_term.cc	2006-11-17 08:24:49.000000000 +0100
+++ spamprobe-1.4d-dev/src/spamprobe/Command_edit_term.cc	2007-07-09 18:13:42.000000000 +0200
@@ -28,6 +28,7 @@
 //    http://www.cooldevtools.com/qpl.html
 //
 
+#include <cstdlib>
 #include "SpamFilter.h"
 #include "FrequencyDB.h"
 #include "CommandConfig.h"
diff -ur -x '*~' spamprobe-1.4d.orig/src/spamprobe/Command_exec.cc spamprobe-1.4d-dev/src/spamprobe/Command_exec.cc
--- spamprobe-1.4d.orig/src/spamprobe/Command_exec.cc	2006-11-17 08:24:49.000000000 +0100
+++ spamprobe-1.4d-dev/src/spamprobe/Command_exec.cc	2007-07-09 18:14:16.000000000 +0200
@@ -28,6 +28,7 @@
 //    http://www.cooldevtools.com/qpl.html
 //
 
+#include <cstdlib>
 #include "SpamFilter.h"
 #include "CommandConfig.h"
 #include "ConfigManager.h"
diff -ur -x '*~' spamprobe-1.4d.orig/src/spamprobe/Command_import.cc spamprobe-1.4d-dev/src/spamprobe/Command_import.cc
--- spamprobe-1.4d.orig/src/spamprobe/Command_import.cc	2006-11-17 08:24:49.000000000 +0100
+++ spamprobe-1.4d-dev/src/spamprobe/Command_import.cc	2007-07-09 18:14:37.000000000 +0200
@@ -28,6 +28,7 @@
 //    http://www.cooldevtools.com/qpl.html
 //
 
+#include <cstdlib>
 #include <fstream>
 #include "LineReader.h"
 #include "IstreamCharReader.h"
diff -ur -x '*~' spamprobe-1.4d.orig/src/spamprobe/Command_purge.cc spamprobe-1.4d-dev/src/spamprobe/Command_purge.cc
--- spamprobe-1.4d.orig/src/spamprobe/Command_purge.cc	2006-11-17 08:24:49.000000000 +0100
+++ spamprobe-1.4d-dev/src/spamprobe/Command_purge.cc	2007-07-09 18:14:57.000000000 +0200
@@ -28,6 +28,7 @@
 //    http://www.cooldevtools.com/qpl.html
 //
 
+#include <cstdlib>
 #include "CleanupManager.h"
 #include "SpamFilter.h"
 #include "FrequencyDB.h"
diff -ur -x '*~' spamprobe-1.4d.orig/src/spamprobe/spamprobe.cc spamprobe-1.4d-dev/src/spamprobe/spamprobe.cc
--- spamprobe-1.4d.orig/src/spamprobe/spamprobe.cc	2006-11-17 08:24:49.000000000 +0100
+++ spamprobe-1.4d-dev/src/spamprobe/spamprobe.cc	2007-07-10 09:50:01.000000000 +0200
@@ -28,6 +28,7 @@
 //    http://www.cooldevtools.com/qpl.html
 //
 
+#include <cstdlib>
 #include <unistd.h>
 #include <locale.h>
 #include <signal.h>

Added opt/spamprobe/spamprobe-1.4d-libpng14.patch.



















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/mail-filter/spamprobe/files/spamprobe-1.4d-libpng14.patch

--- src/parser/PngParser.cc
+++ src/parser/PngParser.cc
@@ -53,9 +53,9 @@
 {
   if (m_initialized) {
     if (m_infoPtr) {
-      png_destroy_read_struct(&m_pngPtr, &m_infoPtr, png_infopp_NULL);
+      png_destroy_read_struct(&m_pngPtr, &m_infoPtr, NULL);
     } else {
-      png_destroy_read_struct(&m_pngPtr, png_infopp_NULL, png_infopp_NULL);
+      png_destroy_read_struct(&m_pngPtr, NULL, NULL);
     }
   }
 }
@@ -104,7 +104,7 @@
   int bit_depth, color_type, interlace_type;
 
   png_get_IHDR(m_pngPtr, m_infoPtr, &width, &height, &bit_depth, &color_type,
-               &interlace_type, int_p_NULL, int_p_NULL);
+               &interlace_type, (int *) NULL, (int *) NULL);
 
   string base_token("image_0");
   sendToken(base_token + "_height_" + num_to_string((int)width));

Added opt/spectrwm/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: Minimalistic tiling window manager
# URL:         https://opensource.conformal.com/wiki/spectrwm
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  xorg-libxt xorg-libxrandr xorg-font-misc-misc xorg-font-alias

name=spectrwm
version=1.0.0
release=1
source=(https://opensource.conformal.com/snapshots/$name/$name-$version.tgz)

build () {
    cd $name-$version/linux
    make PREFIX=/usr MANDIR=/usr/man DESTDIR=$PKG install
    rm $PKG/usr/man/man1/spectrwm_*.1
    ln -sf spectrwm $PKG/usr/bin/scrotwm
}

Added opt/splint/Pkgfile.





























>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# Description: A tool for statically checking C programs
# URL: http://www.splint.org/
# Maintainer: Antti Nykanen, aon at iki dot fi
 
name=splint
version=3.1.2
release=1
source=(http://www.splint.org/downloads/$name-$version.src.tgz) 
build() {
	cd $name-$version
	./configure --prefix=/usr
	make
	make DESTDIR=$PKG install
}

Added opt/sqlite3-ruby/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: Interface to the SQLite DB engine
# URL:         http://sqlite-ruby.rubyforge.org/
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  ruby, sqlite3

name=sqlite3-ruby
version=1.3.0
release=1
source=(http://rubyforge.org/frs/download.php/71085/$name-$version.tgz)

build() {
    cd $name-$version
    
    ruby setup.rb config
    ruby setup.rb setup
    ruby setup.rb install --prefix=$PKG
    
    mv $PKG/usr/lib/ruby/{site_ruby,vendor_ruby}
}

Added opt/sqlite3/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: SQL database engine
# URL:         http://www.sqlite.org/
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  ncurses, readline

name=sqlite3
version=3.7.11
release=1
_version=$(printf "%i%.2i%.2i%.2i" ${version//./ })

source=(http://www.sqlite.org/sqlite-autoconf-${_version}.tar.gz)

build () {
    cd sqlite-autoconf-${_version}
    ./configure --prefix=/usr --mandir=/usr/man
    make
    make DESTDIR=$PKG install
}

Added opt/squid/Pkgfile.

















































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# Description: A full-featured web proxy cache
# URL:         http://www.squid-cache.org
# Maintainer:  Juergen Daubert, jue at crux dot nu

name=squid
version=3.1.19
release=1
source=(http://www.squid-cache.org/Versions/v3/3.1/$name-$version.tar.bz2 \
        squid)

build () {
    cd $name-$version

    sed -i '/^DEFAULT_SWAP_DIR/s/cache/squid/' src/Makefile.in

    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --sysconfdir=/etc/squid \
                --libexecdir=/usr/lib/squid \
                --localstatedir=/var \
                --datadir=/usr/share/squid \
                --with-logdir=/var/log/squid \
                --with-pidfile=/var/run/squid.pid \
                --with-default-user=squid \
                --enable-linux-netfilter \
                --enable-storeio=ufs,aufs,diskd \
                --with-large-files \
                --with-pthreads \
                --with-aufs-threads=16 \
                --disable-auto-locale

    make all
    make DESTDIR=$PKG install

    rm -r $PKG/{usr/include,var/run}
    find $PKG/usr/share/squid/errors/* -prune ! -name templates | xargs rm -r

    install -d -m 0700 -o squid -g squid $PKG/var/{log/squid,squid}
    install -D -m 755 $SRC/squid $PKG/etc/rc.d/squid
}

Added opt/squid/README.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
README for squid 3.x

REQUIREMENTS

PRE-INSTALL
1. Create user/group squid with a unused id < 99:
   'groupadd -g 40 squid'
   'useradd -g squid -u 40 -d /var/squid -s /bin/false squid'
   'passwd -l squid'

POST-INSTALL
1. add a cache_dir entry to /etc/squid/squid.conf:
   cache_dir diskd /var/squid 2000 16 256
2. run '/usr/sbin/squid -z' to build the cache structure

PRECAUTION
1. all directories used by squid must be chown to 
   squid.squid or to the effective cache user/group defined 
   in squid.conf

Added opt/squid/squid.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/bin/sh
#
# /etc/rc.d/squid: start/stop squid daemon
#

case $1 in
start)
	/usr/sbin/squid -Y
	;;
stop)
	/usr/sbin/squid -k shutdown
	;;
reload)
	/usr/sbin/squid -k reconfigure
	;;
*)
	echo "usage: $0 [start|stop|reload]"
	;;
esac

# End of file

Added opt/sshfs-fuse/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: Remote filesystem in userspace using SSH
# URL:         http://fuse.sourceforge.net/sshfs.html
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Packager:    Jukka Heino, jukka dot heino at gmail dot com
# Depends on:  fuse, glib

name=sshfs-fuse
version=2.4
release=1
source=(http://downloads.sourceforge.net/project/fuse/$name/$version/$name-$version.tar.gz)

build() {
    cd $name-$version
    ./configure --prefix=/usr --mandir=/usr/man
    make
    make DESTDIR=$PKG install
}

Added opt/startup-notification/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Startup notification library.
# URL: http://freedesktop.org/wiki/Software/startup-notification
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Simone Rota, sip at crux dot nu
# Depends on: xorg-libsm, xorg-libx11, xorg-libxt, xorg-xcb-util

name=startup-notification
version=0.12
release=1

source=(http://www.freedesktop.org/software/$name/releases/$name-$version.tar.gz)

build() {
	cd $name-$version
	./configure	--prefix=/usr
	make
	make DESTDIR=$PKG install
}

Added opt/stfl/Pkgfile.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Description: Library which implements a curses-based widget set for text terminals
# URL:         http://www.clifford.at/stfl
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  ncurses

name=stfl
version=0.22
release=1
source=(http://www.clifford.at/$name/$name-$version.tar.gz)

build () {
    cd $name-$version
    sed -i 's|ncursesw/||' stfl_internals.h 
    make prefix=/usr FOUND_SWIG=0 DESTDIR=$PKG install
}

Added opt/strace/Pkgfile.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Description: System call tracing utility (like trace, truss, etc)
# URL:         http://sourceforge.net/projects/strace/
# Maintainer:  Tilman Sauerbeck, tilman at crux dot nu

name=strace
version=4.6
release=1
source=(http://download.sourceforge.net/$name/$name-$version.tar.xz)

build() {
    cd $name-$version
    ./configure --prefix=/usr --mandir=/usr/man
    make
    make DESTDIR=$PKG install
}

Added opt/stunnel/Pkgfile.

































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# Description: Stunnel wraps normal socket connections with SSL/TLS
# URL:         http://www.stunnel.org
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  openssl tcp_wrappers zlib

name=stunnel
version=4.53
release=1
source=(ftp://ftp.stunnel.org/stunnel/archive/4.x/$name-$version.tar.gz \
        $name-config.patch $name)

build () {
    cd $name-$version

    patch -p1 -i $SRC/$name-config.patch

    ./configure --prefix=/usr \
                --sysconfdir=/etc \
                --localstatedir=/var \
                --with-ssl=/usr \
                --enable-ipv6
    make

    install -D -m 0755 src/stunnel $PKG/usr/sbin/stunnel
    install -D -m 0644 doc/stunnel.8 $PKG/usr/man/man8/stunnel.8
    install -D -m 0755 $SRC/stunnel  $PKG/etc/rc.d/stunnel
    install -m 0644 tools/stunnel.conf-sample $PKG/etc/stunnel.conf
    install -d $PKG/{var/run,etc/ssl/{certs,keys}}
    install -d -m 770 -o stunnel -g stunnel $PKG/var/run/stunnel
    touch $PKG/etc/ssl/{certs/stunnel.crt,keys/stunnel.key}
    chmod 0600 $PKG/etc/ssl/keys/stunnel.key
}

Added opt/stunnel/README.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
README for stunnel 4.x

REQUIREMENTS

PRE/POST-INSTALL

   Create a user/group stunnel with a unused id < 99:

   'groupadd -g 48 stunnel'
   'useradd -u 48 -g stunnel -d /var/run/stunnel -s /bin/false stunnel'
   'passwd -l stunnel'

PRECAUTION

   As of version 4.37 stunnel is configured to use a user and group 
   stunnel instead of nobody/nobody. Adjust your /etc/stunnel.conf.

Added opt/stunnel/pre-install.













>
>
>
>
>
>
1
2
3
4
5
6
#!/bin/sh

getent group stunnel || /usr/sbin/groupadd -g 48 stunnel
getent passwd stunnel || /usr/sbin/useradd -g stunnel -u 48 -d /var/run/stunnel -s /bin/false stunnel
/usr/bin/passwd -l stunnel

Added opt/stunnel/stunnel.



























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/bin/sh
#
# /etc/rc.d/stunnel: start/stop stunnel daemon
#

CRT=/etc/ssl/certs/stunnel.crt
KEY=/etc/ssl/keys/stunnel.key

case $1 in
start)
	if [ ! -s $KEY -o ! -s $CRT ]; then 
		/usr/bin/mksslcert $KEY $CRT
	fi
	/usr/sbin/stunnel
	;;
stop)
	killall -q /usr/sbin/stunnel
	;;
restart)
	$0 stop
	sleep 2
	$0 start
	;;
*)
	echo "usage: $0 [start|stop|restart]"
	;;
esac

# End of file

Added opt/stunnel/stunnel-config.patch.













































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
diff -Nru stunnel-4.50.orig/src/Makefile.in stunnel-4.50/src/Makefile.in
--- stunnel-4.50.orig/src/Makefile.in	2011-12-04 09:43:44.928367692 +0100
+++ stunnel-4.50/src/Makefile.in	2011-12-04 09:44:40.733021677 +0100
@@ -271,7 +271,7 @@
 
 # Additional preprocesor definitions
 stunnel_CPPFLAGS = -I/usr/kerberos/include -I$(SSLDIR)/include \
-	-DLIBDIR='"$(pkglibdir)"' -DCONFDIR='"$(sysconfdir)/stunnel"' \
+	-DLIBDIR='"$(pkglibdir)"' -DCONFDIR='"$(sysconfdir)"' \
 	-DPIDFILE='"$(localstatedir)/run/stunnel/stunnel.pid"'
 
 # Win32 executable
diff -Nru stunnel-4.50.orig/tools/stunnel.conf-sample.in stunnel-4.50/tools/stunnel.conf-sample.in
--- stunnel-4.50.orig/tools/stunnel.conf-sample.in	2011-12-04 09:43:44.931700905 +0100
+++ stunnel-4.50/tools/stunnel.conf-sample.in	2011-12-04 09:48:22.478352458 +0100
@@ -9,25 +9,33 @@
 
 ; A copy of some devices and system files is needed within the chroot jail
 ; Chroot conflicts with configuration file reload and many other features
-chroot = @prefix@/var/lib/stunnel/
+chroot = /var/run/stunnel/
 ; Chroot jail can be escaped if setuid option is not used
-setuid = nobody
-setgid = @DEFAULT_GROUP@
+setuid = stunnel
+setgid = stunnel
 
 ; PID is created inside the chroot jail
 pid = /stunnel.pid
 
 ; Debugging stuff (may useful for troubleshooting)
 ;debug = 7
+; logfile is created inside the chroot jail
 ;output = stunnel.log
+; without chroot
+;output = /var/log/stunnel.log
+; log via syslog
+syslog = yes
+
+; Enable or disable the use of libwrap
+libwrap = yes
 
 ; **************************************************************************
 ; * Service defaults may also be specified in individual service sections  *
 ; **************************************************************************
 
 ; Certificate/key is needed in server mode and optional in client mode
-cert = @prefix@/etc/stunnel/mail.pem
-;key = @prefix@/etc/stunnel/mail.pem
+cert = /etc/ssl/certs/stunnel.crt
+key  = /etc/ssl/keys/stunnel.key
 
 ; Authentication stuff needs to be configured to prevent MITM attacks
 ; It is not enabled by default!

Added opt/subversion-bashcompletion/Pkgfile.





























>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# Description: programmable bash completion for subversion
# URL: http://subversion.apache.org
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Mathias Herzog, mathu at gmx dot ch
# Depends on: bash-completion subversion 

name=subversion-bashcompletion
version=1.7.4
release=1
source=(http://svn.apache.org/repos/asf/subversion/tags/$version/tools/client-side/bash_completion)

build() {
  install -D -m 755 bash_completion $PKG/usr/lib/bash-completion/subversion_complete
}

Added opt/subversion/Pkgfile.























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# Description: A version control system (CVS replacement)
# URL: http://subversion.apache.org
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Simone Rota, sip at crux dot nu
# Depends on: apr neon expat sqlite3

name=subversion
version=1.7.4
release=1
source=(http://www.apache.org/dist/$name/$name-$version.tar.bz2)

build() {
    cd $name-$version

    ./configure --prefix=/usr \
       --mandir=/usr/man \
       --with-apr=/usr --with-apr-util=/usr --with-neon=/usr \
       --disable-mod-activation --without-swig --disable-nls \
       --disable-neon-version-check \
       --without-apxs

    make
    make -j1 DESTDIR=$PKG external-install local-install

    # info pages seem to get generated when makeinfo is available
    rm -rf $PKG/usr/info
}

Added opt/subversion/README.



















































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
NOTES

This is a port for the subversion revision control; if you have apache
(version 2.0+) installed, you'll also get the apache modules to run a
subversion server via apache/WebDAV.
Else you'll still be able to create a server with the svnserve
application. If you want absolutely no server parts, add
"--without-berkeley-db" to the configure line

If you're going to install apache later on, you'll need to recompile
this package (solutions to this are already planned).

If you want Python Bindings, install SWIG and comment out the few lines
in the build() function

PRE-INSTALL (SERVER)
Make sure you install expat before you install apache; also, note that you'll
get a footprint missmatch


POST-INSTALL (SERVER)

add something like this to your apache configuration:

#LoadModule dav_module         lib/apache/mod_dav.so
#LoadModule dav_svn_module     lib/apache/mod_dav_svn.so
#<Location /svn/repos>
#   DAV svn
#   SVNPath /home/svnroot
#
#   # Limit write permission to list of valid users.
#   <LimitExcept GET PROPFIND OPTIONS REPORT>
#      # Require SSL connection for password protection.
#      # SSLRequireSSL
#
#      AuthType Basic
#      AuthName "Authorization Realm"
#      AuthUserFile /absolute/path/to/passwdfile
#      Require valid-user
#   </LimitExcept>
#</Location>

Added opt/swig/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: A tool to create language bindings
# URL:         http://www.swig.org/
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  zlib libpcre

name=swig
version=2.0.4
release=1
source=(http://downloads.sourceforge.net/project/$name/$name/$name-$version/$name-$version.tar.gz)

build () {
    cd $name-$version
    ./configure --prefix=/usr --mandir=/usr/man
    make
    make DESTDIR=$PKG install
}

Added opt/sylpheed/Pkgfile.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Description: GTK+ email client and news reader
# URL:         http://sylpheed.sraoss.jp/en/
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  gtk, openssl

name=sylpheed
version=3.1.3
release=1
source=(http://sylpheed.sraoss.jp/sylpheed/v3.1/$name-$version.tar.bz2)

build () {
    cd $name-$version

    ./configure --prefix=/usr
    make
    make DESTDIR=$PKG install

    sed -ri '/\[.+\]=/d' sylpheed.desktop
    install -d $PKG/usr/share/{applications,pixmaps}
    install -m 0644 sylpheed.desktop $PKG/usr/share/applications
    install -m 0644 sylpheed.png $PKG/usr/share/pixmaps

    rm -r $PKG/usr/share/{locale,sylpheed}
}

Added opt/syslinux/Pkgfile.























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# Description: Collection of boot loaders for the Linux operating system
# URL: http://syslinux.zytor.com/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Jose V Beneyto, sepen at crux dot nu
# Depends on: mtools perl

name=syslinux
version=4.04
release=2
source=(http://www.kernel.org/pub/linux/utils/boot/$name/$name-$version.tar.bz2)

build() {
  cd $name-$version

  # compilation will fail with LDFLAGS
  unset LDFLAGS

  # fix to install extlinux in /usr/bin
  sed -i Makefile -e 's|SBINDIR|BINDIR|g'

  make clean
  make OPTFLAGS="$CFLAGS" installer
  make OPTFLAGS="$CFLAGS" INSTALLROOT=$PKG install

  # fix perms when building with fakeroot
  find $PKG/usr/share/$name/com32 -type d -perm -g+s -exec chmod -v g-s {} \;
}

Added opt/taglib/Pkgfile.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Description: Library to read and edit the meta-data of popular audio formats.
# URL: http://developer.kde.org/~wheeler/taglib.html
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Mark Rosenstand, mark at borkware dot net
# Depends on: cmake

name=taglib
version=1.7.1
release=1
source=(http://developer.kde.org/~wheeler/files/src/$name-$version.tar.gz)

build() {
	cd $name-$version

	cmake \
		-DCMAKE_INSTALL_PREFIX=/usr \
		-DCMAKE_RELEASE_TYPE=Release \
		-DWITH_MP4=ON \
		-DWITH_ASF=ON .

	make
	make DESTDIR=$PKG install
}

Added opt/talloc/Pkgfile.























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# Description: Hierarchical, reference counted memory pool system with destructors
# URL: http://talloc.samba.org/
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: python

name=talloc
version=2.0.7
release=1
source=(ftp://ftp.samba.org/pub/$name/$name-$version.tar.gz
        talloc.3)

build() {
	cd $name-$version

	./configure --prefix=/usr --mandir=/usr/man \
	            --enable-talloc-compat1

	# Don't depend on xsltproc or docbook.sourceforge.net being available
	cp $SRC/talloc.3 .
	touch talloc.3 talloc.3.html

	make
	make install DESTDIR=$PKG

	install -d $PKG/usr/man/man3
	install -m 644 talloc.3 $PKG/usr/man/man3
}

Added opt/talloc/talloc.3.

































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
'\" t
.\"     Title: talloc
.\"    Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\"      Date: 09/11/2010
.\"    Manual: [FIXME: manual]
.\"    Source: [FIXME: source]
.\"  Language: English
.\"
.TH "TALLOC" "3" "09/11/2010" "[FIXME: source]" "[FIXME: manual]"
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
talloc \- hierarchical reference counted memory pool system with destructors
.SH "SYNOPSIS"
.sp
.nf
#include <talloc/talloc\&.h>
.fi
.SH "DESCRIPTION"
.PP
If you are used to talloc from Samba3 then please read this carefully, as talloc has changed a lot\&.
.PP
The new talloc is a hierarchical, reference counted memory pool system with destructors\&. Quite a mouthful really, but not too bad once you get used to it\&.
.PP
Perhaps the biggest change from Samba3 is that there is no distinction between a "talloc context" and a "talloc pointer"\&. Any pointer returned from talloc() is itself a valid talloc context\&. This means you can do this:
.sp
.if n \{\
.RS 4
.\}
.nf
    struct foo *X = talloc(mem_ctx, struct foo);
    X\->name = talloc_strdup(X, "foo");
    
.fi
.if n \{\
.RE
.\}
.PP
and the pointer
X\->name
would be a "child" of the talloc context
X
which is itself a child of
mem_ctx\&. So if you do
talloc_free(mem_ctx)
then it is all destroyed, whereas if you do
talloc_free(X)
then just
X
and
X\->name
are destroyed, and if you do
talloc_free(X\->name)
then just the name element of
X
is destroyed\&.
.PP
If you think about this, then what this effectively gives you is an n\-ary tree, where you can free any part of the tree with talloc_free()\&.
.PP
If you find this confusing, then I suggest you run the
testsuite
program to watch talloc in action\&. You may also like to add your own tests to
testsuite\&.c
to clarify how some particular situation is handled\&.
.SH "TALLOC API"
.PP
The following is a complete guide to the talloc API\&. Read it all at least twice\&.
.SS "(type *)talloc(const void *ctx, type);"
.PP
The talloc() macro is the core of the talloc library\&. It takes a memory
\fIctx\fR
and a
\fItype\fR, and returns a pointer to a new area of memory of the given
\fItype\fR\&.
.PP
The returned pointer is itself a talloc context, so you can use it as the
\fIctx\fR
argument to more calls to talloc() if you wish\&.
.PP
The returned pointer is a "child" of the supplied context\&. This means that if you talloc_free() the
\fIctx\fR
then the new child disappears as well\&. Alternatively you can free just the child\&.
.PP
The
\fIctx\fR
argument to talloc() can be NULL, in which case a new top level context is created\&.
.SS "void *talloc_size(const void *ctx, size_t size);"
.PP
The function talloc_size() should be used when you don\'t have a convenient type to pass to talloc()\&. Unlike talloc(), it is not type safe (as it returns a void *), so you are on your own for type checking\&.
.SS "(typeof(ptr)) talloc_ptrtype(const void *ctx, ptr);"
.PP
The talloc_ptrtype() macro should be used when you have a pointer and want to allocate memory to point at with this pointer\&. When compiling with gcc >= 3 it is typesafe\&. Note this is a wrapper of talloc_size() and talloc_get_name() will return the current location in the source file\&. and not the type\&.
.SS "int talloc_free(void *ptr);"
.PP
The talloc_free() function frees a piece of talloc memory, and all its children\&. You can call talloc_free() on any pointer returned by talloc()\&.
.PP
The return value of talloc_free() indicates success or failure, with 0 returned for success and \-1 for failure\&. The only possible failure condition is if
\fIptr\fR
had a destructor attached to it and the destructor returned \-1\&. See
\(lqtalloc_set_destructor()\(rq
for details on destructors\&.
.PP
If this pointer has an additional parent when talloc_free() is called then the memory is not actually released, but instead the most recently established parent is destroyed\&. See
\(lqtalloc_reference()\(rq
for details on establishing additional parents\&.
.PP
For more control on which parent is removed, see
\(lqtalloc_unlink()\(rq\&.
.PP
talloc_free() operates recursively on its children\&.
.PP
From the 2\&.0 version of talloc, as a special case, talloc_free() is refused on pointers that have more than one parent, as talloc would have no way of knowing which parent should be removed\&. To free a pointer that has more than one parent please use talloc_unlink()\&.
.PP
To help you find problems in your code caused by this behaviour, if you do try and free a pointer with more than one parent then the talloc logging function will be called to give output like this:
.PP

.sp
.if n \{\
.RS 4
.\}
.nf
	    ERROR: talloc_free with references at some_dir/source/foo\&.c:123
  	  	reference at some_dir/source/other\&.c:325
  	  	reference at some_dir/source/third\&.c:121
	  
.fi
.if n \{\
.RE
.\}
.PP
Please see the documentation for talloc_set_log_fn() and talloc_set_log_stderr() for more information on talloc logging functions\&.
.SS "void *talloc_reference(const void *ctx, const void *ptr);"
.PP
The talloc_reference() function makes
\fIctx\fR
an additional parent of
\fIptr\fR\&.
.PP
The return value of talloc_reference() is always the original pointer
\fIptr\fR, unless talloc ran out of memory in creating the reference in which case it will return NULL (each additional reference consumes around 48 bytes of memory on intel x86 platforms)\&.
.PP
If
\fIptr\fR
is NULL, then the function is a no\-op, and simply returns NULL\&.
.PP
After creating a reference you can free it in one of the following ways:
.PP

.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
you can talloc_free() any parent of the original pointer\&. That will reduce the number of parents of this pointer by 1, and will cause this pointer to be freed if it runs out of parents\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
you can talloc_free() the pointer itself\&. That will destroy the most recently established parent to the pointer and leave the pointer as a child of its current parent\&.
.RE
.sp
.RE
.PP
For more control on which parent to remove, see
\(lqtalloc_unlink()\(rq\&.
.SS "int talloc_unlink(const void *ctx, const void *ptr);"
.PP
The talloc_unlink() function removes a specific parent from
\fIptr\fR\&. The
\fIctx\fR
passed must either be a context used in talloc_reference() with this pointer, or must be a direct parent of ptr\&.
.PP
Note that if the parent has already been removed using talloc_free() then this function will fail and will return \-1\&. Likewise, if
\fIptr\fR
is NULL, then the function will make no modifications and return \-1\&.
.PP
Usually you can just use talloc_free() instead of talloc_unlink(), but sometimes it is useful to have the additional control on which parent is removed\&.
.SS "void talloc_set_destructor(const void *ptr, int (*destructor)(void *));"
.PP
The function talloc_set_destructor() sets the
\fIdestructor\fR
for the pointer
\fIptr\fR\&. A
\fIdestructor\fR
is a function that is called when the memory used by a pointer is about to be released\&. The destructor receives
\fIptr\fR
as an argument, and should return 0 for success and \-1 for failure\&.
.PP
The
\fIdestructor\fR
can do anything it wants to, including freeing other pieces of memory\&. A common use for destructors is to clean up operating system resources (such as open file descriptors) contained in the structure the destructor is placed on\&.
.PP
You can only place one destructor on a pointer\&. If you need more than one destructor then you can create a zero\-length child of the pointer and place an additional destructor on that\&.
.PP
To remove a destructor call talloc_set_destructor() with NULL for the destructor\&.
.PP
If your destructor attempts to talloc_free() the pointer that it is the destructor for then talloc_free() will return \-1 and the free will be ignored\&. This would be a pointless operation anyway, as the destructor is only called when the memory is just about to go away\&.
.SS "int talloc_increase_ref_count(const void *\fIptr\fR);"
.PP
The talloc_increase_ref_count(\fIptr\fR) function is exactly equivalent to:
.sp
.if n \{\
.RS 4
.\}
.nf
talloc_reference(NULL, ptr);
.fi
.if n \{\
.RE
.\}
.PP
You can use either syntax, depending on which you think is clearer in your code\&.
.PP
It returns 0 on success and \-1 on failure\&.
.SS "size_t talloc_reference_count(const void *\fIptr\fR);"
.PP
Return the number of references to the pointer\&.
.SS "void talloc_set_name(const void *ptr, const char *fmt, \&.\&.\&.);"
.PP
Each talloc pointer has a "name"\&. The name is used principally for debugging purposes, although it is also possible to set and get the name on a pointer in as a way of "marking" pointers in your code\&.
.PP
The main use for names on pointer is for "talloc reports"\&. See
\(lqtalloc_report_depth_cb()\(rq,
\(lqtalloc_report_depth_file()\(rq,
\(lqtalloc_report()\(rq
\(lqtalloc_report()\(rq
and
\(lqtalloc_report_full()\(rq
for details\&. Also see
\(lqtalloc_enable_leak_report()\(rq
and
\(lqtalloc_enable_leak_report_full()\(rq\&.
.PP
The talloc_set_name() function allocates memory as a child of the pointer\&. It is logically equivalent to:
.sp
.if n \{\
.RS 4
.\}
.nf
talloc_set_name_const(ptr, talloc_asprintf(ptr, fmt, \&.\&.\&.));
.fi
.if n \{\
.RE
.\}
.PP
Note that multiple calls to talloc_set_name() will allocate more memory without releasing the name\&. All of the memory is released when the ptr is freed using talloc_free()\&.
.SS "void talloc_set_name_const(const void *\fIptr\fR, const char *\fIname\fR);"
.PP
The function talloc_set_name_const() is just like talloc_set_name(), but it takes a string constant, and is much faster\&. It is extensively used by the "auto naming" macros, such as talloc_p()\&.
.PP
This function does not allocate any memory\&. It just copies the supplied pointer into the internal representation of the talloc ptr\&. This means you must not pass a
\fIname\fR
pointer to memory that will disappear before
\fIptr\fR
is freed with talloc_free()\&.
.SS "void *talloc_named(const void *\fIctx\fR, size_t \fIsize\fR, const char *\fIfmt\fR, \&.\&.\&.);"
.PP
The talloc_named() function creates a named talloc pointer\&. It is equivalent to:
.sp
.if n \{\
.RS 4
.\}
.nf
ptr = talloc_size(ctx, size);
talloc_set_name(ptr, fmt, \&.\&.\&.\&.);
.fi
.if n \{\
.RE
.\}
.SS "void *talloc_named_const(const void *\fIctx\fR, size_t \fIsize\fR, const char *\fIname\fR);"
.PP
This is equivalent to:
.sp
.if n \{\
.RS 4
.\}
.nf
ptr = talloc_size(ctx, size);
talloc_set_name_const(ptr, name);
.fi
.if n \{\
.RE
.\}
.SS "const char *talloc_get_name(const void *\fIptr\fR);"
.PP
This returns the current name for the given talloc pointer,
\fIptr\fR\&. See
\(lqtalloc_set_name()\(rq
for details\&.
.SS "void *talloc_init(const char *\fIfmt\fR, \&.\&.\&.);"
.PP
This function creates a zero length named talloc context as a top level context\&. It is equivalent to:
.sp
.if n \{\
.RS 4
.\}
.nf
talloc_named(NULL, 0, fmt, \&.\&.\&.);
.fi
.if n \{\
.RE
.\}
.SS "void *talloc_new(void *\fIctx\fR);"
.PP
This is a utility macro that creates a new memory context hanging off an exiting context, automatically naming it "talloc_new: __location__" where __location__ is the source line it is called from\&. It is particularly useful for creating a new temporary working context\&.
.SS "(\fItype\fR *)talloc_realloc(const void *\fIctx\fR, void *\fIptr\fR, \fItype\fR, \fIcount\fR);"
.PP
The talloc_realloc() macro changes the size of a talloc pointer\&. It has the following equivalences:
.sp
.if n \{\
.RS 4
.\}
.nf
talloc_realloc(ctx, NULL, type, 1) ==> talloc(ctx, type);
talloc_realloc(ctx, ptr, type, 0)  ==> talloc_free(ptr);
.fi
.if n \{\
.RE
.\}
.PP
The
\fIctx\fR
argument is only used if
\fIptr\fR
is not NULL, otherwise it is ignored\&.
.PP
talloc_realloc() returns the new pointer, or NULL on failure\&. The call will fail either due to a lack of memory, or because the pointer has more than one parent (see
\(lqtalloc_reference()\(rq)\&.
.SS "void *talloc_realloc_size(const void *ctx, void *ptr, size_t size);"
.PP
the talloc_realloc_size() function is useful when the type is not known so the type\-safe talloc_realloc() cannot be used\&.
.SS "TYPE *talloc_steal(const void *\fInew_ctx\fR, const TYPE *\fIptr\fR);"
.PP
The talloc_steal() function changes the parent context of a talloc pointer\&. It is typically used when the context that the pointer is currently a child of is going to be freed and you wish to keep the memory for a longer time\&.
.PP
The talloc_steal() function returns the pointer that you pass it\&. It does not have any failure modes\&.
.PP
It is possible to produce loops in the parent/child relationship if you are not careful with talloc_steal()\&. No guarantees are provided as to your sanity or the safety of your data if you do this\&.
.PP
Note that if you try and call talloc_steal() on a pointer that has more than one parent then the result is ambiguous\&. Talloc will choose to remove the parent that is currently indicated by talloc_parent() and replace it with the chosen parent\&. You will also get a message like this via the talloc logging functions:
.PP

.sp
.if n \{\
.RS 4
.\}
.nf
	  WARNING: talloc_steal with references at some_dir/source/foo\&.c:123
  	  	reference at some_dir/source/other\&.c:325
  	  	reference at some_dir/source/third\&.c:121
	  
.fi
.if n \{\
.RE
.\}
.PP
To unambiguously change the parent of a pointer please see the function
\(lqtalloc_reparent()\(rq\&. See the talloc_set_log_fn() documentation for more information on talloc logging\&.
.SS "TYPE *talloc_reparent(const void *\fIold_parent\fR, const void *\fInew_parent\fR, const TYPE *\fIptr\fR);"
.PP
The talloc_reparent() function changes the parent context of a talloc pointer\&. It is typically used when the context that the pointer is currently a child of is going to be freed and you wish to keep the memory for a longer time\&.
.PP
The talloc_reparent() function returns the pointer that you pass it\&. It does not have any failure modes\&.
.PP
The difference between talloc_reparent() and talloc_steal() is that talloc_reparent() can specify which parent you wish to change\&. This is useful when a pointer has multiple parents via references\&.
.SS "TYPE *talloc_move(const void *\fInew_ctx\fR, TYPE **\fIptr\fR);"
.PP
The talloc_move() function is a wrapper around talloc_steal() which zeros the source pointer after the move\&. This avoids a potential source of bugs where a programmer leaves a pointer in two structures, and uses the pointer from the old structure after it has been moved to a new one\&.
.SS "size_t talloc_total_size(const void *\fIptr\fR);"
.PP
The talloc_total_size() function returns the total size in bytes used by this pointer and all child pointers\&. Mostly useful for debugging\&.
.PP
Passing NULL is allowed, but it will only give a meaningful result if talloc_enable_leak_report() or talloc_enable_leak_report_full() has been called\&.
.SS "size_t talloc_total_blocks(const void *\fIptr\fR);"
.PP
The talloc_total_blocks() function returns the total memory block count used by this pointer and all child pointers\&. Mostly useful for debugging\&.
.PP
Passing NULL is allowed, but it will only give a meaningful result if talloc_enable_leak_report() or talloc_enable_leak_report_full() has been called\&.
.SS "void talloc_report(const void *ptr, FILE *f);"
.PP
The talloc_report() function prints a summary report of all memory used by
\fIptr\fR\&. One line of report is printed for each immediate child of ptr, showing the total memory and number of blocks used by that child\&.
.PP
You can pass NULL for the pointer, in which case a report is printed for the top level memory context, but only if talloc_enable_leak_report() or talloc_enable_leak_report_full() has been called\&.
.SS "void talloc_report_full(const void *\fIptr\fR, FILE *\fIf\fR);"
.PP
This provides a more detailed report than talloc_report()\&. It will recursively print the entire tree of memory referenced by the pointer\&. References in the tree are shown by giving the name of the pointer that is referenced\&.
.PP
You can pass NULL for the pointer, in which case a report is printed for the top level memory context, but only if talloc_enable_leak_report() or talloc_enable_leak_report_full() has been called\&.
.SS ""
.HP \w'void\ talloc_report_depth_cb('u
.BI "void talloc_report_depth_cb(" "const\ void\ *ptr" ", " "int\ depth" ", " "int\ max_depth" ", " "void\ (*callback)(const\ void\ *ptr,\ int\ depth,\ int\ max_depth,\ int\ is_ref,\ void\ *priv)" ", " "void\ *priv" ");"
.PP
This provides a more flexible reports than talloc_report()\&. It will recursively call the callback for the entire tree of memory referenced by the pointer\&. References in the tree are passed with
\fIis_ref = 1\fR
and the pointer that is referenced\&.
.PP
You can pass NULL for the pointer, in which case a report is printed for the top level memory context, but only if talloc_enable_leak_report() or talloc_enable_leak_report_full() has been called\&.
.PP
The recursion is stopped when depth >= max_depth\&. max_depth = \-1 means only stop at leaf nodes\&.
.SS ""
.HP \w'void\ talloc_report_depth_file('u
.BI "void talloc_report_depth_file(" "const\ void\ *ptr" ", " "int\ depth" ", " "int\ max_depth" ", " "FILE\ *f" ");"
.PP
This provides a more flexible reports than talloc_report()\&. It will let you specify the depth and max_depth\&.
.SS "void talloc_enable_leak_report(void);"
.PP
This enables calling of talloc_report(NULL, stderr) when the program exits\&. In Samba4 this is enabled by using the \-\-leak\-report command line option\&.
.PP
For it to be useful, this function must be called before any other talloc function as it establishes a "null context" that acts as the top of the tree\&. If you don\'t call this function first then passing NULL to talloc_report() or talloc_report_full() won\'t give you the full tree printout\&.
.PP
Here is a typical talloc report:
.sp
.if n \{\
.RS 4
.\}
.nf
talloc report on \'null_context\' (total 267 bytes in 15 blocks)
libcli/auth/spnego_parse\&.c:55  contains   31 bytes in   2 blocks
libcli/auth/spnego_parse\&.c:55  contains   31 bytes in   2 blocks
iconv(UTF8,CP850)              contains   42 bytes in   2 blocks
libcli/auth/spnego_parse\&.c:55  contains   31 bytes in   2 blocks
iconv(CP850,UTF8)              contains   42 bytes in   2 blocks
iconv(UTF8,UTF\-16LE)           contains   45 bytes in   2 blocks
iconv(UTF\-16LE,UTF8)           contains   45 bytes in   2 blocks
      
.fi
.if n \{\
.RE
.\}
.SS "void talloc_enable_leak_report_full(void);"
.PP
This enables calling of talloc_report_full(NULL, stderr) when the program exits\&. In Samba4 this is enabled by using the \-\-leak\-report\-full command line option\&.
.PP
For it to be useful, this function must be called before any other talloc function as it establishes a "null context" that acts as the top of the tree\&. If you don\'t call this function first then passing NULL to talloc_report() or talloc_report_full() won\'t give you the full tree printout\&.
.PP
Here is a typical full report:
.sp
.if n \{\
.RS 4
.\}
.nf
full talloc report on \'root\' (total 18 bytes in 8 blocks)
p1               contains     18 bytes in   7 blocks (ref 0)
    r1               contains     13 bytes in   2 blocks (ref 0)
        reference to: p2
    p2               contains      1 bytes in   1 blocks (ref 1)
    x3               contains      1 bytes in   1 blocks (ref 0)
    x2               contains      1 bytes in   1 blocks (ref 0)
    x1               contains      1 bytes in   1 blocks (ref 0)
      
.fi
.if n \{\
.RE
.\}
.SS "(\fItype\fR *)talloc_zero(const void *\fIctx\fR, \fItype\fR);"
.PP
The talloc_zero() macro is equivalent to:
.sp
.if n \{\
.RS 4
.\}
.nf
ptr = talloc(ctx, type);
if (ptr) memset(ptr, 0, sizeof(type));
.fi
.if n \{\
.RE
.\}
.SS "void *talloc_zero_size(const void *\fIctx\fR, size_t \fIsize\fR)"
.PP
The talloc_zero_size() function is useful when you don\'t have a known type\&.
.SS "void *talloc_memdup(const void *\fIctx\fR, const void *\fIp\fR, size_t size);"
.PP
The talloc_memdup() function is equivalent to:
.sp
.if n \{\
.RS 4
.\}
.nf
ptr = talloc_size(ctx, size);
if (ptr) memcpy(ptr, p, size);
.fi
.if n \{\
.RE
.\}
.SS "char *talloc_strdup(const void *\fIctx\fR, const char *\fIp\fR);"
.PP
The talloc_strdup() function is equivalent to:
.sp
.if n \{\
.RS 4
.\}
.nf
ptr = talloc_size(ctx, strlen(p)+1);
if (ptr) memcpy(ptr, p, strlen(p)+1);
.fi
.if n \{\
.RE
.\}
.PP
This function sets the name of the new pointer to the passed string\&. This is equivalent to:
.sp
.if n \{\
.RS 4
.\}
.nf
talloc_set_name_const(ptr, ptr)
.fi
.if n \{\
.RE
.\}
.SS "char *talloc_strndup(const void *\fIt\fR, const char *\fIp\fR, size_t \fIn\fR);"
.PP
The talloc_strndup() function is the talloc equivalent of the C library function strndup(3)\&.
.PP
This function sets the name of the new pointer to the passed string\&. This is equivalent to:
.sp
.if n \{\
.RS 4
.\}
.nf
talloc_set_name_const(ptr, ptr)
.fi
.if n \{\
.RE
.\}
.SS "char *talloc_append_string(const void *\fIt\fR, char *\fIorig\fR, const char *\fIappend\fR);"
.PP
The talloc_append_string() function appends the given formatted string to the given string\&.
.PP
This function sets the name of the new pointer to the new string\&. This is equivalent to:
.sp
.if n \{\
.RS 4
.\}
.nf
talloc_set_name_const(ptr, ptr)
.fi
.if n \{\
.RE
.\}
.SS "char *talloc_vasprintf(const void *\fIt\fR, const char *\fIfmt\fR, va_list \fIap\fR);"
.PP
The talloc_vasprintf() function is the talloc equivalent of the C library function vasprintf(3)\&.
.PP
This function sets the name of the new pointer to the new string\&. This is equivalent to:
.sp
.if n \{\
.RS 4
.\}
.nf
talloc_set_name_const(ptr, ptr)
.fi
.if n \{\
.RE
.\}
.SS "char *talloc_asprintf(const void *\fIt\fR, const char *\fIfmt\fR, \&.\&.\&.);"
.PP
The talloc_asprintf() function is the talloc equivalent of the C library function asprintf(3)\&.
.PP
This function sets the name of the new pointer to the passed string\&. This is equivalent to:
.sp
.if n \{\
.RS 4
.\}
.nf
talloc_set_name_const(ptr, ptr)
.fi
.if n \{\
.RE
.\}
.SS "char *talloc_asprintf_append(char *s, const char *fmt, \&.\&.\&.);"
.PP
The talloc_asprintf_append() function appends the given formatted string to the given string\&.
.PP
This function sets the name of the new pointer to the new string\&. This is equivalent to:
.sp
.if n \{\
.RS 4
.\}
.nf
talloc_set_name_const(ptr, ptr)
.fi
.if n \{\
.RE
.\}
.SS "(type *)talloc_array(const void *ctx, type, uint_t count);"
.PP
The talloc_array() macro is equivalent to:
.sp
.if n \{\
.RS 4
.\}
.nf
(type *)talloc_size(ctx, sizeof(type) * count);
.fi
.if n \{\
.RE
.\}
.PP
except that it provides integer overflow protection for the multiply, returning NULL if the multiply overflows\&.
.SS "void *talloc_array_size(const void *ctx, size_t size, uint_t count);"
.PP
The talloc_array_size() function is useful when the type is not known\&. It operates in the same way as talloc_array(), but takes a size instead of a type\&.
.SS "(typeof(ptr)) talloc_array_ptrtype(const void *ctx, ptr, uint_t count);"
.PP
The talloc_ptrtype() macro should be used when you have a pointer to an array and want to allocate memory of an array to point at with this pointer\&. When compiling with gcc >= 3 it is typesafe\&. Note this is a wrapper of talloc_array_size() and talloc_get_name() will return the current location in the source file\&. and not the type\&.
.SS "void *talloc_realloc_fn(const void *ctx, void *ptr, size_t size)"
.PP
This is a non\-macro version of talloc_realloc(), which is useful as libraries sometimes want a realloc function pointer\&. A realloc(3) implementation encapsulates the functionality of malloc(3), free(3) and realloc(3) in one call, which is why it is useful to be able to pass around a single function pointer\&.
.SS "void *talloc_autofree_context(void);"
.PP
This is a handy utility function that returns a talloc context which will be automatically freed on program exit\&. This can be used to reduce the noise in memory leak reports\&.
.SS "void *talloc_check_name(const void *ptr, const char *name);"
.PP
This function checks if a pointer has the specified
\fIname\fR\&. If it does then the pointer is returned\&. It it doesn\'t then NULL is returned\&.
.SS "(type *)talloc_get_type(const void *ptr, type);"
.PP
This macro allows you to do type checking on talloc pointers\&. It is particularly useful for void* private pointers\&. It is equivalent to this:
.sp
.if n \{\
.RS 4
.\}
.nf
(type *)talloc_check_name(ptr, #type)
.fi
.if n \{\
.RE
.\}
.SS "talloc_set_type(const void *ptr, type);"
.PP
This macro allows you to force the name of a pointer to be a particular
\fItype\fR\&. This can be used in conjunction with talloc_get_type() to do type checking on void* pointers\&.
.PP
It is equivalent to this:
.sp
.if n \{\
.RS 4
.\}
.nf
talloc_set_name_const(ptr, #type)
.fi
.if n \{\
.RE
.\}
.SS "talloc_set_log_fn(void (*log_fn)(const char *message));"
.PP
This function sets a logging function that talloc will use for warnings and errors\&. By default talloc will not print any warnings or errors\&.
.SS "talloc_set_log_stderr(void);"
.PP
This sets the talloc log function to write log messages to stderr
.SH "PERFORMANCE"
.PP
All the additional features of talloc(3) over malloc(3) do come at a price\&. We have a simple performance test in Samba4 that measures talloc() versus malloc() performance, and it seems that talloc() is about 10% slower than malloc() on my x86 Debian Linux box\&. For Samba, the great reduction in code complexity that we get by using talloc makes this worthwhile, especially as the total overhead of talloc/malloc in Samba is already quite small\&.
.SH "SEE ALSO"
.PP
malloc(3), strndup(3), vasprintf(3), asprintf(3),
\m[blue]\fB\%http://talloc.samba.org/\fR\m[]
.SH "COPYRIGHT/LICENSE"
.PP
Copyright (C) Andrew Tridgell 2004
.PP
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 3 of the License, or (at your option) any later version\&.
.PP
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\&.
.PP
You should have received a copy of the GNU General Public License along with this program; if not, see http://www\&.gnu\&.org/licenses/\&.

Added opt/task/Pkgfile.





















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# Description: Powerful task manager for the command-line 
# URL:         http://taskwarrior.org/projects/show/taskwarrior/ 
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  util-linux-ng cmake

name=task
version=2.0.0
release=1
source=(http://www.taskwarrior.org/download/$name-$version.tar.gz)

build () {
    cd $name-$version
    
    cmake . \
        -DCMAKE_INSTALL_PREFIX=/usr \
        -DTASK_MAN1DIR=man/man1 \
        -DTASK_MAN5DIR=man/man5 \
        -DTASK_DOCDIR=share/task
    
    make
    make DESTDIR=$PKG install

    rm -r $PKG/usr/share/task/i18n
    rm $PKG/usr/share/task/{AUTHORS,COPYING,ChangeLog,NEWS,README,INSTALL}
    rm $PKG/usr/share/task/scripts/vim/README
}

Added opt/tcpdump/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: Network sniffer with command line interface
# URL:         http://www.tcpdump.org
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  libpcap, openssl

name=tcpdump
version=4.2.1
release=1
source=(http://www.tcpdump.org/release/$name-$version.tar.gz)

build() {
    cd $name-$version
    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --enable-ipv6 
    make
    make DESTDIR=$PKG install
    rm $PKG/usr/sbin/tcpdump.$version
}

Added opt/tcsh/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: Enhanced version of the Berkeley C shell (csh)
# URL:         http://www.tcsh.org
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  ncurses

name=tcsh
version=6.18.01
release=1
source=(ftp://ftp.astron.com/pub/tcsh/$name-$version.tar.gz \
        csh.login csh.logout csh.cshrc)

build() {
    cd $name-$version
    
    ./configure --prefix= --disable-nls
    make
    make DESTDIR=$PKG mandir=/usr/man install
    
    install -d $PKG/etc
    install -m 644 $SRC/csh.* $PKG/etc
}

Added opt/tcsh/csh.cshrc.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#
# /etc/csh.cshrc: tcsh(1) configuration
#

if ( "$uid" == "0" ) then
	setenv PATH "/sbin:/usr/sbin:/bin:/usr/bin:/opt/bin"
else
	setenv PATH "/bin:/usr/bin:/opt/bin"
endif

if ( ! -f ~/.inputrc ) then
	setenv INPUTRC "/etc/inputrc"
endif

setenv LESSCHARSET "latin1"
setenv LESS "-R"
setenv CHARSET "ISO-8859-1"
set prompt="%B$ "

umask 022

# End of file

Added opt/tcsh/csh.login.











>
>
>
>
>
1
2
3
4
5
#
# /etc/csh.login: tcsh(1) configuration
#

# End of file

Added opt/tcsh/csh.logout.











>
>
>
>
>
1
2
3
4
5
#
# /etc/csh.logout: tcsh(1) configuration
#

# End of file

Added opt/tdb/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: Trivial DataBase similar gdbm
# URL:         http://tdb.samba.org/
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  python

name=tdb
version=1.2.10
release=1
source=(http://www.samba.org/ftp/$name/$name-$version.tar.gz
        $name-man-$version.tar.xz)

build () {
    cd $name-$version
    ./configure --prefix=/usr --mandir=/usr/man
    make
    make DESTDIR=$PKG install
    install -d $PKG/usr/man/man8
    install -m 0644 manpages/*.8 $PKG/usr/man/man8
}

Added opt/tdb/tdb-man-1.2.10.tar.xz.

cannot compute difference between binary files

Added opt/tdl/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: Small command-line driven ToDo list manager 
# URL:         http://www.rpcurnow.force9.co.uk/tdl/ 
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  ncurses, readline

name=tdl
version=1.5.2
release=1
source=(http://www.rpcurnow.force9.co.uk/tdl/$name-$version.tar.gz)

build () {
    cd $name-$version
    ./configure --prefix=/usr
    make 
    make DESTDIR=$PKG install
}

Added opt/tetex/Pkgfile.























































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# Description: TeX distribution for UNIX compatible systems.
# URL: http://www.tug.org/tetex/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Robert McMeekin, viper at mcmeekin dot info
# Depends on: libpng ncurses t1lib libgd xorg-libxaw

name=tetex
version=3.0
release=5
source=(http://www.hvlinux.net/crux/distfiles/$name//$name-src-$version.tar.gz
	http://www.hvlinux.net/crux/distfiles/$name//$name-texmf-$version.tar.gz
	http://www.hvlinux.net/crux/distfiles/$name//$name-texmfsrc-$version.tar.gz
	$name.patch.gz)

build() {
	mkdir -p $PKG/usr/share/texmf
	cp -r $(/bin/ls | grep -v $name-src-$version) $PKG/usr/share/texmf/
	cd $name-src-$version
	zcat $SRC/tetex.patch.gz | patch -p0

	./configure \
		--prefix=/usr \
		--datadir=/usr/share \
		--disable-multiplatform \
		--without-texinfo \
		--without-texi2html \
		--without-dialog \
		--without-psutils \
		--with-x \
		--with-xdvi-x-toolkit=xaw \
		--with-system-zlib \
		--with-system-pnglib \
		--with-system-ncurses \
		--with-system-t1lib \
		--with-system-gd

	# Files generated during make, use conflicing getline function.
	# Build these manually first.
	cd texk/web2c
	for i in tangleboot tangle mft otangle weave; do
		make ${i}.c
		sed -i -e 's|getline|&_|' ${i}.[ch]
	done
	cd -

	# Fix some more getline conflicts
	sed -i -e 's|getline|&_|' texk/web2c/mpware/mpto.c
	sed -i -e 's|getline|&_|' texk/dvipsk/afm2tfm.c

	make

	# temp fix, this tools tries to write in real root
	sed -i -e 's/fmtutil-sys/fmtutil-sys-fix/g' Makefile
	sed -i -e 's/updmap-sys/updmap-sys-fix/g' Makefile

	make DESTDIR=$PKG prefix=$PKG/usr texmf=$PKG/usr/share/texmf install
	rm -rf $PKG/usr/info $PKG/usr/share/texmf/doc
	rm -f $PKG/usr/share/texmf/tetex.patch.gz
}

Added opt/tetex/README.

















>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
README FILE FOR TETEX

post-install:
  
  execute (as root) the following commands:
  
  # fmtutil-sys --all
  # updmap-sys

Added opt/tetex/post-install.









>
>
>
>
1
2
3
4
#!/bin/sh

fmtutil-sys --all
updmap-sys

Added opt/tetex/tetex.patch.gz.

cannot compute difference between binary files

Added opt/tgif/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: Xlib based interactive 2-D drawing tool
# URL:         http://bourbon.usc.edu/tgif
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  xorg-libxmu xorg-font-adobe-75dpi xorg-font-adobe-100dpi

name=tgif
version=4.2.5
release=1
source=(ftp://bourbon.usc.edu/pub/tgif/tgif-QPL-$version.tar.gz)

build () {
    cd $name-QPL-$version
    ./configure --prefix=/usr
    make TGIFDIR=/usr/share/tgif DESTDIR=$PKG install
    install -D -m 644 tgif.man $PKG/usr/man/man1/tgif.1
}

Added opt/tightvnc/Pkgfile.

















































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# Description: enhanced version of the VNC client/server protocol
# URL: http://www.tightvnc.org
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: sten, nick dot steeves at shaw dot ca
# Depends on: libjpeg xorg-libxaw xorg-gccmakedep,xorg-imake

name=tightvnc
version=1.3.10
release=2
source=(http://download.sourceforge.net/vnc-tight/$name-${version}_unixsrc.tar.bz2 \
        $name-config.patch)

build() {
  cd vnc_unixsrc
  patch -p0 -i $SRC/$name-config.patch
  
  xmkmf -a
  
  make Makefiles
  find . -name "Makefile" -exec sed -i -e 's/-lXp$//g' '{}' \;
  make depend
  make all
  
  cd Xvnc
  
  ./configure
  make -j1
  
  cd ..
  
  mkdir -p $PKG/usr/man/man1 $PKG/usr/bin $PKG/usr/share/vnc/classes
  cp Xvnc/programs/Xserver/Xvnc vncviewer/vncviewer vncpasswd/vncpasswd \
     vncconnect/vncconnect vncserver $PKG/usr/bin
  cp classes/* $PKG/usr/share/vnc/classes
  cp Xvnc/programs/Xserver/Xvnc.man $PKG/usr/man/man1/Xvnc.1
  cp vncserver.man $PKG/usr/man/man1/vncserver.1
  cp vncviewer/vncviewer.man $PKG/usr/man/man1/vncviewer.1
  cp vncpasswd/vncpasswd.man $PKG/usr/man/man1/vncpasswd.1
  cp vncconnect/vncconnect.man $PKG/usr/man/man1/vncconnect.1
}

Added opt/tightvnc/README.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

REQUIREMENTS

   Remove any other VNC software (like x11vnc).

   You need these dependencies to build this port (tightvnc):
	- xorg-gccmakedep
	- xorg-imake

PRE-INSTALL

POST-INSTALL

MISCELLANEOUS

Added opt/tightvnc/tightvnc-config.patch.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
--- vncserver.orig	2009-06-15 20:56:51.840286743 +0200
+++ vncserver	2009-06-15 21:14:49.627829365 +0200
@@ -32,10 +32,11 @@
 $geometry = "1024x768";
 $depth = 24;
 $desktopName = "X";
-$vncClasses = "/usr/local/vnc/classes";
+$vncClasses = "/usr/share/vnc/classes";
 $vncUserDir = "$ENV{HOME}/.vnc";
-$fontPath = "unix/:7100";
+$fontPath = "/usr/lib/X11/fonts/misc,/usr/lib/X11/fonts/100dpi,/usr/lib/X11/fonts/75dpi";
 $authType = "-rfbauth $vncUserDir/passwd";
+$colorPath = "/usr/share/X11/rgb";
 
 # Read configuration from the system-wide and user files if present.
 

Added opt/tmux/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: Terminal multiplexer like screen
# URL:         http://sourceforge.net/projects/tmux 
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  ncurses libevent

name=tmux
version=1.6
release=1
source=(http://downloads.sourceforge.net/project/$name/$name/$name-$version/$name-$version.tar.gz)

build() {
    cd $name-$version
    ./configure --prefix=/usr --mandir=/usr/man
    make
    make DESTDIR=$PKG install
}

Added opt/tnftp/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: NetBSD FTP client
# URL: ftp://ftp.netbsd.org/pub/NetBSD/misc/tnftp/
# Maintainer: Antti Nykanen, aon at iki dot fi
# Depends on: 

name=tnftp
version=20100108
release=1
source=(ftp://ftp.netbsd.org/pub/NetBSD/misc/tnftp/$name-$version.tar.gz)

build() {
	cd $name-$version
	./configure --prefix=/usr --mandir=/usr/man
	make
	make DESTDIR=$PKG install
}

Added opt/tnftp/tnftp-20070806-glibc-2.8.diff.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
--- tnftp-20070806/tnftp.h.glibc28      2007-08-07 21:37:03.000000000 
-0400
+++ tnftp-20070806/tnftp.h      2008-06-20 23:08:14.000000000 -0400
@@ -499,3 +499,11 @@
 #define getaddrinfo    Rgetaddrinfo
 #define getipnodebyname        Rgetipnodebyname
 #endif /* defined(USE_SOCKS) */
+
+/* GLIBC >= 2.8 have ARG_MAX replaced by _SC_ARG_MAX */ 
+#ifdef _SC_ARG_MAX
+#ifdef ARG_MAX
+#undef ARG_MAX
+#endif
+#define ARG_MAX sysconf(_SC_ARG_MAX)
+#endif

Added opt/transmission-gtk/Pkgfile.



















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# Description: BitTorrent client with gtk user interface
# URL:         http://transmission.m0k.org/
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  curl intltool gtk libevent dbus

name=transmission-gtk
version=2.51
release=1
source=(http://download.m0k.org/transmission/files/transmission-$version.tar.xz)

build() {
    cd transmission-$version

    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --with-gtk \
                --disable-cli \
                --disable-daemon
    make
    make DESTDIR=$PKG install

    sed -ri '/\[.+\]=/d' $PKG/usr/share/applications/transmission-gtk.desktop
    rm $PKG/usr/{bin,man/man1}/transmission-{create,edit,show}*
    rm -r $PKG/usr/share/{locale,transmission}
}

Added opt/transmission/Pkgfile.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Description: BitTorrent client/daemon with command-line and web user interface
# URL:         http://transmission.m0k.org/
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  curl libevent

name=transmission
version=2.51
release=1
source=(http://download.m0k.org/$name/files/$name-$version.tar.xz)

build() {
    cd $name-$version

    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --disable-nls \
                --enable-cli \
                --enable-daemon \
                --without-gtk
    make
    make DESTDIR=$PKG install

    rm $PKG/usr/share/transmission/web/LICENSE
}

Added opt/unbound/Pkgfile.







































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# Description: Validating, recursive, and caching DNS resolver
# URL:         http://unbound.net/index.html
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  openssl expat

name=unbound
version=1.4.16
release=1
source=(http://www.unbound.net/downloads/$name-$version.tar.gz
        http://www.nlnetlabs.nl/downloads/ldns/ldns-1.6.12.tar.gz
        unbound)

build () {
    cd ldns-1.6.12
    ./configure --disable-shared
    make

    cd ../$name-$version
    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --sysconfdir=/etc \
                --with-pidfile=/var/run/unbound.pid \
                --with-rootkey-file=/var/lib/unbound/root.key \
                --disable-shared \
                --with-username=unbound \
                --with-ldns=../ldns-1.6.12

    make
    make DESTDIR=$PKG install

    rm -r $PKG/usr/{lib,include,man/man3}

    install -d -o unbound -g unbound $PKG/var/lib/unbound/
    install -D -m 755 $SRC/unbound $PKG/etc/rc.d/unbound
}

Added opt/unbound/README.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
README for unbound 1.*

REQUIREMENTS

PRE/POST-INSTALL

1. Create a user/group unbound with a unused id < 99 or run the
   provided pre-install script:

   'groupadd -g 41 unbound'
   'useradd -u 41 -g unbound -d /etc/unbound -s /bin/false unbound'
   'passwd -l unbound'

PRECAUTION

To enable DNSSEC validation all you have to do is to enable the 
"auto-trust-anchor-file" option in /etc/unbound/unbound.conifg.
The effective user unbound is running as (default: unbound) needs
write access to /var/lib/unbound to update the trust anchor for 
DNSSEC validation. Adjust the owner of that directory if you run 
unbound as a different user.

Added opt/unbound/pre-install.













>
>
>
>
>
>
1
2
3
4
5
6
#!/bin/sh

getent group unbound || /usr/sbin/groupadd -g 41 unbound
getent passwd unbound || /usr/sbin/useradd -g unbound -u 41 -d /etc/unbound -s /bin/false unbound
/usr/bin/passwd -l unbound

Added opt/unbound/unbound.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/bin/sh
#
# /etc/rc.d/crond: start/stop unbound daemon
#

case $1 in
start)
	/usr/sbin/unbound-anchor
	/usr/sbin/unbound
	;;
stop)
	killall -q /usr/sbin/unbound
	;;
restart)
	$0 stop
	sleep 2
	$0 start
	;;
*)
	echo "usage: $0 [start|stop|restart]"
	;;
esac

# End of file

Added opt/unison/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: Bi-directional file synchronization tool
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Packager:    Markus Ackermann, maol at symlink dot ch
# URL:         http://www.cis.upenn.edu/~bcpierce/unison/
# Depends on:  ocaml

name=unison
version=2.40.65
release=1
source=(http://www.cis.upenn.edu/~bcpierce/unison/download/releases/$name-$version/$name-$version.tar.gz)

build() {
    cd $name-$version
    unset CFLAGS CXXFLAGS
    make -j1 UISTYLE=text THREADS=true unison
    install -D -m 755 unison $PKG/usr/bin/unison
}

Added opt/unrar/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: Extracts RAR archives
# URL:         http://www.rarlab.com/rar_add.htm
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    Jukka Heino, jukka dot heino at gmail dot com
# Depends on:

name=unrar
version=4.1.3
release=1
source=(http://www.rarlab.com/rar/${name}src-$version.tar.gz)

build() {
    cd $name
    sed -i "s/-O2/$CFLAGS/" makefile.unix
    make -f makefile.unix
    install -D -m 755 unrar $PKG/usr/bin/unrar
}

Added opt/uw-imap/Pkgfile.































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# Description: University of Washington's IMAP/POP server
# URL:         http://www.washington.edu/imap/
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  openssl

name=uw-imap
version=2007f
release=1
source=(ftp://ftp.cac.washington.edu/imap/imap-$version.tar.gz)

build () {
    cd imap-${version::5}

    sed -i 's/read x/x=y/' Makefile
    make slx \
        EXTRACFLAGS="$CFLAGS" \
        SSLTYPE=unix \
        SSLDIR=/usr \
        SSLCERTS=/etc/ssl/certs \
        IP=6

    install -D -m 755 imapd/imapd $PKG/usr/sbin/imapd
    install -m 755 ipopd/ipop3d $PKG/usr/sbin
    install -D -m 644 src/imapd/imapd.8 $PKG/usr/man/man8/imapd.8
    install -m 644 src/ipopd/ipopd.8 $PKG/usr/man/man8/ipopd.8
    sed -i 's|/usr/etc/|/usr/sbin/|' $PKG/usr/man/man8/*

    install -d $PKG/etc/ssl/certs/
    touch $PKG/etc/ssl/certs/{imapd.pem,ipop3d.pem}
    chmod 0600 $PKG/etc/ssl/certs/{imapd.pem,ipop3d.pem}
}

Added opt/uw-imap/README.























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
README for uw-imap 2007

REQUIREMENTS

PRE-INSTALL

POST-INSTALL
1. To activate the required services add some of the following lines to 
   /etc/inetd.conf:

    pop3   stream  tcp  nowait  root  /usr/sbin/tcpd  ipop3d
    imap   stream  tcp  nowait  root  /usr/sbin/tcpd  imapd
    pop3s  stream  tcp  nowait  root  /usr/sbin/tcpd  ipop3d
    imaps  stream  tcp  nowait  root  /usr/sbin/tcpd  imapd

   For security reasons it's highly recommended to use the ssl encrypted 
   services pop3s and imaps whenever possible.

2. Create two self-signed certificates for the imap and pop3 daemons:

   openssl req -new -x509 -days 365 -nodes -out imapd.pem -keyout imapd.pem
   openssl req -new -x509 -days 365 -nodes -out ipop3d.pem -keyout ipop3d.pem
   mv imapd.pem ipop3d.pem /etc/ssl/certs
   chmod 0600 /etc/ssl/certs/{imapd.pem,ipop3d.pem}

PRECAUTION

Added opt/valgrind/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: A debugging and profiling system for Linux programs
# URL: http://valgrind.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu

name=valgrind
version=3.7.0
release=1
source=(http://$name.org/downloads/$name-$version.tar.bz2)

build() {
	cd $name-$version

	./configure --prefix=/usr --mandir=/usr/man
	make
	make DESTDIR=$PKG install

	rm -rf $PKG/usr/share/doc
	rmdir $PKG/usr/share
}

Added opt/valgrind/valgrind.diff.











































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-util/valgrind/files/valgrind-3.5.0-glibc-2.12.patch?revision=1.1
http://cvs.fedoraproject.org/viewvc/rpms/valgrind/devel/valgrind-3.5.0-glibc-2.12.patch?view=log

http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-util/valgrind/files/valgrind-3.5.0-stat_h.patch?revision=1.1
http://cvs.fedoraproject.org/viewvc/rpms/valgrind/devel/valgrind-3.5.0-stat_h.patch?view=log

--- configure.in
+++ configure.in
@@ -666,6 +666,16 @@ AC_EGREP_CPP([GLIBC_211], [
 ],
 GLIBC_VERSION="2.11")
 
+AC_EGREP_CPP([GLIBC_212], [
+#include <features.h>
+#ifdef __GNU_LIBRARY__
+ #if (__GLIBC__ == 2 && __GLIBC_MINOR__ == 12)
+  GLIBC_212
+ #endif
+#endif
+],
+GLIBC_VERSION="2.12")
+
 AC_EGREP_CPP([AIX5_LIBC], [
 #include <standards.h>
 #if defined(_AIXVERSION_510) || defined(_AIXVERSION_520) || defined(_AIXVERSION_530)
@@ -759,6 +769,13 @@ case "${GLIBC_VERSION}" in
 	DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
 	DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
 	;;
+     2.12)
+	AC_MSG_RESULT(2.12 family)
+	AC_DEFINE([GLIBC_2_12], 1, [Define to 1 if you're using glibc 2.12.x])
+	DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}"
+	DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
+	DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
+	;;
      aix5)
 	AC_MSG_RESULT(AIX 5.1 or 5.2 or 5.3)
 	AC_DEFINE([AIX5_LIBC], 1, [Define to 1 if you're using AIX 5.1 or 5.2 or 5.3])
--- config.h.in
+++ config.h.in
@@ -18,6 +18,9 @@
 /* Define to 1 if you're using glibc 2.11.x */
 #undef GLIBC_2_11
 
+/* Define to 1 if you're using glibc 2.12.x */
+#undef GLIBC_2_12
+
 /* Define to 1 if you're using glibc 2.2.x */
 #undef GLIBC_2_2
 

--- include/vki/vki-amd64-linux.h
+++ include/vki/vki-amd64-linux.h
@@ -310,6 +310,9 @@ struct vki_stat {
 	long		st_blksize;
 	long		st_blocks;	/* Number 512-byte blocks allocated. */
 
+#undef st_atime
+#undef st_mtime
+#undef st_ctime
 	unsigned long	st_atime;
 	unsigned long 	st_atime_nsec; 
 	unsigned long	st_mtime;
--- include/vki/vki-x86-linux.h
+++ include/vki/vki-x86-linux.h
@@ -348,6 +348,9 @@ struct vki_stat {
 	unsigned long  st_size;
 	unsigned long  st_blksize;
 	unsigned long  st_blocks;
+#undef st_atime
+#undef st_mtime
+#undef st_ctime
 	unsigned long  st_atime;
 	unsigned long  st_atime_nsec;
 	unsigned long  st_mtime;
--- include/vki/vki-ppc32-linux.h
+++ include/vki/vki-ppc32-linux.h
@@ -392,6 +392,9 @@ struct vki_stat {
    long			st_size;
    unsigned long	st_blksize;
    unsigned long	st_blocks;
+#undef st_atime
+#undef st_mtime
+#undef st_ctime
    unsigned long	st_atime;
    unsigned long	st_atime_nsec;
    unsigned long	st_mtime;
--- include/vki/vki-ppc64-linux.h
+++ include/vki/vki-ppc64-linux.h
@@ -428,6 +428,9 @@ struct vki_stat {
   long            st_size;
   unsigned long   st_blksize;
   unsigned long   st_blocks;
+#undef st_atime
+#undef st_mtime
+#undef st_ctime
   unsigned long   st_atime;
   unsigned long   st_atime_nsec;
   unsigned long   st_mtime;

Added opt/vorbis-tools/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description: tools used to create/alter ogg/vorbis files
# URL: http://www.vorbis.com/
# Packager: Matt Housh, jaeger at morpheus dot net
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: libao, libogg, libvorbis, curl

name=vorbis-tools
version=1.4.0
release=1
source=(http://downloads.xiph.org/releases/vorbis/$name-$version.tar.gz)

build() {
	cd $name-$version

	./configure --prefix=/usr --mandir=/usr/man --disable-nls --enable-vcut
	make
	make DESTDIR=$PKG install

	mkdir $PKG/usr/etc
	mv $PKG/usr/share/doc/$name-$version/ogg123rc-example $PKG/usr/etc
	rm -rf $PKG/usr/share
}

Added opt/vorbisgain/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Computes replaygain information for Ogg Vorbis files
# URL: http://sjeng.org/vorbisgain.html
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: libogg, libvorbis

name=vorbisgain
version=0.36
release=1
source=(http://sjeng.org/ftp/vorbis/$name-$version.zip)

build() {
	cd $name-$version

	sh configure --prefix=/usr

	make
	make DESTDIR=$PKG install
}

Added opt/vsftpd/Pkgfile.



















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# Description: Probably the most secure and fastest FTP server
# URL:         http://vsftpd.beasts.org
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  openssl libcap tcp_wrappers

name=vsftpd
version=3.0.0
release=1
source=(https://security.appspot.com/downloads/$name-$version.tar.gz \
        $name-config.patch vsftpd)

build () {
    cd $name-$version

    patch -p1 -i $SRC/$name-config.patch

    make
    make DESTDIR=$PKG install

    install -d $PKG/{etc/{rc.d,ssl/{certs,keys}},var/log}
    install -m 755 $SRC/vsftpd $PKG/etc/rc.d
    touch $PKG/etc/ssl/{certs/$name.crt,keys/$name.key}
    chmod 600 $PKG/etc/ssl/{certs/$name.crt,keys/$name.key}
    touch $PKG/var/log/vsftpd.log
}

Added opt/vsftpd/vsftpd.



























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/bin/sh
#
# /etc/rc.d/vsftpd: start/stop vsftpd daemon
#

CRT=/etc/ssl/certs/vsftpd.crt
KEY=/etc/ssl/keys/vsftpd.key

case $1 in
start)
	if [ ! -s $CRT -o ! -s $KEY ]; then 
		/usr/bin/mksslcert $KEY $CRT
	fi
	/usr/sbin/vsftpd
	;;
stop)
	killall -q /usr/sbin/vsftpd
	;;
restart)
	$0 stop
	sleep 2
	$0 start
	;;
*)
	echo "usage: $0 [start|stop|restart]"
	;;
esac

# End of file

Added opt/vsftpd/vsftpd-config.patch.



























































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
diff -Nru vsftpd-3.0.0.orig/Makefile vsftpd-3.0.0/Makefile
--- vsftpd-3.0.0.orig/Makefile	2012-04-10 09:29:08.529670293 +0200
+++ vsftpd-3.0.0/Makefile	2012-04-10 09:38:01.020463369 +0200
@@ -3,7 +3,7 @@
 INSTALL	=	install
 IFLAGS  = -idirafter dummyinc
 #CFLAGS = -g
-CFLAGS	=	-O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 \
+CFLAGS	+=	-fPIE -fstack-protector --param=ssp-buffer-size=4 \
 	-Wall -W -Wshadow -Werror -Wformat-security \
 	-D_FORTIFY_SOURCE=2 \
 	#-pedantic -Wconversion
@@ -29,21 +29,10 @@
 	$(CC) -o vsftpd $(OBJS) $(LINK) $(LDFLAGS) $(LIBS)
 
 install:
-	if [ -x /usr/local/sbin ]; then \
-		$(INSTALL) -m 755 vsftpd /usr/local/sbin/vsftpd; \
-	else \
-		$(INSTALL) -m 755 vsftpd /usr/sbin/vsftpd; fi
-	if [ -x /usr/local/man ]; then \
-		$(INSTALL) -m 644 vsftpd.8 /usr/local/man/man8/vsftpd.8; \
-		$(INSTALL) -m 644 vsftpd.conf.5 /usr/local/man/man5/vsftpd.conf.5; \
-	elif [ -x /usr/share/man ]; then \
-		$(INSTALL) -m 644 vsftpd.8 /usr/share/man/man8/vsftpd.8; \
-		$(INSTALL) -m 644 vsftpd.conf.5 /usr/share/man/man5/vsftpd.conf.5; \
-	else \
-		$(INSTALL) -m 644 vsftpd.8 /usr/man/man8/vsftpd.8; \
-		$(INSTALL) -m 644 vsftpd.conf.5 /usr/man/man5/vsftpd.conf.5; fi
-	if [ -x /etc/xinetd.d ]; then \
-		$(INSTALL) -m 644 xinetd.d/vsftpd /etc/xinetd.d/vsftpd; fi
+	$(INSTALL) -D -m 755 vsftpd $(DESTDIR)/usr/sbin/vsftpd
+	$(INSTALL) -D -m 644 vsftpd.8 $(DESTDIR)/usr/man/man8/vsftpd.8
+	$(INSTALL) -D -m 644 vsftpd.conf.5 $(DESTDIR)/usr/man/man5/vsftpd.conf.5
+	$(INSTALL) -D -m 600 vsftpd.conf $(DESTDIR)/etc/vsftpd.conf
 
 clean:
 	rm -f *.o *.swp vsftpd
diff -Nru vsftpd-3.0.0.orig/builddefs.h vsftpd-3.0.0/builddefs.h
--- vsftpd-3.0.0.orig/builddefs.h	2012-04-10 09:29:08.533003507 +0200
+++ vsftpd-3.0.0/builddefs.h	2012-04-10 09:37:33.624784735 +0200
@@ -1,9 +1,9 @@
 #ifndef VSF_BUILDDEFS_H
 #define VSF_BUILDDEFS_H
 
-#undef VSF_BUILD_TCPWRAPPERS
-#define VSF_BUILD_PAM
-#undef VSF_BUILD_SSL
+#define VSF_BUILD_TCPWRAPPERS
+#undef VSF_BUILD_PAM
+#define VSF_BUILD_SSL
 
 #endif /* VSF_BUILDDEFS_H */
 
diff -Nru vsftpd-3.0.0.orig/tunables.c vsftpd-3.0.0/tunables.c
--- vsftpd-3.0.0.orig/tunables.c	2012-04-10 09:29:08.529670293 +0200
+++ vsftpd-3.0.0/tunables.c	2012-04-10 09:39:55.196345553 +0200
@@ -254,7 +254,7 @@
   /* -rw------- */
   tunable_chown_upload_mode = 0600;
 
-  install_str_setting("/usr/share/empty", &tunable_secure_chroot_dir);
+  install_str_setting("/var/empty", &tunable_secure_chroot_dir);
   install_str_setting("ftp", &tunable_ftp_username);
   install_str_setting("root", &tunable_chown_username);
   install_str_setting("/var/log/xferlog", &tunable_xferlog_file);
@@ -281,11 +281,11 @@
   install_str_setting(0, &tunable_user_sub_token);
   install_str_setting("/etc/vsftpd.email_passwords",
                       &tunable_email_password_file);
-  install_str_setting("/usr/share/ssl/certs/vsftpd.pem",
+  install_str_setting("/etc/ssl/certs/vsftpd.crt",
                       &tunable_rsa_cert_file);
   install_str_setting(0, &tunable_dsa_cert_file);
   install_str_setting("AES128-SHA:DES-CBC3-SHA", &tunable_ssl_ciphers);
-  install_str_setting(0, &tunable_rsa_private_key_file);
+  install_str_setting("/etc/ssl/keys/vsftpd.key", &tunable_rsa_private_key_file);
   install_str_setting(0, &tunable_dsa_private_key_file);
   install_str_setting(0, &tunable_ca_certs_file);
 }
diff -Nru vsftpd-3.0.0.orig/vsftpd.conf vsftpd-3.0.0/vsftpd.conf
--- vsftpd-3.0.0.orig/vsftpd.conf	2012-04-10 09:29:08.529670293 +0200
+++ vsftpd-3.0.0/vsftpd.conf	2012-04-10 09:37:33.624784735 +0200
@@ -8,11 +8,21 @@
 # Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's
 # capabilities.
 #
+#
+# Use tcp_wrappers library
+tcp_wrappers=YES
+#
+# Enable SSL support
+#ssl_enable=YES
+#ssl_sslv3=YES
+#
 # Allow anonymous FTP? (Beware - allowed by default if you comment this out).
 anonymous_enable=YES
 #
 # Uncomment this to allow local users to log in.
 #local_enable=YES
+#force_local_logins_ssl=YES
+#force_local_data_ssl=YES
 #
 # Uncomment this to enable any form of FTP write command.
 #write_enable=YES
@@ -110,6 +120,7 @@
 # listens on IPv4 sockets. This directive cannot be used in conjunction
 # with the listen_ipv6 directive.
 listen=YES
+background=YES
 #
 # This directive enables listening on IPv6 sockets. To listen on IPv4 and IPv6
 # sockets, you must run two copies of vsftpd with two configuration files.
diff -Nru vsftpd-3.0.0.orig/vsftpd.conf.5 vsftpd-3.0.0/vsftpd.conf.5
--- vsftpd-3.0.0.orig/vsftpd.conf.5	2012-04-10 09:29:08.533003507 +0200
+++ vsftpd-3.0.0/vsftpd.conf.5	2012-04-10 09:37:33.624784735 +0200
@@ -955,21 +955,21 @@
 This option specifies the location of the RSA certificate to use for SSL
 encrypted connections.
 
-Default: /usr/share/ssl/certs/vsftpd.pem
+Default: /etc/ssl/certs/vsftpd.crt
 .TP
 .B rsa_private_key_file
 This option specifies the location of the RSA private key to use for SSL
 encrypted connections. If this option is not set, the private key is expected
 to be in the same file as the certificate.
 
-Default: (none)
+Default: /etc/ssl/keys/vsftpd.key
 .TP
 .B secure_chroot_dir
 This option should be the name of a directory which is empty. Also, the
 directory should not be writable by the ftp user. This directory is used
 as a secure chroot() jail at times vsftpd does not require filesystem access.
 
-Default: /usr/share/empty
+Default: /var/empty
 .TP
 .B ssl_ciphers
 This option can be used to select which SSL ciphers vsftpd will allow for

Added opt/vte/Pkgfile.





























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# Description: Virtual Terminal Emulator
# URL: http://developer.gnome.org/arch/gnome/widgets/vte.html
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Juergen Daubert, jue at crux dot nu
# Depends on: gtk p5-xml-parser intltool xorg-libxdamage

name=vte
version=0.28.2
release=2
source=(ftp://ftp.gnome.org/pub/gnome/sources/$name/${version%.*}/$name-$version.tar.xz \
        $name-metamask.patch)

build() {
  cd $name-$version

  patch -R -p1 -i $SRC/$name-metamask.patch
  ./configure --prefix=/usr \
              --libexecdir=/usr/lib/$name \
              --disable-static \
              --disable-debugging \
              --disable-python \
              --disable-gtk-doc \
              --with-xft2 \
              --with-pangox

  make
  make DESTDIR=$PKG install

  rm -rf $PKG/usr/share/{gtk-doc,locale}
}

Added opt/vte/vte-metamask.patch.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
From b73782a28894e25ed146271f9d6c6775a6836199 Mon Sep 17 00:00:00 2001
From: Behdad Esfahbod <behdad@behdad.org>
Date: Fri, 04 Jun 2010 18:36:45 +0000
Subject: Bug 601926 - Don't hardcode meta to alt

---
diff --git a/src/keymap.h b/src/keymap.h
index 3a4cefe..243e22e 100644
--- a/src/keymap.h
+++ b/src/keymap.h
@@ -27,7 +27,7 @@
 
 G_BEGIN_DECLS
 
-#define VTE_META_MASK		GDK_MOD1_MASK
+#define VTE_META_MASK		GDK_META_MASK
 #define VTE_NUMLOCK_MASK	GDK_MOD2_MASK
 
 /* Map the specified keyval/modifier setup, dependent on the mode, to either
--

Added opt/w3m/Pkgfile.











































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# Description: Pager that can also be used as a text-based web browser
# URL:         http://w3m.sourceforge.net/
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    Han Boetes, han at mijncomputer dot dl
# Depends on:  boehm-gc

name=w3m
version=0.5.3
release=1
source=(http://downloads.sourceforge.net/project/$name/$name/$name-$version/$name-$version.tar.gz)

build() {
    cd $name-$version

    sed -i s/showaudio/mplayer/ config.h.in

    ./configure \
        --prefix=/usr \
        --libexecdir=/usr/lib \
  --mandir=/usr/man \
        --disable-image \
        --disable-gopher \
        --disable-japanese \
        --disable-kanjisymbols \
        --disable-m17n \
        --disable-messagel10n \
        --disable-nls \
        --disable-nntp \
        --disable-unicode \
        --disable-xface \
        --enable-alarm \
        --enable-ansi-color \
        --enable-bgcolor \
        --enable-color \
        --enable-cookie \
        --enable-dict \
        --enable-digest-auth \
        --enable-external-uri-loader \
        --enable-help-cgi \
        --enable-history \
        --enable-ipv6 \
        --enable-keymap=w3m \
        --enable-menu \
        --enable-mouse \
        --enable-sslverify \
        --enable-w3mmailer \
        --with-gc
    make
    make DESTDIR=$PKG install 

    rm -rf $PKG/usr/man/ja*
    rm -rf $PKG/usr/share/locale/
}

Added opt/webfs/Pkgfile.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Description: A simple HTTP server for static content
# URL:         http://linux.bytesex.org/misc/webfs.html
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  openssl

name=webfs
version=1.21
release=3
source=(http://dl.bytesex.org/releases/webfs/webfs-$version.tar.gz \
        webfsd)

build() {
    cd $name-$version
    make prefix=$PKG/usr mandir=$PKG/usr/man install
    install -D -m 0755 $SRC/webfsd $PKG/etc/rc.d/webfsd
}

Added opt/webfs/webfsd.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/bin/sh
#
# /etc/rc.d/httpd: start/stop webfs http daemon
#

case $1 in
start)
	/usr/bin/webfsd -u www -g www -r /var/www -p 80 -f index.html
	;;
stop)
	killall -q /usr/bin/webfsd
	;;
restart)
	$0 stop
	sleep 2
	$0 start
	;;
*)
	echo "usage: $0 [start|stop|restart]"
	;;
esac

# End of file

Added opt/whois/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: A modern whois client
# URL:         http://www.linux.it/~md/software/
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Packager:    Olle Gustafsson, ogg at linux dot se
# Depends on:

name=whois
version=5.0.15
release=1
source=(http://ftp.debian.org/debian/pool/main/w/$name/$name\_$version.tar.xz)

build() {
    cd $name-$version
    sed -i "/^CFLAGS/s/=.*$/=$CFLAGS/" Makefile
    make CONFIG_FILE='/etc/whois.conf' whois
    install -D -m 755 whois $PKG/usr/bin/whois
    install -D -m 644 whois.1 $PKG/usr/man/man1/whois.1
    install -D -m 644 whois.conf $PKG/etc/whois.conf
}

Added opt/win32-essential-codecs/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: "Essential" win32 binary codecs for mplayer, xine, etc.
# URL:         http://www.mplayerhq.hu/DOCS/codecs-status.html
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    Matt Housh, jaeger at morpheus dot net

name=win32-essential-codecs
version=20071007
release=2
source=(http://www.mplayerhq.hu/MPlayer/releases/codecs/essential-$version.tar.bz2)

build() {
  cd essential-$version
  mkdir -p $PKG/usr/share/codecs
  install -m 0644 * $PKG/usr/share/codecs/
  rm -f $PKG/usr/lib
  rm $PKG/usr/share/codecs/README
}

Added opt/wine/Pkgfile.























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# Description: WINE - Implementation of Windows DLL's and core.
# URL: http://www.winehq.com/
# Maintainer: Danny Rawlins, monster dot romster at gmail dot com
# Packager: Daniel Walpole, daniel at walpole dot id dot au
# Depends on: fontconfig fontforge freeglut gnutls lcms mpg123 openal xorg-libxcomposite xorg-libxcursor xorg-libxinerama xorg-libxrandr xorg-libxxf86dga prelink

name=wine
version=1.4
release=1
source=(http://ibiblio.org/pub/linux/system/emulators/wine/wine-$version.tar.bz2
	http://downloads.sourceforge.net/project/wine/Wine%20Gecko/1.4/wine_gecko-1.4-x86.msi)

build() {
	cd $name-$version

	./configure \
		--prefix=/usr \
		--mandir=$PKG/usr/man \
		--verbose \
		--disable-tests

	make depend
	make
	make prefix=$PKG/usr install
	install -D $SRC/wine_gecko-1.4-x86.msi $PKG/usr/share/wine/gecko/wine_gecko-1.4-x86.msi
	rm -r $PKG/usr/man/??.UTF-8
}

Added opt/wine/README.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
README for wine 0.9.1+


REQUIREMENTS


PRE-INSTALL


POST-INSTALL

The command 'winecfg' is now used to alter your configuration 
settings. If you still have a config file the settings will be
moved into the registry (acessed by 'regedit') and the config 
file will not be parsed anymore.


PRECAUTION

If you are having any problems, it is highly recommmended that 
you clean out your WINEPREFIX directory (eg: /home/user/.wine/) 
as old configuration data can cause problems.

Added opt/wireless-tools/Pkgfile.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Maintainer: Till Biedermann, tillbiedermann at yahoo dot de
# Description: Tools to configure and manipulate wlan devices
# URL: http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html
# Depends on:

name=wireless-tools
version=29
release=1
source=(http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/${name/-/_}.$version.tar.gz)

build() {
	cd ${name/-/_}.$version
	make && make PREFIX=$PKG/usr install
}

Added opt/wireshark/Pkgfile.







































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# Description: Network Sniffer with nice GTK+ UI
# URL: http://www.wireshark.org
# Packager: Martin Opel, mo at obbl-net dot de
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: gtk libpcap libpcre

name=wireshark
version=1.6.4
release=1
source=(http://www.$name.org/download/src/all-versions/$name-$version.tar.bz2)

build() {
	cd $name-$version

	./configure --prefix=/usr \
	            --mandir=/usr/man \
	            --with-plugins=/usr/lib/$name/plugins \
	            --disable-nls \
	            --enable-snmp \
	            --enable-gtk2 \
	            --disable-gcry \
	            --without-krb5

	make
	make DESTDIR=$PKG install

	# install some icons
	install -d $PKG/usr/share/$name/pixmaps
	install -m 644 \
		image/{hi,lo}{16,32,48}-app-$name.png \
		$PKG/usr/share/$name/pixmaps

	# Don't remove these files, they are read by wireshark's about box.
	#rm -f $PKG/usr/share/$name/{AUTHORS-SHORT,COPYING}
}

Added opt/wpa_supplicant/Pkgfile.























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# Description: User space IEEE 802.1X/WPA supplicant (wireless client) 
# URL:         http://hostap.epitest.fi/wpa_supplicant/
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  openssl ncurses readline libnl

name=wpa_supplicant
version=0.7.3
release=2
source=(http://hostap.epitest.fi/releases/$name-$version.tar.gz)

build () {
    cd $name-$version/$name

    cp defconfig .config
    echo "CONFIG_DRIVER_NL80211=y" >> .config
    echo "CONFIG_READLINE=y" >> .config

    make

    install -d $PKG/{usr/sbin,usr/man/man{8,5},etc}
    install -m 0755 wpa_{cli,passphrase,supplicant} $PKG/usr/sbin
    install -m 0644 doc/docbook/wpa_{background,cli,passphrase,supplicant}.8 $PKG/usr/man/man8
    install -m 0644 doc/docbook/wpa_supplicant.conf.5 $PKG/usr/man/man5

    echo -e "ctrl_interface=/var/run/wpa_supplicant\n" > $PKG/etc/wpa.conf
    chmod 0600 $PKG/etc/wpa.conf
}

Added opt/wpa_supplicant/README.





















































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
README for wpa_supplicant


REQUIREMENTS

Kernel driver for your wireless card, e.g. ndiswrapper or ipw2100. 
See the wpa_supplicant homepage for supported drivers.


PRE-INSTALL


POST-INSTALL

1. Create a network setup for wpa_supplicant:

   wpa_passphrase <ssid> <your_secret> >> /etc/wpa.conf

   See the sample configuration file wpa_supplicant.conf in the
   sources for a complete description of the available options 
   for wpa_supplicant. 

2. Change your wlan start script to use wpa_supplicant.

   Following an example for the centrino ipw2100 driver, no need 
   to do anything with iwconfig:

   /sbin/modprobe ipw2100
   /sbin/ifconfig eth1 xxx.xxx.xxx.xxx netmask 255.255.255.xxx
   /sbin/route add default gw xxx.xxx.xxx.xxx
   /usr/sbin/wpa_supplicant -B -Dnl80211 -ieth1 -c/etc/wpa.conf

   Note: the above configuration makes use of the generic nl80211
         wpa_supplicant driver, which is the preferred nowadays 
         and supersedes the wext (wireless extensions) driver.

PRECAUTION

As off version 0.6.8 the -w option of wpa_supplicant was removed.
See the ChangeLog for more infos. This may cause troubles because
using the -w option was the recommend way to start wpa_supplicant
until version 0.6.

Added opt/wvdial/Pkgfile.





















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# Description: Weave Dial - PPP dialer
# URL:         http://open.nit.ca/wiki/?page=WvDial
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  ppp

name=wvdial
version=1.61
release=3
source=(http://wvstreams.googlecode.com/files/$name-$version.tar.gz \
        http://wvstreams.googlecode.com/files/wvstreams-4.6.1.tar.gz \
        $name-$version.patch wvstreams-4.6.1-openssl.patch \
        wvstreams-4.6.1-include_stat.patch)

build() {
    cd wvstreams-4.6.1
    patch -p1 -i $SRC/wvstreams-4.6.1-openssl.patch
    patch -p1 -i $SRC/wvstreams-4.6.1-include_stat.patch
    ./configure --prefix=/usr --without-{pam,tcl,qt,dbus}
    make -j1

    cd $SRC/$name-$version
    patch -p1 -i $SRC/$name-$version.patch
    ./configure
    make -j1 WVS=$SRC/wvstreams-4.6.1
    make DESTDIR=$PKG install
}

Added opt/wvdial/wvdial-1.61.patch.















































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
diff -Nru wvdial-1.61.orig/Makefile.in wvdial-1.61/Makefile.in
--- wvdial-1.61.orig/Makefile.in	2009-09-30 09:28:10.000000000 +0200
+++ wvdial-1.61/Makefile.in	2009-09-30 09:31:22.000000000 +0200
@@ -3,27 +3,19 @@
 WVPACKAGE_TARNAME=@PACKAGE_TARNAME@
 WVPACKAGE_VERSION=@PACKAGE_VERSION@
 
-prefix=/usr/local
-WVSTREAMS_INC=
-WVSTREAMS_LIB=
+prefix=$(DESTDIR)/usr
+WVSTREAMS_INC=$(WVS)/include
+WVSTREAMS_LIB=$(WVS)
 WVSTREAMS_BIN=$(prefix)/bin
 WVSTREAMS_SRC=.
 
-PC_CFLAGS=$(shell pkg-config --cflags libwvstreams)
-ifeq ($(PC_CFLAGS),)
- $(error WvStreams does not appear to be installed)
-endif
-CPPFLAGS+=$(PC_CFLAGS)
-
-PC_LIBS=$(shell pkg-config --libs libwvstreams)
-ifeq ($(PC_LIBS),)
- $(error WvStreams does not appear to be installed)
-endif
-LIBS+=$(PC_LIBS)
+LIBS = $(WVS)/libwvstatic.a -lstdc++ -lcrypto -lssl
 
 BINDIR=${prefix}/bin
-MANDIR=${prefix}/share/man
-PPPDIR=/etc/ppp/peers
+MANDIR=${prefix}/man
+PPPDIR=$(DESTDIR)/etc/ppp/peers
+
+VERBOSE=1
 
 include wvrules.mk
 
@@ -33,9 +25,6 @@
 wvdial.a: wvdialer.o wvmodemscan.o wvpapchap.o wvdialbrain.o \
 	wvdialmon.o
 
-wvdial wvdialconf papchaptest pppmon: \
-  LDFLAGS+=-luniconf -lwvstreams -lwvutils -lwvbase
-
 wvdial wvdialconf papchaptest pppmon: wvdial.a
 
 install-bin: all
diff -Nru wvdial-1.61.orig/config.defaults.mk wvdial-1.61/config.defaults.mk
--- wvdial-1.61.orig/config.defaults.mk	2009-09-30 09:28:10.000000000 +0200
+++ wvdial-1.61/config.defaults.mk	2009-09-30 10:06:24.000000000 +0200
@@ -13,7 +13,6 @@
 LIBS_PAM=-lpam
 LIBS_TCL=
 
-prefix=/usr/local
 datadir=${prefix}/share
 includedir=${prefix}/include
 infodir=${prefix}/share/info
@@ -28,8 +27,8 @@
 libexecdir=${exec_prefix}/libexec
 sbindir=${exec_prefix}/sbin
 
-enable_debug=yes
-enable_optimization=no
+enable_debug=no
+enable_optimization=yes
 enable_resolver_fork=
 enable_warnings=
 enable_testgui=

Added opt/wvdial/wvstreams-4.6.1-include_stat.patch.























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# http://code.google.com/p/wvstreams/issues/detail?id=28

diff -Nru wvstreams-4.6.1.orig/ipstreams/wvunixdgsocket.cc wvstreams-4.6.1/ipstreams/wvunixdgsocket.cc
--- wvstreams-4.6.1.orig/ipstreams/wvunixdgsocket.cc	2010-08-05 18:19:24.572113629 +0200
+++ wvstreams-4.6.1/ipstreams/wvunixdgsocket.cc	2010-08-05 18:19:54.071829657 +0200
@@ -1,8 +1,6 @@
 #include "wvunixdgsocket.h"
-#ifdef MACOS
 #include <sys/types.h>
 #include <sys/stat.h>
-#endif
 
 WvUnixDGSocket::WvUnixDGSocket(WvStringParm filename, bool _server, int perms)
     : socketfile(filename)
diff -Nru wvstreams-4.6.1.orig/streams/wvatomicfile.cc wvstreams-4.6.1/streams/wvatomicfile.cc
--- wvstreams-4.6.1.orig/streams/wvatomicfile.cc	2010-08-05 18:19:24.582113531 +0200
+++ wvstreams-4.6.1/streams/wvatomicfile.cc	2010-08-05 18:20:22.271557390 +0200
@@ -11,9 +11,7 @@
 #include "wvfileutils.h"
 #include "wvstrutils.h"
 
-#ifdef MACOS
 #include <sys/stat.h>
-#endif
 
 WvAtomicFile::WvAtomicFile(WvStringParm filename, int flags, mode_t create_mode)
     : tmp_file(WvString::null)

Added opt/wvdial/wvstreams-4.6.1-openssl.patch.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# http://code.google.com/p/wvstreams/issues/detail?id=27

--- wvstreams-4.6.1/crypto/wvx509.cc    2008-10-23 22:23:49.000000000 +0200
+++ wvstreams-4.6.1-1/crypto/wvx509.cc  2010-01-27 11:09:06.000000000 +0100
@@ -1157,7 +1157,11 @@

         if (ext)
         {
+#if OPENSSL_VERSION_NUMBER >= 0x10000000L
+            const X509V3_EXT_METHOD *method = X509V3_EXT_get(ext);
+#else
             X509V3_EXT_METHOD *method = X509V3_EXT_get(ext);
+#endif
             if (!method)
             {
                 WvDynBuf buf;


Added opt/x11-fonts-dejavu/Pkgfile.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# URL: http://dejavu.sourceforge.net
# Description: A font family based on the Bitstream Vera Fonts
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu

name=x11-fonts-dejavu
version=2.32
release=1
source=(http://download.sourceforge.net/dejavu/dejavu-fonts-ttf-$version.tar.bz2)

build() {
    cd dejavu-fonts-ttf-$version
    mkdir -p $PKG/usr/share/fonts/dejavu $PKG/etc/fonts/conf.{d,avail}
    install -o root -g root -m 0644 ttf/*.ttf \
        $PKG/usr/share/fonts/dejavu/

    cd fontconfig

    install -o root -g root -m644 *.conf \
        $PKG/etc/fonts/conf.avail/

    for x in *.conf; do
        ln -s ../conf.avail/$x $PKG/etc/fonts/conf.d/
    done
}

Added opt/xaw3d/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: 3D-style graphics library for X 
# URL:         http://directory.fsf.org/wiki/Xaw3d
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  xorg-libxpm, xorg-libxmu, xorg-imake

name=xaw3d
version=1.6.2
release=1
source=(http://xorg.freedesktop.org/archive/individual/lib/libXaw3d-$version.tar.bz2)

build () {
    cd libXaw3d-$version
    ./configure --prefix=/usr
    make
    make DESTDIR=$PKG install
    rm -r $PKG/usr/share
}

Added opt/xchat/Pkgfile.

























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# Description: GTK+ based IRC client
# URL: http://www.xchat.org/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Simone Rota, sip at crux dot nu
# Depends on: openssl gtk perl

name=xchat
version=2.8.8
release=1
source=(http://www.xchat.org/files/source/2.8/$name-$version.tar.xz)

build() {
	cd $name-$version
	./configure --prefix=/usr \
		--enable-openssl \
		--enable-perl \
		--enable-ipv6 \
		--disable-gnome \
		--disable-textfe \
		--disable-python \
		--disable-tcl \
		--disable-nls
	make
	make DESTDIR=$PKG install
	rm -rf $PKG/usr/{etc,share}
	install -D $name.desktop $PKG/usr/share/applications/$name.desktop
	install -D $name.png $PKG/usr/share/pixmaps/$name.png
}

Added opt/xemacs-sumo/Pkgfile.



































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# Packager: Daniel Mueller, daniel at danm dot de
# Maintainer: Johannes Winkelmann, jw at smts dot ch
# URL: http://www.xemacs.org
# Description: All packages for xemacs
# Depends on: xemacs

name=xemacs-sumo
version=2009-02-17
release=1
source=(ftp://ftp.ch.xemacs.org/mirror/xemacs/packages/$name-$version.tar.bz2)
build(){
	install -d -m0755 $PKG/usr/lib/xemacs

	find xemacs-packages \
		-name "ChangeLog*" \
		-o -name "*README*" \
		-o -name "INSTALL*" \
		-o -name "*NEWS*" \
		-o -name "BUGS*" \
		-o -name "AUTHORS" \
		-o -name "COPYING" \
		-o -name "TODO*"|xargs rm -f

	rm -rf xemacs-packages/{info,etc/zenirc}

    	find xemacs-packages -name "*.el" | while read file; do
		[ -f ${file}c ] && rm -f $file
    	done

	mv xemacs-packages $PKG/usr/lib/xemacs/

	chown -R root:root $PKG
}

Added opt/xemacs/Pkgfile.





























































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# Packager: Daniel Mueller, daniel at danm dot de
# Maintainer: Johannes Winkelmann, jw at smts dot ch
# URL: http://www.xemacs.org
# Description: A highly customizable open source text editor and application development system
# Depends on: xorg-xbitmaps, libtiff, libpng, ncurses, lesstif 

name=xemacs
version=21.4.21
release=2
source=(http://ftp.xemacs.org/pub/xemacs/xemacs-21.4/$name-$version.tar.gz
	$name-$version-no_info.diff
	$name-$version-etc-blacklist)
        
build(){
	cd $name-$version
	patch -p0 -i $SRC/$name-$version-no_info.diff

	./configure --prefix=/usr --dynamic=yes --with-x11 \
		--with-menubars=lucid --with-scrollbars=lucid \
		--external-widget --with-jpeg --with-png --with-tiff \
		--with-ncurses --with-pop --with-xfs \
                --with-file-coding

	make
	make autoloads
	
	# create directory hierarchies
	mkdir -p $PKG/usr/{bin,lib,man/man1}
	mkdir -p $PKG/usr/lib/$name-$version/{etc,info,lisp}
	mkdir -p $PKG/usr/lib/$name/lock

	make prefix="$PKG/usr" install

	(cd $PKG/usr/lib/$name-$version/etc; \
		rm ctags.1; ln -s etags.1 ctags.1; \
		rm gnuattach.1; ln -s gnuserv.1 gnuattach.1; \
		rm gnuclient.1; ln -s gnuserv.1 gnuclient.1; \
		rm gnudoit.1; ln -s gnuserv.1 gnudoit.1)
	mv $PKG/usr/lib/$name-$version/etc/*.1 $PKG/usr/man/man1/

	(cd $PKG/usr/bin; rm $name; \
		mv $name-$version $name)

	# remove conflicting files (emacs)
	rm $PKG/usr/bin/{b2m,ctags,etags,rcs-checkin}
	rm $PKG/usr/man/man1/{ctags.1,etags.1,xemacs-ja.1}
	mv $PKG/usr/bin/$name-$version* $PKG/usr/bin/$name.dmp

	find $PKG/usr/lib/$name-$version -name "*.el" | while read file; do
		[ -f ${file}c ] && rm -f $file
	done

	rm -f $PKG/usr/lib/$name-$version/i686-pc-linux/include/{m,s}/README
	rm -f $PKG/usr/lib/$name-$version/lisp/{ChangeLog.*,{,term/}README}

	for i in $(< $SRC/$name-$version-etc-blacklist); do
	        rm -rf $PKG/usr/lib/$name-$version/etc/$i
        done

	# correct permissions
	chown -R root:root $PKG
}

Added opt/xemacs/xemacs-21.4.21-etc-blacklist.































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
*.sco
CHARSETS
CODING-STANDARDS
CODINGS
COPYING.LIB
DEBUG
ETAGS.*
Emacs.ad
FTP
InstallGuide
LPF
MORE.STUFF
ONEWS
OONEWS
ORDERS.*
PACKAGES
README
README.HYPERBOLE
README.OO-BROWSER
SERVICE
TUTORIAL.*
aliases.ksh
check_cygwin_setup.sh
editclient.sh
gnuserv.README
gtkrc
ms-kermit*
package-index.LATEST.gpg
refcard.*
sample.*
tests

Added opt/xemacs/xemacs-21.4.21-no_info.diff.











































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
--- Makefile.in.in~	2007-03-26 19:14:21.068194699 +0300
+++ Makefile.in.in	2007-03-26 19:14:29.244947286 +0300
@@ -245,7 +245,7 @@
 GENERATED_HEADERS = src/paths.h src/Emacs.ad.h src/config.h lwlib/config.h src/sheap-adjust.h
 GENERATED_LISP = lisp/finder-inf.el
 
-all: ${PROGNAME} all-elc info
+all: ${PROGNAME} all-elc
 
 ${PROGNAME}:	${GENERATED_HEADERS} ${MAKE_SUBDIR} ${GENERATED_LISP}
 
@@ -450,14 +450,13 @@
 	  for dir in \
 		lib/${inststaticdir} \
 	 	lib/${instvardir}/etc \
-		lib/${instvardir}/info \
 		lib/${instvardir}/lisp; do \
 	    if test ! -d ${exec_prefix}/$${dir}; then \
 	      $(LN_S) ${prefix}/$${dir} ${exec_prefix}/$${dir}; fi; \
 	  done; \
 	fi
 
-install-arch-indep: mkdir info
+install-arch-indep: mkdir
 	-@set ${COPYDESTS} ; \
 	 for dir in ${COPYDIR} ; do \
 	   if test "`(cd $$1 && $(pwd))`" != \
@@ -483,16 +482,6 @@
 		 (cd $${subdir} && $(RM) -r RCS CVS SCCS \#* *~) ; \
 	       done) ; \
 	 done
-	if test "`(cd ${srcdir}/info && $(pwd))`" != \
-		"`(cd ${infodir} && $(pwd))`" && cd ${srcdir}/info; then \
-	  if test ! -f ${infodir}/dir -a -f dir ; then \
-	    ${INSTALL_DATA} ${srcdir}/info/dir ${infodir}/dir ; \
-	  fi ; \
-	  for file in *.info* ; do \
-	    ${INSTALL_DATA} $${file} ${infodir}/$${file} ; \
-	    chmod 0644 ${infodir}/$${file}; \
-	  done ; \
-	fi
 	cd ${srcdir}/etc && \
 	  for page in xemacs etags ctags gnuserv gnuclient gnuattach gnudoit; do \
 	    ${INSTALL_DATA} ${srcdir}/etc/$${page}.1 ${mandir}/$${page}${manext} ; \
@@ -513,7 +502,7 @@
 ## (e.g. /usr/local/lib/${PROGNAME}-20.5/sparc-sun-solaris2.6), we use
 ## make-path instead of mkdir.  Not all mkdirs have the `-p' flag.
 mkdir: FRC.mkdir
-	${MAKEPATH} ${COPYDESTS} ${docdir} ${infodir} ${archlibdir} \
+	${MAKEPATH} ${COPYDESTS} ${docdir} ${archlibdir} \
 	  ${mandir} ${bindir} ${datadir} ${libdir} ${pkgdir} \
 	  ${sitelispdir} ${moduledir} ${sitemoduledir}
 

Added opt/xorg-font-artwiz-aleczapka/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: Artwiz X fonts revisited
# URL: http://artwizaleczapka.sourceforge.net/
# Maintainer: Lucas Hazel, lucas at die dot net dot au
# Packager: Matt Housh, jaeger at morpheus dot net
# Depends on: xorg-mkfontdir, xorg-mkfontscale

name=xorg-font-artwiz-aleczapka
version=1.3
release=1
source=(http://download.sourceforge.net/artwizaleczapka/artwiz-aleczapka-en-1.3.tar.bz2)

build() {
	mkdir -p $PKG/usr/lib/X11/fonts/artwiz-aleczapka
	cd artwiz-aleczapka-en-1.3
	install -o root -g root -m 0644 *.pcf \
		$PKG/usr/lib/X11/fonts/artwiz-aleczapka/
}

Added opt/xorg-font-artwiz-aleczapka/post-install.









>
>
>
>
1
2
3
4
#!/bin/sh

mkfontdir /usr/lib/X11/fonts/artwiz-aleczapka
mkfontscale /usr/lib/X11/fonts/artwiz-aleczapka

Added opt/xorg-font-msttcorefonts/Pkgfile.





































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# URL: http://corefonts.sourceforge.net/
# Description: Microsoft's Web Fonts (truetype)
# Maintainer: Lucas Hazel, lucas at die dot net dot au
# Packager: Matt Housh, jaeger at morpheus dot net
# Depends on: xorg-mkfontdir, xorg-mkfontscale

name=xorg-font-msttcorefonts
version=1.3
release=1
source=(http://www.cabextract.org.uk/cabextract-1.2.tar.gz \
	http://download.sourceforge.net/corefonts/andale32.exe \
	http://download.sourceforge.net/corefonts/arial32.exe \
	http://download.sourceforge.net/corefonts/arialb32.exe \
	http://download.sourceforge.net/corefonts/comic32.exe \
	http://download.sourceforge.net/corefonts/courie32.exe \
	http://download.sourceforge.net/corefonts/georgi32.exe \
	http://download.sourceforge.net/corefonts/impact32.exe \
	http://download.sourceforge.net/corefonts/times32.exe \
	http://download.sourceforge.net/corefonts/trebuc32.exe \
	http://download.sourceforge.net/corefonts/verdan32.exe \
	http://download.sourceforge.net/corefonts/wd97vwr32.exe \
	http://download.sourceforge.net/corefonts/webdin32.exe)

build() {
	(cd cabextract-1.2 && ./configure && make)
	for font in *.exe
	do
		cabextract-1.2/cabextract --lowercase $font
	done
	cabextract-1.2/cabextract --lowercase viewer1.cab
	mkdir -p $PKG/usr/lib/X11/fonts/msttcorefonts
	install -o root -g root -m 0644 *.ttf \
		$PKG/usr/lib/X11/fonts/msttcorefonts/
}

Added opt/xorg-font-msttcorefonts/post-install.









>
>
>
>
1
2
3
4
#!/bin/sh

mkfontdir /usr/lib/X11/fonts/msttcorefonts
mkfontscale /usr/lib/X11/fonts/msttcorefonts

Added opt/xpdf/Pkgfile.





























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# Description: PDF viewer
# URL:         http://foolabs.com/xpdf
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager:    Robert McMeekin, viper at mcmeekin dot info
# Depends on: lesstif

name=xpdf
version=3.03
release=1
source=(ftp://ftp.foolabs.com/pub/xpdf/$name-$version.tar.gz)

build() {
    cd $name-$version

    sed -i 's/\(s = XmStringCreateLocalized(\)/\1(char *)/g' xpdf/XPDFViewer.cc

    ./configure \
        --prefix=/usr \
        --with-Xm-library=/usr/lib \
        --with-Xm-includes=/usr/include/Xm \
        --with-freetype2-includes=/usr/include/freetype2 \
        --sysconfdir=/etc \
        --enable-a4-paper \
        --enable-opi \
        --with-t1-library=no \
        --mandir=/usr/man

    make
    make install DESTDIR=$PKG
}

Added opt/xpdf/README.





















>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
README for xpdf

Ghostscript is an optional dependency for xpdf.  To use ghostscript
fonts in xpdf uncomment the lines beginning with '#displayFontT1'
in /etc/xpdfrc.

You can also specify additional font mappings and use TrueType fonts
(again, see /etc/xpdfrc)

Thanks to Clare Johnstone for the tip.

Added opt/xsane/Pkgfile.





















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# Description: Scanner frontend and GIMP plugin for sane
# URL:         http://www.xsane.org
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  gimp, sane

name=xsane
version=0.998
release=1
source=(http://www.xsane.org/download/$name-$version.tar.gz)

build () {
    cd $name-$version
    ./configure --prefix=/usr \
                --mandir=/usr/man \
                --disable-nls \
                --enable-gtk2 \
                --enable-gimp2
    make
    make DESTDIR=$PKG install

    rm -r $PKG/usr/{sbin,share/sane/xsane/doc}
    rm $PKG/usr/share/sane/xsane/xsane-gpl.txt

    install -d $PKG/usr/lib/gimp/2.0/plug-ins
    ln -s /usr/bin/xsane $PKG/usr/lib/gimp/2.0/plug-ins
}

Added opt/xterm/Pkgfile.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Description: The standard termulator.
# URL: http://dickey.his.com/xterm/xterm.html
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Han Boetes, han at mijncomputer dot nl
# Depends on: xorg-libxaw xorg-font-alias xorg-font-misc-misc

name=xterm
version=277
release=1
source=(ftp://invisible-island.net/$name/$name-$version.tgz \
        configure.diff)

build() {
    cd $name-$version
    [ -z "$BASH_VERSION" ] && patch -p0 -i $SRC/configure.diff
    ./configure --prefix=/usr \
                --disable-nls \
                --enable-256-color \
                --enable-wide-chars
    make
    make install DESTDIR=$PKG
    chmod 0755 $PKG/usr/bin/$name
}

Added opt/xterm/configure.diff.

























>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
Fix a stupid bashism
--- configure.orig	2006-05-02 02:01:12.637169936 +0200
+++ configure	2006-05-02 02:01:30.861399432 +0200
@@ -5217,7 +5217,7 @@ if test "${with_app_defaults+set}" = set
   withval="$with_app_defaults"
 
 else
-  withval="${appsdir-'\$(exec_prefix)/lib/X11/app-defaults'}"
+  withval="${appsdir-'\$\(exec_prefix\)/lib/X11/app-defaults'}"
 fi;
 case ".$withval" in #(vi
 .\$\(*\)*|.\'*\'*) #(vi

Added opt/xxd/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xxd creates a hex dump of a given file or standard input.
# URL: N/A
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu

name=xxd
version=1.10
release=1
source=(http://grail.cba.csuohio.edu/~somos/$name-$version.tar.gz)

build() {
	cd $name-$version

	make

	install -d $PKG/usr/{bin,man/man1}
	install -m 755 xxd $PKG/usr/bin
	install -m 644 xxd.1 $PKG/usr/man/man1
}

Added opt/yapo/Pkgfile.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Description: yapo - Yet Another Ports Overview
# URL:         http://jue.li/crux/yapo
# Maintainer:  Juergen Daubert, jue at crux dot nu
# Depends on:  prt-get, ncurses-ruby

name=yapo
version=0.3.2
release=2
source=(http://jue.li/crux/$name/$name-$version.tar.gz)

build () {
    cd $name-$version
    sed -ri 's/(Config)($|[.])/YapoConfig\2/' yapo.rb
    make DESTDIR=$PKG install
}

Added opt/yapo/README.





























>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
README for yapo 0.2.x

To get working function keys F1-F4 with xterm append the 
following lines to /etc/X11/app-defaults/Xterm or use aterm, 
which works without these modifications:

*VT100.translations: #override \
   ~s<Key>F1:  string(0x1b) string("[11~") \n\
   ~s<Key>F2:  string(0x1b) string("[12~") \n\
   ~s<Key>F3:  string(0x1b) string("[13~") \n\
   ~s<Key>F4:  string(0x1b) string("[14~") \n\
	    
Note: this is not a problem of yapo, but of the standard 
configuration of xterm.

Added opt/yasm/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: A complete rewrite of the NASM assembler under the new BSD License
# URL: http://www.tortall.net/projects/yasm/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Brett Goulder, predatorfreak at dcaf-security dot org

name=yasm
version=1.2.0
release=1
source=(http://www.tortall.net/projects/yasm/releases/$name-$version.tar.gz)

build () {
	cd $name-$version
	./configure --prefix=/usr \
		--mandir=/usr/man
	make
	make DESTDIR=$PKG install
}

Added opt/zsh/Pkgfile.

























































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# Description: Very powerfull shell
# URL: http://www.zsh.org/
# Maintainer:  Thomas Penteker, tek at serverop dot de
# Packager: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: libpcre

name=zsh
version=4.3.17
release=1
source=(http://www.zsh.org/pub/$name-$version.tar.bz2 \
        zsh-lovers.1)

build() {
    cd $name-$version

    ./configure \
      --prefix=/usr \
      --mandir=/usr/man \
      --enable-etcdir=/etc/zsh \
      --enable-zshrc=/etc/zsh/zshrc \
      --enable-zshlogin=/etc/zsh/zshlogin \
      --enable-zshenv=/etc/zsh/zshenv \
      --enable-fndir=/usr/share/zsh/$version/functions \
      --enable-site-fndir=/usr/share/zsh/site-functions \
      --enable-zsh-mem \
      --enable-maildir-support \
      --enable-function-subdirs \
      --enable-pcre \
      --enable-restricted-r \
      --enable-lfs \
      --enable-cap \
      --with-curses-terminfo
    make
    make DESTDIR=$PKG install 

    install -m 644 $SRC/zsh-lovers.1 $PKG/usr/man/man1/

    install -d $PKG/bin
    ln -s /usr/bin/zsh $PKG/bin

    # These completion files break things for CRUX' pkgutils,
    # so remove them for now (see bug #381).
    rm $PKG/usr/share/zsh/$version/functions/Completion/Unix/_pkg{add,rm,info}
}

Added opt/zsh/README.

































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

REQUIREMENTS

PRE-INSTALL

POST-INSTALL

PRECAUTION

    If you don't remove libpcre before building this port libpcre will
    be a runtime dependency of zsh. This is a problem on systems where
    zsh needs to be available at boot before the directory containing
    libpcre.so is mounted. 

MISC
    zsh-lovers.1 is taken from http://www.grml.org/zsh/zsh-lovers.1

Added opt/zsh/zsh-lovers.1.



















































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
.\"     Title: zsh-lovers
.\"    Author: 
.\" Generator: DocBook XSL Stylesheets v1.73.2 <http://docbook.sf.net/>
.\"      Date: 03/12/2009
.\"    Manual: 
.\"    Source: 
.\"
.TH "ZSH\-LOVERS" "1" "03/12/2009" "" ""
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.SH "NAME"
zsh-lovers \- tips, tricks and examples for the Z shell
.SH "SYNOPSIS"
Just read it\&. ;\-)
.sp
.SH "OVERVIEW"
Whenever we look at the zsh manual we wonder why there are no examples or those simply things in (shell) life\&. The zsh contains many features, but there was no manpage with some examples (like procmailex(5))\&. That\'s why we wrote this manpage\&.
.sp
Most of the tricks and oneliner come from the mailinglists zsh\-users, zsh\-workers, google, newsgroups and from ourself\&. See section \fBLINKS\fR for details\&.
.sp
Note: This manpage (zsh\-lovers(1)) is \fBnot\fR an offical part of the Z shell! It\'s just a just for fun \- manpage ;) For comments, bugreports and feedback take a quick look at the section \fBBUGS\fR\&.
.sp
.SH "SHELL-SCRIPTING"
This section provides some examples for often needed shellscript\-stuff\&. Notice that you should not use otherwise most examples won\'t work\&. Parse options in shellscripts\&. Example taken from ZWS by Adam Chodorowski (http://www\&.chodorowski\&.com/projects/zws/):
.sp
.sp
.RS 4
.nf
parse_options()
{
    o_port=(\-p 9999)
    o_root=(\-r WWW)
    o_log=(\-d ZWS\&.log)

    zparseopts \-K \-\- p:=o_port r:=o_root l:=o_log h=o_help
    if [[ $? != 0 || "$o_help" != "" ]]; then
        echo Usage: $(basename "$0") "[\-p PORT] [\-r DIRECTORY]"
        exit 1
    fi

    port=$o_port[2]
    root=$o_root[2]
    log=$o_log[2]

    if [[ $root[1] != \'/\' ]]; then root="$PWD/$root"; fi
}
# now use the function:
parse_options $*
.fi
.RE
.SH "EXAMPLES"
Available subsections are \fBAliases\fR, \fBCompletion\fR, \fBUnsorted/Misc examples\fR, \fB(Recursive) Globbing \- Examples\fR, \fBModifiers usage\fR, \fBRedirection\-Examples\fR, \fBZMV\-Examples\fR and \fBModule\-Examples\fR\&.
.sp
.SS "ALIASES"
Suffix aliases are supported in zsh since version 4\&.2\&.0\&. Some examples:
.sp
.sp
.RS 4
.nf
alias \-s tex=vim
alias \-s html=w3m
alias \-s org=w3m
.fi
.RE
Now pressing return\-key after entering \fIfoobar\&.tex\fR starts vim with foobar\&.tex\&. Calling a html\-file runs browser w3m\&. \fIwww\&.zsh\&.org\fR and pressing enter starts w3m with argument www\&.zsh\&.org\&. Global aliases can be used anywhere in the command line\&. Example:
.sp
.sp
.RS 4
.nf
$ alias \-g C=\'| wc \-l\'
$ grep alias ~/\&.zsh/* C
443
.fi
.RE
Some more or less useful global aliases (choose whether they are useful or not for you on your own):
.sp
.sp
.RS 4
.nf
alias \-g \&.\&.\&.=\'\&.\&./\&.\&.\'
alias \-g \&.\&.\&.\&.=\'\&.\&./\&.\&./\&.\&.\'
alias \-g \&.\&.\&.\&.\&.=\'\&.\&./\&.\&./\&.\&./\&.\&.\'
alias \-g CA="2>&1 | cat \-A"
alias \-g C=\'| wc \-l\'
alias \-g D="DISPLAY=:0\&.0"
alias \-g DN=/dev/null
alias \-g ED="export DISPLAY=:0\&.0"
alias \-g EG=\'|& egrep\'
alias \-g EH=\'|& head\'
alias \-g EL=\'|& less\'
alias \-g ELS=\'|& less \-S\'
alias \-g ETL=\'|& tail \-20\'
alias \-g ET=\'|& tail\'
alias \-g F=\' | fmt \-\'
alias \-g G=\'| egrep\'
alias \-g H=\'| head\'
alias \-g HL=\'|& head \-20\'
alias \-g Sk="*~(*\&.bz2|*\&.gz|*\&.tgz|*\&.zip|*\&.z)"
alias \-g LL="2>&1 | less"
alias \-g L="| less"
alias \-g LS=\'| less \-S\'
alias \-g MM=\'| most\'
alias \-g M=\'| more\'
alias \-g NE="2> /dev/null"
alias \-g NS=\'| sort \-n\'
alias \-g NUL="> /dev/null 2>&1"
alias \-g PIPE=\'|\'
alias \-g R=\' > /c/aaa/tee\&.txt \'
alias \-g RNS=\'| sort \-nr\'
alias \-g S=\'| sort\'
alias \-g TL=\'| tail \-20\'
alias \-g T=\'| tail\'
alias \-g US=\'| sort \-u\'
alias \-g VM=/var/log/messages
alias \-g X0G=\'| xargs \-0 egrep\'
alias \-g X0=\'| xargs \-0\'
alias \-g XG=\'| xargs egrep\'
alias \-g X=\'| xargs\'
.fi
.RE
.SS "COMPLETION"
See also man 1 zshcompctl zshcompsys zshcompwid\&. zshcompctl is the old style of zsh programmable completion, zshcompsys is the new completion system, zshcompwid are the zsh completion widgets\&.
.sp
Some functions, like _apt and _dpkg, are very slow\&. You can use a cache in order to proxy the list of results (like the list of available debian packages) Use a cache:
.sp
.sp
.RS 4
.nf
zstyle \':completion:*\' use\-cache on
zstyle \':completion:*\' cache\-path ~/\&.zsh/cache
.fi
.RE
Prevent CVS files/directories from being completed:
.sp
.sp
.RS 4
.nf
zstyle \':completion:*:(all\-|)files\' ignored\-patterns \'(|*/)CVS\'
zstyle \':completion:*:cd:*\' ignored\-patterns \'(*/)#CVS\'
.fi
.RE
Fuzzy matching of completions for when you mistype them:
.sp
.sp
.RS 4
.nf
zstyle \':completion:*\' completer _complete _match _approximate
zstyle \':completion:*:match:*\' original only
zstyle \':completion:*:approximate:*\' max\-errors 1 numeric
.fi
.RE
And if you want the number of errors allowed by _approximate to increase with the length of what you have typed so far:
.sp
.sp
.RS 4
.nf
zstyle \-e \':completion:*:approximate:*\' \e
        max\-errors \'reply=($((($#PREFIX+$#SUFFIX)/3))numeric)\'
.fi
.RE
Ignore completion functions for commands you don\'t have:
.sp
.sp
.RS 4
.nf
zstyle \':completion:*:functions\' ignored\-patterns \'_*\'
.fi
.RE
With helper functions like:
.sp
.sp
.RS 4
.nf
xdvi() { command xdvi ${*:\-*\&.dvi(om[1])} }
.fi
.RE
you can avoid having to complete at all in many cases, but if you do, you might want to fall into menu selection immediately and to have the words sorted by time:
.sp
.sp
.RS 4
.nf
zstyle \':completion:*:*:xdvi:*\' menu yes select
zstyle \':completion:*:*:xdvi:*\' file\-sort time
.fi
.RE
Completing process IDs with menu selection:
.sp
.sp
.RS 4
.nf
zstyle \':completion:*:*:kill:*\' menu yes select
zstyle \':completion:*:kill:*\'   force\-list always
.fi
.RE
If you end up using a directory as argument, this will remove the trailing slash (usefull in ln)
.sp
.sp
.RS 4
.nf
zstyle \':completion:*\' squeeze\-slashes true
.fi
.RE
cd will never select the parent directory (e\&.g\&.: cd \&.\&./<TAB>):
.sp
.sp
.RS 4
.nf
zstyle \':completion:*:cd:*\' ignore\-parents parent pwd
.fi
.RE
Another method for \fIquick change directories\fR\&. Add this to your ~/\&.zshrc, then just enter \(lqcd \&...\&./dir\(rq
.sp
.sp
.RS 4
.nf
rationalise\-dot() {
  if [[ $LBUFFER = *\&.\&. ]]; then
    LBUFFER+=/\&.\&.
  else
    LBUFFER+=\&.
  fi
}
zle \-N rationalise\-dot
bindkey \&. rationalise\-dot
.fi
.RE
.SS "UNSORTED/MISC examples"
Hint: A list of valid glob Qualifiers can be found in zshexpn(1)\&. See \(lqman 1 zshexpn | less \-p\(rq Qualifiers for details\&.
.sp
.sp
.RS 4
.nf
# Get the names of all files that *don\'t* match a pattern *anywhere* on the
# file (and without ``\-L\'\' because its GNUish)
  $ print \-rl \-\- *(\&.^e{\'grep \-q pattern $REPLY\'})
  # or
  $ : *(\&.e{\'grep \-q pattern $REPLY || print \-r \-\- $REPLY\'})

# random numbers
  $ echo $[${RANDOM}%1000]     # random between 0\-999
  $ echo $[${RANDOM}%11+10]    # random between 10\-20
  $ echo ${(l:3::0:)${RANDOM}} # N digits long (3 digits)

# reverse a word
  $ echo "${(j::)${(@Oa)${(s::):\-hello}}}"

# Show newest directory
  $ ls \-ld *(/om[1])

# random array element
  $ FILES=( \&.\&.\&./files/* )
  $ feh $FILES[$RANDOM%$#FILES+1]

# cat first line in all files in this dir
  $ for file (*(ND\-\&.)) IFS= read \-re < $file

# test if a parameter is numeric
  $ if [[ $1 == <\-> ]] ; then
         echo numeric
    else
         echo non\-numeric
    fi

# Show me all the \&.c files for which there doesn\'t exist a \&.o file\&.
  $ print *\&.c(e_\'[[ ! \-e $REPLY:r\&.o ]]\'_)

# All files in /var/ that are not owned by root
  $ ls \-ld /var/*(^u:root)

# All files for which the owner hat read and execute permissions
  $ echo *(f:u+rx:)

# The same, but also others dont have execute permissions
  $ echo *(f:u+rx,o\-x:)

# brace expansion \- example
  $ X=(A B C)
  $ Y=(+ \-)
  $ print \-r \-\- $^X\&.$^Y
  A\&.+ A\&.\- B\&.+ B\&.\- C\&.+ C\&.\-

# Fetch the newest file containing the string \'fgractg*\&.log\' in the
# filename and contains the string \'ORA\-\' in it
  $ file=(fgractg*\&.log(Nm0om[1]))
  $ (($#file)) && grep \-l ORA\- $file
  # without Zsh
  $ files=$( find \&. \-name \&. \-o \-prune \-name \'fgractg*>log\' \-mtime 0 \-print )
  > if [ \-n "$files" ]; then
  >    IFS=\'
  > \'
  > set \-f
  > file=$(ls \-td $files | head \-1)
  > grep \-l ORA\- "$file"
  > fi

# keep specified number of child processes running until entire task finished
  $ zsh \-c \'sleep 1 & sleep 3 & sleep 2& print \-rl \-\- $jobtexts\'

# Remove zero length and \&.bak files in a directory
  $ rm \-i *(\&.L0) *\&.bak(\&.)

# print out files that dont have extensions
  $ printf \'%s\en\' ^?*\&.*
  $ printf \'%s\en\' ^?*\&.[^\&.]*(D)
  $ ls \-d \-\- ^?*\&.*(D)

# Finding files which does not contain a specific string
  $ print \-rl file* | comm \-2 \-3 \- <(grep \-l string file*)\'
  $ for f (file*(N)) grep \-q string $f || print \-r $f\'

# Show/Check whether a option is set or not\&. It works both with $options as
# with $builtins
  $ echo $options[correct]
  off
  $ $options[zle]
  on

# Count the number of directories on the stack
  $ print $((${${(z)${(f)"$(dirs \-v)"}[\-1]}[1]} + 1)) # or
  $ dirs \-v | awk \'{n=$1}END{print n+1}\'

# Matching all files which do not have a dot in filename
  $ ls *~*\&.*(\&.)

# Show only the ip\-address from ``ifconfig device\'\'
  # ifconfig from net\-tools (Linux)
  $ print ${${$(LC_ALL=C /sbin/ifconfig eth0)[7]}:gs/addr://}
  # ifconfig from 4\&.2BSD {Free,Net,Open}BSD
  $ print ${$(/sbin/ifconfig tun0)[6]}

# Ping all the IP addresses in a couple of class C\'s or all hosts
# into /etc/hosts
  $ for i in {1\&.\&.254}; do ping \-c 1 192\&.168\&.13\&.$i; done
  or
  $ I=1
  $ while ( [[ $I \-le 255 ]] ) ; do ping \-1 2 150\&.150\&.150\&.$I; let I++; done
  or
  $ for i in $(sed \'s/#\&.*//\' > /etc/hosts | awk \'{print $2}\')
  : do
  :    echo "Trying $i \&.\&.\&. "
  :    ping \-c 1 $i ;
  :    echo \'=============================\'
  : done

# load all available modules at startup
  $ typeset \-U m
  $ m=()
  $ for md ($module_path) m=($m $md/**/*(*e:\'REPLY=${REPLY#$md/}\'::r))
  $ zmodload \-i $m

# Rename all files within a directory such that their names get a numeral
# prefix in the default sort order\&.
  $ i=1; for j in *; do mv $j $i\&.$j; ((i++)); done
  $ i=1; for f in *; do mv $f $(echo $i | \e
    awk \'{ printf("%03d", $0)}\')\&.$f; ((i++)); done
  $ integer i=0; for f in *; do mv $f $[i+=1]\&.$f; done

# Find (and print) all symbolic links without a target within the current
# dirtree\&.
  $ $ file **/*(D@) | fgrep broken
  $ for i in **/*(D@); [[ \-f $i || \-d $i ]] || echo $i
  $ echo **/*(@\-^\&./=%p)
  $ print \-l **/*(\-@)

# List all plain files that do not have extensions listed in `fignore\'
  $ ls **/*~*(${~${(j/|/)fignore}})(\&.)
  # see above, but now omit executables
  $ ls **/*~*(${~${(j/|/)fignore}})(\&.^*)

# Print out files that dont have extensions (require *setopt extendedglob*
# and *setopt dotglob*)
  $ printf \'%s\en\' ^?*\&.*

# List files in reverse order sorted by name
  $ print \-rl \-\- *(On)
  or
  $ print \-rl \-\- *(^on)

# Synonymic to ``ps ax | awk \'{print $1}\'\'\'
  $ print \-l /proc/*/cwd(:h:t:s/self//)

# Get the PID of a process (without ``ps\'\', ``sed\'\', ``pgrep\'\', \&.\&.
# (under Linux)
  $ pid2 () {
  >   local i
  >   for i in /proc/<\->/stat
  > do
  >   [[ "$(< $i)" = *\e((${(j:|:)~@})\e)* ]] && echo $i:h:t
  > done
  > }

# for X in \'n\' \'o\' \'p\' \'q\' \'r\' \'s\' \'t\' \'u\' \'v\' \'w\' \'x\' \'y\'; do \&.\&.\&.
  $ for (( i = 36#n; i <= 36#y; i++ )); do
  >   print ${$(([##36]i)):l}
  > done
# or in combination with ``dc\'\'
  $ print {$((##n))\&.\&.$((##y))}P\e 10P | dc
# or with ``eval\'\'
  $ eval print \'${$(([##36]\'{$((36#n))\&.\&.$((36#y))}\')):l}\'

# foreach in one line of shell
  $ for f (*) print \-r \-\- $f

# copy a directory recursively without data/files
  $ dirs=(**/*(/))
  $ cd \-\- $dest_root
  $ mkdir \-p \-\- $dirs
# or without zsh
  $ find \&. \-type d \-exec env d="$dest_root" \e
    sh \-c \' exec mkdir \-p \-\- "$d/$1"\' \'{}\' \'{}\' \e;

# If `foo=23\'\', then print with 10 digit with leading \'0\'\&.
  $ foo=23
  $ print ${(r:10::0:)foo}

# find the name of all the files in their home directory that have
# more than 20 characters in their file names
  print \-rl $HOME/${(l:20::?:)~:\-}*

# Save arrays
  $ print \-r \-\- ${(qq)m} > $nameoffile      # save it
  $ eval "m=($(cat \-\- $nameoffile)"            # or use
  $ m=("${(@Q)${(z)"$(cat \-\- $nameoffile)"}}") # to restore it

# get a "ls \-l" on all the files in the tree that are younger than a
# specified age (e\&.g "ls \-l" all the files in the tree that where
# modified in the last 2 days)
  $ ls \-tld **/*(m\-2)
# This will give you a listing 1 file perl line (not à la ls \-R)\&.
# Think of an easy way to have a "ls \-R" style output with
# only files newer than 2 day old\&.
  $ for d (\&. \&./**/*(/)) {
  >   print \-r \-\- $\'\en\'${d}:
  >   cd $d && {
  >       l=(*(Nm\-2))
  >       (($#l)) && ls \-ltd \-\- $l
  >       cd ~\-
  >   }
  > }
# If you also want directories to be included even if their mtime
# is more than 2 days old:
  $ for d (\&. \&./**/*(/)) {
  >   print \-r \-\- $\'\en\'${d}:
  >   cd $d && {
  >      l=(*(N/,m\-2))
  >      (($#l)) && ls \-ltd \-\- $l
  >      cd ~\-
  >   }
  > }
# And if you want only the directories with mtime < 2 days to be listed:
  $ for d (\&. \&./**/*(N/m\-2)) {
  >   print \-r \-\- $\'\en\'${d}:
  >   cd $d && {
  >      l=(*(Nm\-2))
  >      (($#l)) && ls \-ltd \-\- $l
  >      cd ~\-
  >   }
  > }

# print 42 ``\-\'\'
  $ echo ${(l:42::\-:)}
# or use ``$COLUMS\'\'
  $ echo ${(l:$COLUMNS::\-:)}
# and now with colors (require autoload colors ;colors)
  $ echo "$bg[red]$fg[black]${(l:42::\-:)}"

# Redirect STDERR to a command like xless without redirecting STDOUT as well\&.
  $ foo 2>>(xless)
# but this executes the command asynchronously\&. To do it synchronously:
  $ { { foo 1>&3 } 2>&1 | xless } 3>&1

# Rename all MP3\-Files from name with spaces\&.mp3 to Name With Spaces\&.mp3
  $ for i in *\&.mp3; do
  >     mv $i ${${(C)i}:s/Mp3/mp3/}
  > done

# Match file names containing only digits and ending with \&.xml (require
# *setopt kshglob*)
  $ ls \-l [0\-9]##\&.xml
  $ ls \-l <0\->\&.xml

# Remove all "non txt" files
  $ rm \&./^*\&.txt

# Move 200 files from a directory into another
  $ mv \-\- *([1,200]) /another/Dir

# Convert images (foo\&.gif => foo\&.png):
  $ for i in **/*\&.gif; convert $i $i:r\&.png

# convert a collection of mp3 files to wave or cdr,
# e\&.g\&. file\&.wav \-> file\&.mp3)
  $ for i (\&./*\&.mp3){mpg321 \-\-w \- $i > ${i:r}\&.wav}

# Download with LaTeX2HTML  created Files (for example the ZSH\-Guide):
  $ for f in http://zsh\&.sunsite\&.dk/Guide/zshguide{,{01\&.\&.08}}\&.html; do
  >     lynx \-source $f >${f:t}
  > done

# Move all files in dir1 and dir2 that have line counts greater than 10 to
# another directory say "/more10"
  $ mv dir[12]/**/*\&.cr(\-\&.e{\'((`wc \-l < $REPLY` > 10))\'}) /more10

# Make with dpkg a master\-list of everyfile that it has installed
  $ diff <(find / | sort) <(cat /var/lib/dpkg/info/*\&.list | sort)

# Replace this fucking Escape\-Sequences:
  $ autoload colors ; colors
  $ print "$bg[cyan]$fg[blue]You are a idiot" >> /dev/pts/3

# Get ASCII value of a character
  $ char=N ; print $((#char))

# Filename "Erweiterung"
# Note: The (N) says to use the nullglob option for this particular
# glob pattern\&.
  $ for i in *\&.o(N); do
  >     rm $i
  > done

# Rename files; i\&. e\&. FOO to foo and bar to BAR
  $ for i in *(\&.); mv $i ${i:l} # `FOO\' to `foo\'
  $ for i in *(\&.); mv $i ${i:u} # `bar to `BAR\'

# Show all suid\-files in $PATH
  $ ls \-latg ${(s\&.:\&.)PATH} | grep \'^\&.\&.\&.s\'
# or more complex ;)
  $ print \-l ${^path}/*(Ns,S)
# or show only executables with a user given pattern
  $ print \-l ${^path}/*vim*(*N)

# gzip files when containing a certain string
  $ gzip ${(ps:\e0:)"$(grep \-lZ foobar \&./*\&.txt(\&.))"}

# A small  one\-liner, that reads from stdin and prints to stdout the first
# unique line i\&. e\&. does not print lines that have been printed before
# (this is similar to the unique command, but unique can only handle
# adjacent lines)\&.
  $ IFS=$\'\en\en\'; print \-rl \-\- ${(Oau)${(Oa)$(cat file;echo \&.)[1,\-2]}}

# Lists every executable in PATH
  $ print \-l ${^path}/*(\-*N)

# Match all \&.c files in all subdirectories, _except_ any SCCS subdirectories?
  $ ls **/*\&.c~(*/)#SCCS/*

# List all `README\' \- files case\-insensitive with max\&. one typo
  $ ls **/*(#ia2)readme

# case insensitive checking for variables
  $ if [[ $OSTYPE == (#i)LINUX*(#I) ]]; then
  >    echo "Penguin on board\&."
  > else
  >    echo "Not a Linux\&."
  > fi
.fi
.RE
.SS "(Recursive) Globbing \- Examples"
A list of valid glob Qualifiers can be found in zshexpn(1)\&. \fBNote:\fR **/ is equivalent to (*/)#! For example:
.sp
.sp
.RS 4
.nf
$ print (*/)#zsh_us\&.ps
zsh\-4\&.2\&.3/Doc/zsh_us\&.ps
$ print **/zsh_us\&.ps
zsh\-4\&.2\&.3/Doc/zsh_us\&.ps
.fi
.RE
.sp
.RS 4
.nf
# Search for `README\' in all Subdirectories
  $ ls \-l **/README

# find directories that contain both "index\&.php" and "index\&.html", or in
# general, directories that contain more than one file matching "index\&.*"
  $ ls **/*(D/e:\'[[ \-e $REPLY/index\&.php && \-e $REPLY/index\&.html ]]\':)
  # or
  $ ls **/*(D/e:\'l=($REPLY/index\&.*(N)); (( $#l >= 2 ))\':)

# Find command to search for directory name instead of basename
  $ print \-rl /**/*~^*/path(|/*)
  # or \- without Zsh
  $ find / | grep \-e /path/ \-e \'/path$\'

# Print he path of the directories holding the ten biggest C regular files
# in the current directory and subdirectories\&.
  $ print \-rl \-\- **/*\&.c(D\&.OL[1,10]:h) | sort \-u

# Find files with size == 0 and send a mail
  $ files=(**/*(ND\&.L0m+0m\-2))
  > (( $#files > 0 )) && print \-rl \-\- $files | \e
    mailx \-s "empty files" foo@bar\&.tdl

# recursive chmod
  $ chmod 700 **/(\&.) # Only files
  $ chmod 700 **/(/) # Only directories

# print out all of the files in that directory in 2 columns
  $ print \-rC2 \-\- ${1:[\&.\&.\&.]}/*(D:t)
#            ^\- number ob columns
# or \- if you feel concerned about special characters \- use
  $ list=(${1:[\&.\&.\&.]}/*(ND:t))
  $ (($#list)) && print \-rC2 \-\- ${(V)list}

# Search all files in /home/*/*\-mail/ with a setting ``chmod \-s\'\' flag
# (recursive, include  dotfiles) remove the setgid/setuid flag and print
# a message
  $ chmod \-s /home/*/*\-mail(DNs,S) /home/*/*\-mail/**/*(DNs,S))
# or with a small script
  $ for file (/home/*/*\-mail(DNs,S) /home/*/*\-mail/**/*(DNs,S)) {
  >    print \-r \-\- $file
  >    chmod \-s $file && print \-r fixed $file
  > }
# or use ``zargs\'\' (require autoload zargs) prevent the arg list too
# long error
  $ zargs /home/*/*\-mail(DNs,S) /home/*/*\-mail/**/*(DNs,S)) \-\- chmod \-s

# List files beginning at `foo23\' upwards (foo23, foo24, foo25, \&.\&.)
  $ ls \-l foo<23\->

# get all files that begin with the date strings from June 4 through
# June 9 of 2004
  $ ls \-l 200406{04\&.\&.10}*(N)
# or if they are of the form 200406XX (require ``setopt extended_glob\'\'
  $ ls \-l 200306<4\-10>\&.*

# remove spaces from filenames
  $ for a in \&./**/*\e *(Dod); do mv $a ${a:h}/${a:t:gs/ /_}; done

# Show only all *\&.c and *\&.h \- Files
  $ ls \-l *\&.(c|h)

# Show only all *\&.c \- files and ignore `foo\&.c\'
  $ ls *\&.c~foo\&.c

# show data to *really* binary format
  $ zsh \-ec \'while {} {printf %\&.8x $n;repeat 8 \e
  > {read \-ku0 a printf \e %\&.8d $(([##2]#a))};print;((n+=8))}\' < binary

# Show only world\-readable files
  $ ls \-l *(R)

# List files in the current directory are not writable by the owner
  $ print \-l ~/*(ND\&.^w)

# find and delete the files which are older than a given parameter
# (seconds/minutes/hours)
  # deletes all regular file in /Dir that are older than 3 hours
   $ rm \-f /Dir/**/*(\&.mh+3)
  # deletes all symlinks in /Dir that are older than 3 minutes
   $ rm \-f /Dir/**/*(@mm+3)
  # deletes all non dirs in /Dir that are older than 30 seconds
   $ rm \-f /Dir/**/*(ms+30^/)
  # deletes all folders, sub\-folders and files older than one hour
   $ rm \&./**/*(\&.Dmh+1,\&.DL0)
  # deletes all files more than 6 hours old
   $ rm \-f **/*(mh+6)
  # removes all files but the ten newer ones (delete all but last 10
  # files in a directory)
   $ rm \&./*(Om[1,\-11])
 Note: If you get a arg list too long, you use the builtin rm\&. For
       example:
   $ zmodload zsh/files ; rm \-f **/*(mh+6)
  or use the zargs function:
   $ autoload zargs ; zargs **/*(mh+6) \-\- rm \-f

# A User\'s Guide to the Z\-Shell /5\&.9: Filename Generation and Pattern
# Matching find all files in all subdirectories, searching recursively,
# which have a given name, case insensitive, are at least 50 KB large,
# no more than a week old and owned by the root user, and allowing up
# to a single error in the spelling of the name\&. In fact, the required
# expression looks like this:
  $ ls **/(#ia1)name(LK+50mw\-1u0)

# Change the UID from 102 to 666
  $ chown 666 **/*(u102)

# List all files which have not been updated since last 10 hours
  $ print \-rl \-\- *(Dmh+10^/)

# delete only the oldest file in a directory
  $ rm \&./*filename*(Om[1])

# Sort the output from `ls \-l\' by file size
  $ ls \-fld *(OL)

# find most recent file in a directory
  $ setopt dotglob ; print directory/**/*(om[1])

# Show only empty files which nor `group\' or `world writable\'
  $ ls *(L0f\&.go\-w\&.)

# Find \- and list \- the ten newest files in directories and subdirs\&.
# (recursive)
  $ print \-rl \-\- **/*(Dom[1,10])

# Print only 5 lines by "ls" command (like ``ls \-laS | head \-n 5\'\')\&.
  $ ls \-fl *(DOL[1,5])

# Display the 5\-10 last modified files\&.
  $ print \-rl \-\- /path/to/dir/**/*(D\&.om[5,10])

# Find all files without a valid owner\&.
  $ chmod someuser /**/*(D^u:${(j\&.:u:\&.)${(f)"$(</etc/passwd)"}%%:*}:)

# Find all the empty directories in a tree\&.
  $ for f in ***/*(/l2); do foo=($f/*(N)); [[ \-z $foo ]] && print $f; done
# Note:Since Zsh 4\&.2\&.1 the glob qualifier F indicates a non\-empty directory\&.
# Hence *(F) indicates all subdirectories with entries, *(/^F) means all
# subdirectories with no entries\&.
  $ ls \-ld *(/^F)

# Remove empty directories afterwards\&.
  $ rmdir \&./**/*(/od) 2> /dev/null

# Show only files which are owned by group `users\'\&.
  $ ls \-l *(G[users])
.fi
.RE
.SS "Modifiers usage"
Modifiers are a powerful mechanism that let you modify the results returned by parameter, filename and history expansion\&. See zshexpn(1) for details\&.
.sp
.sp
.RS 4
.nf
# NOTE: Zsh 4\&.3\&.4 needed!
  $ autoload \-U age
# files modified today
  $ print *(e:age today now:)
# files modified since 5 pm
  $ print *(e\-age 17:00 now\-)
# \&.\&.\&. since 5 o\'clock yesterda
  $ print *(e\-age yesterday,17:00 now\-)
# \&.\&.\&. from last Christmas before today
  $ print *(e\-age 2006/12/25 today\-)
# \&.\&.\&. before yesterday
  $ print *(e\-age 1970/01/01 yesterday\-)
# all files modified between the start of those dates
  $ print *(e:age 2006/10/04 2006/10/09:)
# all files modified on that date
  $ print *(e:age 2006/10/04:)
# Supply times\&.
  $ print *(e\-age 2006/10/04:10:15 2006/10/04:10:45\-)

# Remove a trailing pathname component, leaving the head\&. This works like
# `dirname\'\&.
  $ echo =ls(:h)
  /bin

# Remove all leading pathname components, leaving the tail\&. This works
# like `basename\'\&.
  $ echo =ls(:t)
  ls

# Remove the suffix from each file (*\&.sh in this example)
   $f:e is $f file extension
   :h \-\-> head (dirname)
   :t \-\-> tail (basename)
   :r \-\-> rest (extension removed)
  $ for f (*\&.sh) mv $f $f:r

# Remove a filename extension of the form `\&.xxx\', leaving the root name\&.
  $ echo $PWD
  /usr/src/linux
  $ echo $PWD:t
  linux

# Remove all but the extension\&.
  $ foo=23\&.42
  $ echo $foo
  23\&.42
  $ echo $foo:e
  42

# Print the new command but do not execute it\&. Only works with history
# expansion\&.
  $ echo =ls(:h)
  /bin
  $ !echo:p
  $ echo =ls(:h)

# Quote the substituted words, escaping further substitutions\&.
  $ bar="23\'42"
  $ echo $bar
  23\'42
  $ echo $bar:q
  23\e\'42

# Convert the words to all lowercase\&.
  $ bar=FOOBAR
  $ echo $bar
  FOOBAR
  $ echo $bar:l
  foobar

# Convert the words to all uppercase\&.
  $ bar=foobar
  $ echo $bar
  foobar
  $ echo $bar:u
  FOOBAR

# convert 1st char of a word to uppercase
  $ foo="one two three four"
  $ print \-r \-\- "${(C)foo}"
  One Two Three Four
.fi
.RE
.SS "Redirection\-Examples"
See zshmisc(1) for more informations (or less ${^fpath}/zmv(N))
.sp
.sp
.RS 4
.nf
# Append `exit 1\' at the end of all *\&.sh \- files
  $ echo "exit 1" >> *\&.sh

# adding files to foobar\&.tar\&.gz
  $ eval set =(gunzip < foobar\&.tar\&.gz) \'
     tar rf $1 additional\&.txt &&gzip < $1 > foobar\&.tar\&.gz\'

# Redirect output to a file AND display on screen
  $ foobar >&1 > file1 > file2 > \&.\&.

# pipe single output to multiple inputs
  $ zcat foobar\&.Z >> (gzip \-9 > file1\&.gz) \e
      >> (bzip2 \-9 > file1\&.bz2) \e
      >> (acb \-\-best > file1\&.acb)

# Append /etc/services at the end of file `foo\' and `bar\'
  $ cat /etc/services >> foo >> bar

# Pipe STDERR
  $ echo An error >&2 2>&1 | sed \-e \'s/A/I/\'

# send standard output of one process to standard input of several processes
# in the pipeline
  $ setopt multios
  $ process1 > >(process1) > >(process2)

# initializing a variable and simultaneously keeping terminal output
  $ setopt multios
  $ { a=$(command >&1 >& 3 3 > &\- 2>&1);} 3>&1

# redirect stderr two times
  $ setopt multios ; program 2> file2 > file1 2>&1

# Duplicating stdout and stderr to a logfile
  $ exec 3>&1 > logfile 2>&2 2>&1 >&3 3>&\-

# redirect stderr (only) to a file and to orig\&. stderr:
  $ command 2>&2 2>stderr
# redirect stderr and stdout to separate files and both to orig\&. stdout:
  $ command 2>&1 1>&1 2>stderr 1>stdout
# redirect stderr and stdout to separate files and stdout to orig\&. stdout
# AND stderr to orig\&. stderr:
  $ command 2>&2 1>&1 2>stderr 1>stdout

# More fun with STDERR ;)
  $ \&./my\-script\&.sh 2> >(grep \-v moron >error\&.log)|process\-output >output\&.log
  $  echo "Thats STDOUT" >>(sed \'s/stdout/another example/\' > foobar)
.fi
.RE
.SS "ZMV\-Examples (require autoload zmv)"
\fBNote:\fR \fI\-n\fR means no execution (just print what would happen)\&. At
.sp
.sp
.RS 4
.nf
# Remove illegal characters in a fat32 file system\&. Illegal characters are
#   / :  ;  *  ?  "  <  >  |
# NOTE: ``\-Q\'\' and (D) is to include hidden files\&.
  $ unwanted=\'[:;*?\e"<>|]\'
  $ zmv \-Q "(**/)(*$~unwanted*)(D)" \'$1${2//$~unwanted/}\'

# Changing part of a filename (i\&. e\&. "file\-hell\&.name" \-> "file\-heaven\&.name")
  $ zmv \'(*)hell(*)\' \'${1}heaven${2}\'
  # or
  $ zmv \'*\' \'$f:s/hell/heaven/\'

# remove round bracket within filenames
# i\&. e\&. foo\-(bar)\&.avi \-> foo\-bar\&.avi
  $ zmv \'*\' \'${f//[()]/}\'

# serially all files (foo\&.foo > 1\&.foo, fnord\&.foo > 2\&.foo, \&.\&.)
  $ autoload zmv
  $ ls *
  1\&.c  asd\&.foo  bla\&.foo  fnord\&.foo  foo\&.fnord  foo\&.foo
  $ c=1 zmv \'*\&.foo\' \'$((c++))\&.foo\'
  $ ls *
  1\&.c  1\&.foo  2\&.foo  3\&.foo  4\&.foo  foo\&.fnord

# Rename "file\&.with\&.many\&.dots\&.txt" by substituting dots (exept for the last
# one!) with a space
  $ touch {1\&.\&.20}\-file\&.with\&.many\&.dots\&.txt
  $ zmv \'(*\&.*)(\&.*)\' \'${1//\&./ }$2\'

# Remove the first 4 chars from a filename
  $ zmv \-n \'*\' \'$f[5,\-1]\' # NOTE: The "5" is NOT a mistake in writing!

# Rename names of all files under the current Dir to lower case, but keep
# dirnames as\-is\&.
  $ zmv \-Qv \'(**/)(*)(\&.D)\' \'$1${(L)2}\'

# replace all 4th character, which is "1",  with "2" and so on
  $ autoload \-U zmv
  $ zmv \'(???)1(???[1\-4]\&.txt)\' \'${1}2${2}\'

# Remove the first 15 characters from a string
  $ touch 111111111111111{a\-z}
  $ autoload zmv
  $ zmv \'*\' \'$f[16,\-1]\'

# Replace spaces (any number of them) with a single dash in file names
  $ autload zmv
  $ zmv \-n \'(**/)(* *)\' \'$1${2//( #\-## #| ##)/\-}\'
  # or \- with Bash
  $ find \&. \-depth \-name \'* *\' \-exec bash \-c \'
  > shopt \-s extglob
  > file=$1
  > dir=${file%/*}
  > name=${file##*/}
  > newname=${name//*([ \-]) *([ \-])/\-}
  > mv \-i \-\- "$file" "$Dir/$newname"\' {} {} \e;

# Clean up file names and remove special characters
  $ autoload zmv
  $ zmv \-n \'(**/)(*)\' \'$1${2//[^A\-Za\-z0\-9\&._]/_}\'

# Add *\&.py to a bunch of python scripts in a directory (some of them end
# in *\&.py and give them all a proper extension
  $ autoload zmv
  $ zmv \-n \'(**/)(con*)(#qe,file $REPLY | grep "python script",)\' \'$1$2\&.py\'

# lowercase all extensions (i\&. e\&. *\&.JPG) incl\&. subfolders
  $ autoload zmv
  $ zmv \'(**/)(*)\&.(#i)jpg\' \'$1$2\&.jpg\'
  # Or \- without Zsh
  $ find Dir \-name \'*\&.[jJ][pP][gG]\' \-print | while read f
  > do
  >      case $f in
  >       *\&.jpg) ;
  >       *) mv "$f" "${f%\&.*}\&.jpg" ;
  >       esac
  > done

# remove leading zeros from file extension
  $ autoload zmv
  $ ls
  filename\&.001  filename\&.003  filename\&.005  filename\&.007  filename\&.009
  filename\&.002  filename\&.004  filename\&.006  filename\&.008  filename\&.010
  $ zmv \'(filename\&.)0##(?*)\' \'$1$2\'
  $ ls
  filename\&.1  filename\&.10  filename\&.2  filename\&.3  filename\&.4  filename\&.5 \&.\&.

# renumber files\&.
  $ autoload zmv
  $ ls *
  foo_10\&.jpg  foo_2\&.jpg  foo_3\&.jpg  foo_4\&.jpg  foo_5\&.jpg  foo_6\&.jpg \&.\&.
  $ zmv \-fQ \'foo_(<0\->)\&.jpg(\&.nOn)\' \'foo_$(($1 + 1))\&.jpg\'
  $ ls *
  foo_10\&.jpg  foo_11\&.jpg  foo_3\&.jpg  foo_4\&.jpg  foo_5\&.jpg  \&.\&.\&.

# adding leading zeros to a filename (1\&.jpg \-> 001\&.jpg, \&.\&.
  $ autoload zmv
  $ zmv \'(<1\->)\&.jpg\' \'${(l:3::0:)1}\&.jpg\'

# See above, but now only files with a filename >= 30 chars
  $ autoload zmv
  $ c=1 zmv "${(l:30\-4::?:)}*\&.foo" \'$((c++))\&.foo\'

# Replace spaces in filenames with a underline
  $ autoload zmv
  $ zmv \'* *\' \'$f:gs/ /_\'

# Change the suffix from *\&.sh to *\&.pl
  $ autoload zmv
  $ zmv \-W \'*\&.sh\' \'*\&.pl\'

# Add a ""\&.txt" extension to all the files within ${HOME}
  # ``\-\&.\'\' is to only rename regular files or symlinks to regular files,
  # ``D\'\' is to also rename hidden files (dotfiles))
  $ autoload zmv
  $ zmv \-Q \'/home/**/*(D\-\&.)\' \'$f\&.txt\'
  # Or to only rename files that don\'t have an extension:
  $ zmv \-Q \'/home/**/^?*\&.*(D\-\&.)\' \'$f\&.txt\'

# Recursively change filenames with characters ? [ ] / = + < > ; : " , \- *
  $ autoload zmv
  $ chars=\'[][?=+<>;",*\-]\'
  $ zmv \'(**/)(*)\' \'$1${2//$~chars/%}\'

# Removing single quote from filenames (recursively)
  $ autoload zmv
  $ zmv \-Q "(**/)(*\'*)(D)" "\e$1\e${2//\'/}"

# When a new file arrives (named file\&.txt) rename all files in order to
# get (e\&. g\&. file119\&.txt becomes file120\&.txt, file118\&.txt becomes
# file119\&.txt and so on ending with file\&.txt becoming file1\&.txt
  $ autoload zmv
  $ zmv \-fQ \'file([0\-9]##)\&.txt(On)\' \'file$(($1 + 1))\&.txt\'

# lowercase/uppercase all files/directories
  $ autoload zmv
  $ zmv \'(*)\' \'${(L)1}\' # lowercase
  $ zmv \'(*)\' \'${(U)1}\' # uppercase

# Remove the suffix *\&.c from all C\-Files
  $ autoload zmv
  $ zmv \'(*)\&.c\' \'$1\'

# Uppercase only the first letter of all *\&.mp3 \- files
  $ autoload zmv
  $ zmv \'([a\-z])(*)\&.mp3\' \'${(C)1}$2\&.mp3\'

# Copy the target `README\' in same directory as each `Makefile\'
  $ autoload zmv
  $ zmv \-C \'(**/)Makefile\' \'${1}README\'

# Removing single quote from filenames (recursively)
  $ autoload zmv
  $ zmv \-Q "(**/)(*\'*)(D)" "\e$1\e${2//\'/}"

# Rename pic1\&.jpg, pic2\&.jpg, \&.\&. to pic0001\&.jpg, pic0002\&.jpg, \&.\&.
  $ autoload zmv
  $ zmv \'pic(*)\&.jpg\' \'pic${(l:4::0:)1}\&.jpg\'
  $ zmv \'(**/)pic(*)\&.jpg\' \'$1/pic${(l:4::0:)2}\&.jpg\' # recursively
.fi
.RE
.SS "Module\-Examples"
Please read zshmodules(1) first!
.sp
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
zsh/pcre (require zmodload zsh/pcre)
.RS
.sp
.RS 4
.nf
# Copy files of a certain period (date indicated in the filenames)
  $ zmodload zsh/pcre
  $ ls \-d \-\- *(e:\'[[ $REPLY \-pcre\-match pcre\-regexp ]]\':)
  # or
  $ m() { [[ $1 \-pcre\-match pcre\-regexp ]] }
  $ ls \-d \-\- *(+m)
.fi
.RE
.RE
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
zsh/clone (require zmodload zsh/clone)
.RS
.sp
.RS 4
.nf
# Creates a forked instance of the current shell ($! is set to zero) and
# execute ``command\'\' on /dev/tty8 (for this example)\&.
  $ zmodload zsh/clone
  $ clone /dev/tty8 && (($! == 0)) && exec command
.fi
.RE
.RE
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
zsh/datetime (require zmodload zsh/datetime)
.RS
.sp
.RS 4
.nf
  $ zmodload zsh/datetime
  $ alias datereplacement=\'strftime "%Y\-%m\-%d" $EPOCHSECONDS\'
  $ export DATE=`datereplacement`
  $ echo $DATE

#  strip date from filename
  $ $ zmodload zsh/datetime
  $ setopt extendedglob
  $ touch aaa_bbb_20041212_c\&.dat eee_fff_20051019_g\&.dat
  $ strftime \-s pattern \e
    \'???_???_<0\-%Y%m%d>_?\&.dat\' $((EPOCHSECONDS \- 365 * 24 * 60 * 60 / 2))
  $ print \-rl \-\- $~pattern
  aaa_bbb_20041212_c\&.dat
  $ print \-rl \-\- $pattern
  ???_???_<0\-20050815>_?\&.dat

# Search files size == 0, to be based on the file name containing a date
# rather than the "last modified" date of the file
  $ zmodload \-i zsh/datetime
  $ strftime \-s file "abc_de_%m%d%Y\&.dat" $((EPOCHSECONDS \- 24 * 60 * 60 ))
  $ files=(**/$file(N\&.L0))
  $ (( $#files > 0 )) && print \-rl \-\- $files | \e
    mailx \-s "empty files"  foo@bar\&.tdl
.fi
.RE
.RE
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
zsh/stat (require zmodload zsh/stat)
.RS
.sp
.RS 4
.nf
# test if a symbolic link links to a certain file
  $ zmodload \-i zsh/stat
  $ ! stat \-LH s foo\&.ln || [[ $s[link] != "foo\&.exe" ]] || ln \-sf foo\&.exe foo\&.ln

# comparing file dates
  $ zmodload zsh/stat
  $ file1=foo
  $ file2=bar
  $ touch bar & sleep 5 & touch foo
  $ echo $file1 is $(($(stat +mtime $file2) \- \e
    $(stat +mtime $file1))) seconds older than $file2\&.
  bar is 5 seconds older than foo

# list the files of a disk smaller than some other file
  $ zmodload zsh/stat
  $ stat \-A max +size some\-other\-file
  $ print \-rl \&./**/*(D\&.L\-$max)

# List the top 100 biggest files in a disk
  $ zmodload zsh/stat
  $ ls \-fld \&./**/*(d`stat +device \&.`OL[1,100])

# Get only the user name and the file names from (like
# ls \-l * | awk \'{print $3" " $8}\')
  $ zmodload zsh/stat
  $ for file; do
  >   stat \-sA user +uid \-\- "$file" &&
  >     print \-r \-\- "$user" "$file"
  > done

# get the difference between actual bytes of file and allocated bytes of file
  $ zmodload zsh/stat
  $ print $(($(stat +block \-\- file) * 512 \- $(stat +size \-\- file)))

# Find largest file
# ``D\'\'  : to include dot files (d lowercase is for device)
# ``O\'\'  : reverse Ordered (o lowercase for non\-reverse order)
# ``L\'\'  : by file Length (l is for number of links)
# ``[1]\'\': return only first one
  $ zmodload zsh/stat
  $ stat +size \&./*(DOL[1])

# file size in bytes
  $ zmodload zsh/stat
  $ stat \-L +size ~/\&.zshrc
  4707

# Delete files in a directory that hasn\'t been accessed in the last ten days
# and send ONE mail to the owner of the files informing him/her of the files\'
# deletion\&.
  $ zmodload zsh/stat zsh/files
  $ typeset \-A f; f=()
  $ rm \-f /path/**/*(\&.a+10e{\'stat \-sA u +uidr $REPLY; f[$u]="$f[$u]$REPLY"\'})
  $ for user (${(k)f}) {print \-rn $f[$user]|mailx \-s "\&.\&.\&." $user}

# Get a "ls \-l" on all the files in the tree that are younger than a
# specified age
  $ zmodload zsh/stat
  $ for d (\&. \&./**/*(N/m\-2))
  >   print \-r \-\- $\'\en\'$d: && cd $d && {
  >      for f (*(Nm\-2om))
  >   stat \-F \'%b %d %H:%M\' \-LsAs \-\- $f &&
  >   print \-r \-\- $s[3] ${(l:4:)s[4]} ${(l:8:)s[5]} \e
  >   ${(l:8:)s[6]} ${(l:8:)s[8]} $s[10] $f ${s[14]:+\-> $s[14]}
  >   cd ~\-
  > }

# get file creation date
  $ zmodload zsh/stat
  $ stat \-F \'%d %m %Y\' +mtime ~/\&.zshrc
  30 06 2004
  $ stat \-F \'%D\' +mtime ~/\&.zshrc
  06/30/04
.fi
.RE
.RE
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
zsh/files (require zmodload zsh/files)
.RS
.sp
.RS 4
.nf
# search a directory for files containing a certain string then copy those
# files to another directory\&.
  $ zmodload zsh/files
  $ IFS=$\'\e0\'
  $ cp $(grep \-lZr foobar \&.) otherdirectory
.fi
.RE
.RE
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
zsh/mapfile (require zmodload zsh/mapfile)
.RS
.sp
.RS 4
.nf
# grepping for two patterns
  $ zmodload zsh/mapfile
  $ pattern1="foo"
  $ pattern2="bar foo"
  $ print \-l \&./**/*(DN\&.e{\'z=$mapfile[$REPLY] && [[ $z = *$pattern1* && \e
    $z = *$pattern2* ]]\'})
# or a solution in combination with zsh/pcre
  $ zmodload \-i zsh/mapfile zsh/pcre
  $ pattern1="foo"
  $ pattern2="bar foo"
  $ pcre_compile "(?s)(?=\&.*?$pattern1)\&.*?$pattern2"
  $ pcre_study
  $ print \-l \&./**/*(DN\&.e{\'pcre_match $mapfile[$REPLY]\'})

# equivalent for ``less /etc/passwd | grep \-v root\'\'
  $ zmodload zsh/mapfile
  $ IFS=$\'\en\en\'
  $ print \-rl \-\- ${${=mapfile[/etc/passwd]}:#*root*}
# or \- for case insensitive
  $ setopt extendedglob
  $ print \-rl \-\- ${${=mapfile[/etc/passwd]}:#*(#i)root*}

# If a XML\-file contains stuff like ``<TAGA/>\'\' and ``<TAGB/>\'\', number
# this empty tags (ones ending in \'/>\') so if encountered in the same
# order, the preceeding tags would become ``<TAGA/>1</TAGA>\'\' and
# ``<TAGB/>2</TAGB>\'\'
  $ zmodload zsh/mapfile
  $ cnt=0
  $ apfile[data\&.xml\&.new]=${(S)mapfile[data\&.xml]//\e
  > (#im)<TAGA>*<\e/TAGA>/<TAGA>$((++cnt))<\e/TAGA>}

# removing all files in users Maildir/new that contain ``filename="gone\&.src\'\'
  $ zmodload zsh/{files,mapfile}
  $ rm \-f /u1/??/*/Maildir/new/100*(\&.e{\'[[ $mapfile[$REPLY] == \e
    *filename=\e"gone\&.scr\e"* ]]\'})

# Grep out the Title from a postscript file and append that value to the
# end of the filename
  $ autoload \-U zmv
  $ zmodload zsh/mapfile
  $ zmv \'(*)\&.ps\' \'$1\-${${${mapfile[$f]##*%%Title: }%% *}//[^a\-zA\-Z0\-9_]/}\&.ps\'
.fi
.RE
.RE
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
zsh/mathfunc (require zmodload zsh/mathfunc)
.RS
.sp
.RS 4
.nf
$ zmodload zsh/mathfunc
$ echo $(( sin(1/4\&.0)**2 + cos(1/4\&.0)**2 \- 1 ))
  \-1\&.1102230246251565e\-16
$ echo $(( pi = 4\&.0 * atan(1\&.0) ))
  3\&.1415926535897931
$ echo $(( f = sin(0\&.3) ))
  0\&.29552020666133955
$ print $((1e12 * rand48()))
  847909677310\&.23413
$ print $(( rand48(seed) ))
  0\&.01043488334700271
.fi
.RE
.RE
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
zsh/termcap (require zmodload zsh/termcap)
.RS
.sp
.RS 4
.nf
 $ zmodload \-ab zsh/termcap echotc
 $ GREEN=`echotc AF 2`
 $ YELLOW=`echotc AF 3`
 $ RED=`echotc AF 1`
 $ BRIGHTRED=`echotc md ; echotc AF 1`
 $ print \-l ${GREEN}green ${YELLOW}yellow ${RED}red ${BRIGHTRED}brightred
.fi
.RE
.RE
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
zsh/zpty (require zmodload zsh/zpty)
.RS
.sp
.RS 4
.nf
  $ zmodload zsh/zpty
  $ zpty PW passwd $1
  $ zpty PW passwd $1
# ``\-r\'\': read the output of the command name\&.
# ``z\'\' : Parameter
  $ zpty \-r PW z \'*password:\'
# send the to command name the given strings as input
  $ zpty \-w PW $2
  $ zpty \-r PW z \'*password:\'
  $ zpty \-w PW $2
# The second form, with the \-d option, is used to delete commands
# previously started, by supplying a list of their names\&. If no names
# are given, all commands are deleted\&. Deleting a command causes the HUP
# signal to be sent to the corresponding process\&.
  $ zpty \-d PW
.fi
.RE
.RE
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
zsh/net/socket (require zmodload zsh/net/socket)
.RS
.sp
.RS 4
.nf
# ``\-l\'\': open a socket listening on filename
# ``\-d\'\': argument will be taken as the target file descriptor for the
#         connection
# ``3\'\' : file descriptor\&. See ``A User\'s Guide to the Z\-Shell\'\'
#         (3\&.7\&.2: File descriptors)
  $ zmodload zsh/net/socket
  $ zsocket \-l \-d 3
# ``\-a\'\': accept an incoming connection to the socket
  $ zsocket \-a \-d 4 3
  $ zsocket \-a \-d 5 3 # accept a connection
  $ echo foobar >&4
  $ echo barfoo >&5
  $ 4>&\- 5>&\- 3>&
.fi
.RE
.RE
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
zsh/zftp (require zmodload zsh/zftp)
.RS
.sp
.RS 4
.nf
 $ autoload \-U zfinit
 $ zfinit
 $ zfparams www\&.example\&.invalid myuserid mypassword
 $ zfopen
 $ zfcd tips
 $ zfls \-l zshtips\&.html
 $ zfput zshtips\&.html
 $ zfls \-l zshtips\&.html

# Automatically transfer files using FTP with error checking
  $ autoload \-U zfinit ; zfinit
  $ zftp open host\&.name\&.invalid user passwd || exit
  $ zftp get /remote/file > /local/file; r=$?
  $ zftp close && exit r

# compress and ftp on the fly
  $ autoload \-U zfinit ; zfinit
  $ zftp open host\&.name\&.invalid user password
  $ zftp get $file | bzip2 > ${file}\&.bz2
  $ zftp close

# Recursice ``get\'\'
  $ autoload \-U zfinit ; zfinit
  $ zfanon cr\&.yp\&.to
  $ zfcd daemontools
  $ for file in `zfls` ; do
  >     zfget $file
  $ done
  $ zfclose

# Upload all regular files in $HOME/foobar (recursive) that are newer than
# two hours to ftp\&.foobar\&.invalid/path/to/upload
  $ autoload \-U zfinit ; zfinit
  $ zfopen ftp\&.foobar\&.invalid/path/to/upload
  $ cd $HOME/foobar
  $ zfput \-r **/*(\&.mh\-2)
  $ zfclose

# long list of files on a ftp
  $ autoload \-U zfinit ; zfinit
  $ zfopen some\-host
  $ zfcd /some/remote/Dir
  $ cd /some/local/Dir
# If the list\&.txt is located on the remote host, change to
# zfget ${(f)"$(zftp get /path/to/remote/list\&.txt)"}
  $ zfget ${(f)"$(cat list\&.txt)"}
  $ zfclose
.fi
.RE
.RE
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
zsh/zselect (require zmodload zsh/zselect)
.RS
.sp
.RS 4
.nf
# It\'s similar to
 ,\-\-\-\-
 | $ sg=$(stty \-g)
 | $ stty \-icanon min 0 time 50
 | $ read yesno
 | $ stty "$sg"
 | $ case "$yesno" in
 | >  yes) command1;;
 | >  *) command2;;
 | > esac
 `\-\-\-\-
$ zmodload zsh/zselect
$ if zselect \-t 500 \-r 0 && read yesno && [ yes = "$yesno" ]; then
>    command1
> else
>    command1
> fi
.fi
.RE
.RE
.SH "OPTIONS"
.SS "Navigation options"
\fBauto_cd\fR (allow one to change to a directory by entering it as a command)\&. \fBauto_pushd\fR (automatically append dirs to the push/pop list) pushd_ignore_dups (and don\'t duplicate them)\&.
.sp
.SS "Misc"
\fBno_hup\fR (don\'t send HUP signal to background jobs when exiting ZSH)\&. \fBprint_exit_value\fR (show a message with the exit code when a command returns with a non\-zero exit code)
.sp
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
History options
.RS
\fBhist_verify\fR (let the user edit the command line after history expansion (e\&.g\&. !ls) instead of immediately running it) Use the same history file for all sessions : \fBsetopt SHARE_HISTORY\fR
.sp
.RE
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
Privacy / Security
.RS
\fBno_clobber\fR (or set \-C; prevent \fI>\fR redirection from truncating the given file if it already exists)
.sp
.RE
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
Spelling correction
.RS
\fBcorrect\fR (automatically correct the spelling of commands)\&. \fBcorrect_all\fR (automatically correct the spelling of each word on the command line) \fBdvorak\fR (dvorak layout)
.sp
.RE
.SH "UNSORTED/MISC"
Mailpath: simple multiple mailpath:
.sp
.sp
.RS 4
.nf
mailpath=($HOME/Mail/mbox\'?new mail in mbox\'
          $HOME/Mail/tux\&.u\-strasbg\'?new mail in tux\'
          $HOME/Mail/lilo\'?new mail in lilo\'
          $HOME/Mail/ldap\-fr\'?new mail in ldap\-fr\')
.fi
.RE
Mailpath: dynamic mailpath:
.sp
.sp
.RS 4
.nf
typeset \-a mailpath
for i in ~/Mail/Lists/*(\&.); do
   mailpath[$#mailpath+1]="${i}?You have new mail in ${i:t}\&."
done
.fi
.RE
Avoid globbing on special commands:
.sp
.sp
.RS 4
.nf
for com in alias expr find mattrib mcopy mdir mdel which;
alias $com="noglob $com"
.fi
.RE
For migrating your bashprompt to zsh use the script bash2zshprompt located in the zsh source distribution under \fIMisc\fR\&.
.sp
For migration from (t)csh to zsh use the c2z tool that converts csh aliases and environment and shell variables to zsh\&. It does this by running csh, and having csh report on aliases and variables\&. The script then converts these to zsh startup files\&. It has some issues and usage information that are documented at the top of this script\&.
.sp
Here are functions to set the title and hardstatus of an \fBXTerm\fR or of \fBGNU Screen\fR to \fIzsh\fR and the current directory, respectively, when the prompt is displayed, and to the command name and rest of the command line, respectively, when a command is executed:
.sp
.sp
.RS 4
.nf
function title {
      if [[ $TERM == "screen" ]]; then
        # Use these two for GNU Screen:
        print \-nR $\' 33k\'$1$\' 33\'\e
        print \-nR $\' 33]0;\'$2$\'\'
      elif [[ $TERM == "xterm" || $TERM == "rxvt" ]]; then
        # Use this one instead for XTerms:
        print \-nR $\' 33]0;\'$*$\'\'
      fi
}
function precmd { title zsh "$PWD" }
function preexec {
    emulate \-L zsh
    local \-a cmd; cmd=(${(z)1})
    title $cmd[1]:t "$cmd[2,\-1]"
}
.fi
.RE
Put the following line into your ~/\&.screenrc to see this fancy hardstatus:
.sp
.sp
.RS 4
.nf
caption always "%3n %t%? (%u)%?%?: %h%?"
.fi
.RE
Special variables which are assigned:
.sp
.sp
.RS 4
.nf
$LINENO $RANDOM $SECONDS $COLUMNS $HISTCHARS $UID
$EUID $GID $EGID $USERNAME $fignore $mailpath $cdpath
.fi
.RE
.SH "LINKS"
.PP
Primary site
.RS 4

\fBhttp://www\&.zsh\&.org/\fR
.RE
.PP
Project\-page
.RS 4

\fBhttp://sourceforge\&.net/projects/zsh/\fR
.RE
.PP
Z shell page at sunsite\&.dk
.RS 4

\fBhttp://zsh\&.sunsite\&.dk/\fR
.RE
.PP
From Bash to Z Shell: Conquering the Command Line \- the book
.RS 4

\fBhttp://www\&.bash2zsh\&.com/\fR
.RE
.PP
"Zsh \- die magische Shell" (german book about Zsh) by Sven Guckes and Julius Plenz
.RS 4

\fBhttp://zshbuch\&.org/\fR
.RE
.PP
Mailinglistarchive
.RS 4

\fBhttp://www\&.zsh\&.org/mla/\fR
.RE
.PP
ZSH\-FAQ
.RS 4

\fBhttp://zsh\&.dotsrc\&.org/FAQ/\fR
.RE
.PP
Userguide
.RS 4

\fBhttp://zsh\&.sunsite\&.dk/Guide/\fR
.RE
.PP
ZSH\-Wiki
.RS 4

\fBhttp://zshwiki\&.org/home/\fR
.RE
.PP
A short introduction from BYU
.RS 4

\fBhttp://docs\&.cs\&.byu\&.edu/linux/advanced/zsh\&.html\fR
.RE
.PP
Mouse\-Support ;)
.RS 4

\fBhttp://stchaz\&.free\&.fr/mouse\&.zsh\fR
.RE
.PP
Curtains up: introducing the Z shell
.RS 4

\fBhttp://www\-128\&.ibm\&.com/developerworks/linux/library/l\-z\&.html?dwzone=linux\fR
.RE
.PP
ZSH\-Liebhaberseite (german)
.RS 4

\fBhttp://michael\-prokop\&.at/computer/tools_zsh_liebhaber\&.html\fR
.RE
.PP
ZSH\-Seite von Michael Prokop (german)
.RS 4

\fBhttp://michael\-prokop\&.at/computer/tools_zsh\&.html\fR
.RE
.PP
ZSH Prompt introduction
.RS 4

\fBhttp://aperiodic\&.net/phil/prompt/\fR
.RE
.PP
Adam\'s ZSH page
.RS 4

\fBhttp://www\&.adamspiers\&.org/computing/zsh/\fR
.RE
.PP
Zzappers Best of ZSH Tips
.RS 4

\fBhttp://www\&.rayninfo\&.co\&.uk/tips/zshtips\&.html\fR
.RE
.PP
Zsh Webpage by Christian Schneider
.RS 4

\fBhttp://www\&.strcat\&.de/zsh/\fR
.RE
.PP
The zsh\-lovers webpage
.RS 4

\fBhttp://grml\&.org/zsh/\fR
.RE
.PP
IRC channel
.RS 4

\fB#zsh at irc\&.freenode\&.org\fR
.RE
.PP
The Z shell reference\-card (included in the zsh\-lovers debian\-package)
.RS 4

\fBhttp://www\&.bash2zsh\&.com/zsh_refcard/refcard\&.pdf\fR
.RE
.SH "AUTHORS"
This manpage was written by Michael Prokop, Christian \fIstrcat\fR Schneider and Matthias Kopfermann\&. But many ideas have been taken from zsh\-geeks e\&.g\&. from the zsh\-mailinglists (zsh\-users and zsh\-workers), google, newsgroups and the zsh\-Wiki\&. Thanks for your cool and incredible tips\&. We learned much from you!
.sp
In alphabetic order:
.sp
.sp
.RS 4
.nf
Andrew \'zefram\' Main  \- http://www\&.fysh\&.org/~zefram/
Barton E\&. Schaefer    \- http://www\&.well\&.com/user/barts/
Matthias Kopfermann   \- http://www\&.infodrom\&.north\&.de/~matthi/
Oliver Kiddle         \- http://people\&.freenet\&.de/opk/
Paul Falstad          \- http://www\&.falstad\&.com/
Peter Stephenson      \- http://homepage\&.ntlworld\&.com/p\&.w\&.stephenson/
Richard Coleman
Stephane Chazelas     \- http://stephane\&.chazelas\&.free\&.fr/
Sven Guckes           \- http://www\&.guckes\&.net/
Sven Wischnowsky      \- http://w9y\&.de/zsh/zshrc
.fi
.RE
.SH "SEE ALSO"
Manpages of zsh:
.sp
.sp
.RS 4
.nf
       zsh          Zsh overview
       zshall       Tthe Z shell meta\-man page
       zshbuiltins  Zsh built\-in commands
       zshcalsys    zsh calendar system
       zshcompctl   zsh programmable completion
       zshcompsys   Zsh completion system
       zshcompwid   Zsh completion widgets
       zshcontrib   User contributions to zsh
       zshexpn      Zsh expansion and substitution
       zshmisc      Anything not fitting into the other sections
       zshmodules   Zsh loadable modules
       zshoptions   Zsh options
       zshparam     Zsh parameters
       zshroadmap   Informal introduction to the zsh manual
       zshtcpsys    Zsh tcp system
       zshzle       Zsh command line editing
       zshzftpsys   Zsh built\-in FTP client
       zshall       Meta\-man page containing all of the above
.fi
.RE
Note: especially \fIman zshcontrib\fR covers very useful topics! Book: \fBFrom Bash to Z Shell\fR by Oliver Kiddle, Jerry Peck and Peter Stephenson\&. \fBISBN: 1590593766\fR\&. \- \fBbash2zsh\&.com\fR Also take a look at the section \fBLINKS\fR in this manpage\&.
.sp
.SH "BUGS"
Probably\&. This manpage might be never complete\&. So please report bugs, feedback and suggestions to <zsh\-lovers@michael\-prokop\&.at>\&. Thank you!
.sp
.SH "COPYRIGHT"
Copyright (C) Michael Prokop, Christian Schneider and Matthias Kopfermann\&.
.sp
.SH "NOTES"
.IP " 1." 4
zsh-lovers@michael-prokop.at
.RS 4
\%mailto:zsh-lovers@michael-prokop.at
.RE

Added xorg/README.



>
1
Add info about the xorg repository

Added xorg/libpthread-stubs/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: pthread dummy implementation
# URL: http://xcb.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu

name=libpthread-stubs
version=0.2
release=1
source=(http://xcb.freedesktop.org/dist/$name-$version.tar.bz2)

build() {
	cd $name-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install
}

Added xorg/mesa3d/Makefile.



























































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# progs/xdemos/Makefile

TOP = ../..
include $(TOP)/configs/current


INCDIR = $(TOP)/include

LIB_DEP = $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME)

# Add X11 and pthread libs to satisfy GNU gold.
APP_LIB_DEPS += -lX11 -lpthread

LIBS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -L$(libdir) $(APP_LIB_DEPS)

PROGS = \
	glxgears \
	glxinfo

# Don't build these by default because of extra library dependencies
EXTRA_PROGS = \
	shape \
	yuvrect_client \
	xdemo



##### RULES #####

.o: $(LIB_DEP)
	$(APP_CC) $(CFLAGS) $(LDFLAGS) $< $(LIBS) -o $@

.c.o:
	$(APP_CC) -I$(INCDIR) $(X11_INCLUDES) $(CFLAGS) $< -c -o $@


##### TARGETS #####

default: $(PROGS)

$(PROGS): $(PROGS:%=%.o)

extra: $(EXTRA_PROGS)


clean:
	-rm -f $(PROGS) $(EXTRA_PROGS)
	-rm -f *.o *~


# special cases
pbutil.o: pbutil.h
pbinfo.o: pbutil.h
pbinfo: pbinfo.o pbutil.o
	$(APP_CC) $(CFLAGS) $(LDFLAGS) pbinfo.o pbutil.o $(LIBS) -o $@

pbdemo.o: pbutil.h
pbdemo: pbdemo.o pbutil.o
	$(APP_CC) $(CFLAGS) $(LDFLAGS) pbdemo.o pbutil.o $(LIBS) -o $@

glxgears_fbconfig.o: pbutil.h
glxgears_fbconfig: glxgears_fbconfig.o pbutil.o
	$(APP_CC) $(CFLAGS) $(LDFLAGS) glxgears_fbconfig.o pbutil.o $(LIBS) -o $@

xuserotfont.o: xuserotfont.h
xrotfontdemo.o: xuserotfont.h
xrotfontdemo: xrotfontdemo.o xuserotfont.o
	$(APP_CC) $(CFLAGS) $(LDFLAGS) xrotfontdemo.o xuserotfont.o $(LIBS) -o $@

ipc.o: ipc.h
corender.o: ipc.h
corender: corender.o ipc.o
	$(APP_CC) $(CFLAGS) $(LDFLAGS) corender.o ipc.o $(LIBS) -o $@

yuvrect_client: yuvrect_client.o
	$(APP_CC) $(CFLAGS) $< $(LDFLAGS) $(LIBS) -l$(GLU_LIB) -o $@

Added xorg/mesa3d/Pkgfile.



























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# Description: Mesa 3D Graphics Library
# URL: http://www.mesa3d.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: libdrm, xorg-makedepend, xorg-glproto, xorg-xextproto, xorg-dri2proto, xorg-libx11, xorg-xf86vidmodeproto, xorg-libxext, xorg-libxxf86vm, xorg-libxt, xorg-libxdamage, xorg-libpciaccess, expat, talloc, libxml2-python

name=mesa3d
version=7.10.2
release=1
source=(ftp://ftp.freedesktop.org/pub/mesa/$version/MesaLib-$version.tar.bz2 \
        Makefile glxgears.c glxinfo.c)

build() {
	cd Mesa-$version

	mkdir -p progs/xdemos
	mv $SRC/{Makefile,glx{gears,info}.c} progs/xdemos

	./configure --prefix=/usr \
	            --with-driver=dri \
	            --with-dri-driverdir=/usr/lib/dri

	make
	make -C progs/xdemos

	make DESTDIR=$PKG install

	install -d $PKG/usr/bin
	install -m 755 progs/xdemos/glx{gears,info} $PKG/usr/bin
}

Added xorg/mesa3d/glxgears.c.







































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
/*
 * Copyright (C) 1999-2001  Brian Paul   All Rights Reserved.
 * 
 * Permission is hereby granted, free of charge, to any person obtaining a
 * copy of this software and associated documentation files (the "Software"),
 * to deal in the Software without restriction, including without limitation
 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
 * and/or sell copies of the Software, and to permit persons to whom the
 * Software is furnished to do so, subject to the following conditions:
 * 
 * The above copyright notice and this permission notice shall be included
 * in all copies or substantial portions of the Software.
 * 
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
 * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
 * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 */

/*
 * This is a port of the infamous "gears" demo to straight GLX (i.e. no GLUT)
 * Port by Brian Paul  23 March 2001
 *
 * See usage() below for command line options.
 */


#include <math.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <X11/Xlib.h>
#include <X11/keysym.h>
#include <GL/gl.h>
#include <GL/glx.h>
#include <GL/glxext.h>

#ifndef GLX_MESA_swap_control
#define GLX_MESA_swap_control 1
typedef int (*PFNGLXGETSWAPINTERVALMESAPROC)(void);
#endif


#define BENCHMARK

#ifdef BENCHMARK

/* XXX this probably isn't very portable */

#include <sys/time.h>
#include <unistd.h>

/* return current time (in seconds) */
static double
current_time(void)
{
   struct timeval tv;
#ifdef __VMS
   (void) gettimeofday(&tv, NULL );
#else
   struct timezone tz;
   (void) gettimeofday(&tv, &tz);
#endif
   return (double) tv.tv_sec + tv.tv_usec / 1000000.0;
}

#else /*BENCHMARK*/

/* dummy */
static double
current_time(void)
{
   /* update this function for other platforms! */
   static double t = 0.0;
   static int warn = 1;
   if (warn) {
      fprintf(stderr, "Warning: current_time() not implemented!!\n");
      warn = 0;
   }
   return t += 1.0;
}

#endif /*BENCHMARK*/



#ifndef M_PI
#define M_PI 3.14159265
#endif


/** Event handler results: */
#define NOP 0
#define EXIT 1
#define DRAW 2

static GLfloat view_rotx = 20.0, view_roty = 30.0, view_rotz = 0.0;
static GLint gear1, gear2, gear3;
static GLfloat angle = 0.0;

static GLboolean fullscreen = GL_FALSE;	/* Create a single fullscreen window */
static GLboolean stereo = GL_FALSE;	/* Enable stereo.  */
static GLboolean animate = GL_TRUE;	/* Animation */
static GLfloat eyesep = 5.0;		/* Eye separation. */
static GLfloat fix_point = 40.0;	/* Fixation point distance.  */
static GLfloat left, right, asp;	/* Stereo frustum params.  */


/*
 *
 *  Draw a gear wheel.  You'll probably want to call this function when
 *  building a display list since we do a lot of trig here.
 * 
 *  Input:  inner_radius - radius of hole at center
 *          outer_radius - radius at center of teeth
 *          width - width of gear
 *          teeth - number of teeth
 *          tooth_depth - depth of tooth
 */
static void
gear(GLfloat inner_radius, GLfloat outer_radius, GLfloat width,
     GLint teeth, GLfloat tooth_depth)
{
   GLint i;
   GLfloat r0, r1, r2;
   GLfloat angle, da;
   GLfloat u, v, len;

   r0 = inner_radius;
   r1 = outer_radius - tooth_depth / 2.0;
   r2 = outer_radius + tooth_depth / 2.0;

   da = 2.0 * M_PI / teeth / 4.0;

   glShadeModel(GL_FLAT);

   glNormal3f(0.0, 0.0, 1.0);

   /* draw front face */
   glBegin(GL_QUAD_STRIP);
   for (i = 0; i <= teeth; i++) {
      angle = i * 2.0 * M_PI / teeth;
      glVertex3f(r0 * cos(angle), r0 * sin(angle), width * 0.5);
      glVertex3f(r1 * cos(angle), r1 * sin(angle), width * 0.5);
      if (i < teeth) {
	 glVertex3f(r0 * cos(angle), r0 * sin(angle), width * 0.5);
	 glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da),
		    width * 0.5);
      }
   }
   glEnd();

   /* draw front sides of teeth */
   glBegin(GL_QUADS);
   da = 2.0 * M_PI / teeth / 4.0;
   for (i = 0; i < teeth; i++) {
      angle = i * 2.0 * M_PI / teeth;

      glVertex3f(r1 * cos(angle), r1 * sin(angle), width * 0.5);
      glVertex3f(r2 * cos(angle + da), r2 * sin(angle + da), width * 0.5);
      glVertex3f(r2 * cos(angle + 2 * da), r2 * sin(angle + 2 * da),
		 width * 0.5);
      glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da),
		 width * 0.5);
   }
   glEnd();

   glNormal3f(0.0, 0.0, -1.0);

   /* draw back face */
   glBegin(GL_QUAD_STRIP);
   for (i = 0; i <= teeth; i++) {
      angle = i * 2.0 * M_PI / teeth;
      glVertex3f(r1 * cos(angle), r1 * sin(angle), -width * 0.5);
      glVertex3f(r0 * cos(angle), r0 * sin(angle), -width * 0.5);
      if (i < teeth) {
	 glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da),
		    -width * 0.5);
	 glVertex3f(r0 * cos(angle), r0 * sin(angle), -width * 0.5);
      }
   }
   glEnd();

   /* draw back sides of teeth */
   glBegin(GL_QUADS);
   da = 2.0 * M_PI / teeth / 4.0;
   for (i = 0; i < teeth; i++) {
      angle = i * 2.0 * M_PI / teeth;

      glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da),
		 -width * 0.5);
      glVertex3f(r2 * cos(angle + 2 * da), r2 * sin(angle + 2 * da),
		 -width * 0.5);
      glVertex3f(r2 * cos(angle + da), r2 * sin(angle + da), -width * 0.5);
      glVertex3f(r1 * cos(angle), r1 * sin(angle), -width * 0.5);
   }
   glEnd();

   /* draw outward faces of teeth */
   glBegin(GL_QUAD_STRIP);
   for (i = 0; i < teeth; i++) {
      angle = i * 2.0 * M_PI / teeth;

      glVertex3f(r1 * cos(angle), r1 * sin(angle), width * 0.5);
      glVertex3f(r1 * cos(angle), r1 * sin(angle), -width * 0.5);
      u = r2 * cos(angle + da) - r1 * cos(angle);
      v = r2 * sin(angle + da) - r1 * sin(angle);
      len = sqrt(u * u + v * v);
      u /= len;
      v /= len;
      glNormal3f(v, -u, 0.0);
      glVertex3f(r2 * cos(angle + da), r2 * sin(angle + da), width * 0.5);
      glVertex3f(r2 * cos(angle + da), r2 * sin(angle + da), -width * 0.5);
      glNormal3f(cos(angle), sin(angle), 0.0);
      glVertex3f(r2 * cos(angle + 2 * da), r2 * sin(angle + 2 * da),
		 width * 0.5);
      glVertex3f(r2 * cos(angle + 2 * da), r2 * sin(angle + 2 * da),
		 -width * 0.5);
      u = r1 * cos(angle + 3 * da) - r2 * cos(angle + 2 * da);
      v = r1 * sin(angle + 3 * da) - r2 * sin(angle + 2 * da);
      glNormal3f(v, -u, 0.0);
      glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da),
		 width * 0.5);
      glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da),
		 -width * 0.5);
      glNormal3f(cos(angle), sin(angle), 0.0);
   }

   glVertex3f(r1 * cos(0), r1 * sin(0), width * 0.5);
   glVertex3f(r1 * cos(0), r1 * sin(0), -width * 0.5);

   glEnd();

   glShadeModel(GL_SMOOTH);

   /* draw inside radius cylinder */
   glBegin(GL_QUAD_STRIP);
   for (i = 0; i <= teeth; i++) {
      angle = i * 2.0 * M_PI / teeth;
      glNormal3f(-cos(angle), -sin(angle), 0.0);
      glVertex3f(r0 * cos(angle), r0 * sin(angle), -width * 0.5);
      glVertex3f(r0 * cos(angle), r0 * sin(angle), width * 0.5);
   }
   glEnd();
}


static void
draw(void)
{
   glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

   glPushMatrix();
   glRotatef(view_rotx, 1.0, 0.0, 0.0);
   glRotatef(view_roty, 0.0, 1.0, 0.0);
   glRotatef(view_rotz, 0.0, 0.0, 1.0);

   glPushMatrix();
   glTranslatef(-3.0, -2.0, 0.0);
   glRotatef(angle, 0.0, 0.0, 1.0);
   glCallList(gear1);
   glPopMatrix();

   glPushMatrix();
   glTranslatef(3.1, -2.0, 0.0);
   glRotatef(-2.0 * angle - 9.0, 0.0, 0.0, 1.0);
   glCallList(gear2);
   glPopMatrix();

   glPushMatrix();
   glTranslatef(-3.1, 4.2, 0.0);
   glRotatef(-2.0 * angle - 25.0, 0.0, 0.0, 1.0);
   glCallList(gear3);
   glPopMatrix();

   glPopMatrix();
}


static void
draw_gears(void)
{
   if (stereo) {
      /* First left eye.  */
      glDrawBuffer(GL_BACK_LEFT);

      glMatrixMode(GL_PROJECTION);
      glLoadIdentity();
      glFrustum(left, right, -asp, asp, 5.0, 60.0);

      glMatrixMode(GL_MODELVIEW);

      glPushMatrix();
      glTranslated(+0.5 * eyesep, 0.0, 0.0);
      draw();
      glPopMatrix();

      /* Then right eye.  */
      glDrawBuffer(GL_BACK_RIGHT);

      glMatrixMode(GL_PROJECTION);
      glLoadIdentity();
      glFrustum(-right, -left, -asp, asp, 5.0, 60.0);

      glMatrixMode(GL_MODELVIEW);

      glPushMatrix();
      glTranslated(-0.5 * eyesep, 0.0, 0.0);
      draw();
      glPopMatrix();
   }
   else {
      draw();
   }
}


/** Draw single frame, do SwapBuffers, compute FPS */
static void
draw_frame(Display *dpy, Window win)
{
   static int frames = 0;
   static double tRot0 = -1.0, tRate0 = -1.0;
   double dt, t = current_time();

   if (tRot0 < 0.0)
      tRot0 = t;
   dt = t - tRot0;
   tRot0 = t;

   if (animate) {
      /* advance rotation for next frame */
      angle += 70.0 * dt;  /* 70 degrees per second */
      if (angle > 3600.0)
         angle -= 3600.0;
   }

   draw_gears();
   glXSwapBuffers(dpy, win);

   frames++;
   
   if (tRate0 < 0.0)
      tRate0 = t;
   if (t - tRate0 >= 5.0) {
      GLfloat seconds = t - tRate0;
      GLfloat fps = frames / seconds;
      printf("%d frames in %3.1f seconds = %6.3f FPS\n", frames, seconds,
             fps);
      tRate0 = t;
      frames = 0;
   }
}


/* new window size or exposure */
static void
reshape(int width, int height)
{
   glViewport(0, 0, (GLint) width, (GLint) height);

   if (stereo) {
      GLfloat w;

      asp = (GLfloat) height / (GLfloat) width;
      w = fix_point * (1.0 / 5.0);

      left = -5.0 * ((w - 0.5 * eyesep) / fix_point);
      right = 5.0 * ((w + 0.5 * eyesep) / fix_point);
   }
   else {
      GLfloat h = (GLfloat) height / (GLfloat) width;

      glMatrixMode(GL_PROJECTION);
      glLoadIdentity();
      glFrustum(-1.0, 1.0, -h, h, 5.0, 60.0);
   }
   
   glMatrixMode(GL_MODELVIEW);
   glLoadIdentity();
   glTranslatef(0.0, 0.0, -40.0);
}
   


static void
init(void)
{
   static GLfloat pos[4] = { 5.0, 5.0, 10.0, 0.0 };
   static GLfloat red[4] = { 0.8, 0.1, 0.0, 1.0 };
   static GLfloat green[4] = { 0.0, 0.8, 0.2, 1.0 };
   static GLfloat blue[4] = { 0.2, 0.2, 1.0, 1.0 };

   glLightfv(GL_LIGHT0, GL_POSITION, pos);
   glEnable(GL_CULL_FACE);
   glEnable(GL_LIGHTING);
   glEnable(GL_LIGHT0);
   glEnable(GL_DEPTH_TEST);

   /* make the gears */
   gear1 = glGenLists(1);
   glNewList(gear1, GL_COMPILE);
   glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, red);
   gear(1.0, 4.0, 1.0, 20, 0.7);
   glEndList();

   gear2 = glGenLists(1);
   glNewList(gear2, GL_COMPILE);
   glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, green);
   gear(0.5, 2.0, 2.0, 10, 0.7);
   glEndList();

   gear3 = glGenLists(1);
   glNewList(gear3, GL_COMPILE);
   glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, blue);
   gear(1.3, 2.0, 0.5, 10, 0.7);
   glEndList();

   glEnable(GL_NORMALIZE);
}


/**
 * Remove window border/decorations.
 */
static void
no_border( Display *dpy, Window w)
{
   static const unsigned MWM_HINTS_DECORATIONS = (1 << 1);
   static const int PROP_MOTIF_WM_HINTS_ELEMENTS = 5;

   typedef struct
   {
      unsigned long       flags;
      unsigned long       functions;
      unsigned long       decorations;
      long                inputMode;
      unsigned long       status;
   } PropMotifWmHints;

   PropMotifWmHints motif_hints;
   Atom prop, proptype;
   unsigned long flags = 0;

   /* setup the property */
   motif_hints.flags = MWM_HINTS_DECORATIONS;
   motif_hints.decorations = flags;

   /* get the atom for the property */
   prop = XInternAtom( dpy, "_MOTIF_WM_HINTS", True );
   if (!prop) {
      /* something went wrong! */
      return;
   }

   /* not sure this is correct, seems to work, XA_WM_HINTS didn't work */
   proptype = prop;

   XChangeProperty( dpy, w,                         /* display, window */
                    prop, proptype,                 /* property, type */
                    32,                             /* format: 32-bit datums */
                    PropModeReplace,                /* mode */
                    (unsigned char *) &motif_hints, /* data */
                    PROP_MOTIF_WM_HINTS_ELEMENTS    /* nelements */
                  );
}


/*
 * Create an RGB, double-buffered window.
 * Return the window and context handles.
 */
static void
make_window( Display *dpy, const char *name,
             int x, int y, int width, int height,
             Window *winRet, GLXContext *ctxRet)
{
   int attribs[] = { GLX_RGBA,
                     GLX_RED_SIZE, 1,
                     GLX_GREEN_SIZE, 1,
                     GLX_BLUE_SIZE, 1,
                     GLX_DOUBLEBUFFER,
                     GLX_DEPTH_SIZE, 1,
                     None };
   int stereoAttribs[] = { GLX_RGBA,
                           GLX_RED_SIZE, 1,
                           GLX_GREEN_SIZE, 1,
                           GLX_BLUE_SIZE, 1,
                           GLX_DOUBLEBUFFER,
                           GLX_DEPTH_SIZE, 1,
                           GLX_STEREO,
                           None };
   int scrnum;
   XSetWindowAttributes attr;
   unsigned long mask;
   Window root;
   Window win;
   GLXContext ctx;
   XVisualInfo *visinfo;

   scrnum = DefaultScreen( dpy );
   root = RootWindow( dpy, scrnum );

   if (fullscreen) {
      x = 0; y = 0;
      width = DisplayWidth( dpy, scrnum );
      height = DisplayHeight( dpy, scrnum );
   }

   if (stereo)
      visinfo = glXChooseVisual( dpy, scrnum, stereoAttribs );
   else
      visinfo = glXChooseVisual( dpy, scrnum, attribs );
   if (!visinfo) {
      if (stereo) {
         printf("Error: couldn't get an RGB, "
                "Double-buffered, Stereo visual\n");
      } else
         printf("Error: couldn't get an RGB, Double-buffered visual\n");
      exit(1);
   }

   /* window attributes */
   attr.background_pixel = 0;
   attr.border_pixel = 0;
   attr.colormap = XCreateColormap( dpy, root, visinfo->visual, AllocNone);
   attr.event_mask = StructureNotifyMask | ExposureMask | KeyPressMask;
   /* XXX this is a bad way to get a borderless window! */
   mask = CWBackPixel | CWBorderPixel | CWColormap | CWEventMask;

   win = XCreateWindow( dpy, root, x, y, width, height,
		        0, visinfo->depth, InputOutput,
		        visinfo->visual, mask, &attr );

   if (fullscreen)
      no_border(dpy, win);

   /* set hints and properties */
   {
      XSizeHints sizehints;
      sizehints.x = x;
      sizehints.y = y;
      sizehints.width  = width;
      sizehints.height = height;
      sizehints.flags = USSize | USPosition;
      XSetNormalHints(dpy, win, &sizehints);
      XSetStandardProperties(dpy, win, name, name,
                              None, (char **)NULL, 0, &sizehints);
   }

   ctx = glXCreateContext( dpy, visinfo, NULL, True );
   if (!ctx) {
      printf("Error: glXCreateContext failed\n");
      exit(1);
   }

   XFree(visinfo);

   *winRet = win;
   *ctxRet = ctx;
}


/**
 * Determine whether or not a GLX extension is supported.
 */
static int
is_glx_extension_supported(Display *dpy, const char *query)
{
   const int scrnum = DefaultScreen(dpy);
   const char *glx_extensions = NULL;
   const size_t len = strlen(query);
   const char *ptr;

   if (glx_extensions == NULL) {
      glx_extensions = glXQueryExtensionsString(dpy, scrnum);
   }

   ptr = strstr(glx_extensions, query);
   return ((ptr != NULL) && ((ptr[len] == ' ') || (ptr[len] == '\0')));
}


/**
 * Attempt to determine whether or not the display is synched to vblank.
 */
static void
query_vsync(Display *dpy, GLXDrawable drawable)
{
   int interval = 0;

#if defined(GLX_EXT_swap_control)
   if (is_glx_extension_supported(dpy, "GLX_EXT_swap_control")) {
       unsigned int tmp = -1;
       glXQueryDrawable(dpy, drawable, GLX_SWAP_INTERVAL_EXT, &tmp);
       interval = tmp;
   } else
#endif
   if (is_glx_extension_supported(dpy, "GLX_MESA_swap_control")) {
      PFNGLXGETSWAPINTERVALMESAPROC pglXGetSwapIntervalMESA =
          (PFNGLXGETSWAPINTERVALMESAPROC)
          glXGetProcAddressARB((const GLubyte *) "glXGetSwapIntervalMESA");

      interval = (*pglXGetSwapIntervalMESA)();
   } else if (is_glx_extension_supported(dpy, "GLX_SGI_swap_control")) {
      /* The default swap interval with this extension is 1.  Assume that it
       * is set to the default.
       *
       * Many Mesa-based drivers default to 0, but all of these drivers also
       * export GLX_MESA_swap_control.  In that case, this branch will never
       * be taken, and the correct result should be reported.
       */
      interval = 1;
   }


   if (interval > 0) {
      printf("Running synchronized to the vertical refresh.  The framerate should be\n");
      if (interval == 1) {
         printf("approximately the same as the monitor refresh rate.\n");
      } else if (interval > 1) {
         printf("approximately 1/%d the monitor refresh rate.\n",
                interval);
      }
   }
}

/**
 * Handle one X event.
 * \return NOP, EXIT or DRAW
 */
static int
handle_event(Display *dpy, Window win, XEvent *event)
{
   (void) dpy;
   (void) win;

   switch (event->type) {
   case Expose:
      return DRAW;
   case ConfigureNotify:
      reshape(event->xconfigure.width, event->xconfigure.height);
      break;
   case KeyPress:
      {
         char buffer[10];
         int r, code;
         code = XLookupKeysym(&event->xkey, 0);
         if (code == XK_Left) {
            view_roty += 5.0;
         }
         else if (code == XK_Right) {
            view_roty -= 5.0;
         }
         else if (code == XK_Up) {
            view_rotx += 5.0;
         }
         else if (code == XK_Down) {
            view_rotx -= 5.0;
         }
         else {
            r = XLookupString(&event->xkey, buffer, sizeof(buffer),
                              NULL, NULL);
            if (buffer[0] == 27) {
               /* escape */
               return EXIT;
            }
            else if (buffer[0] == 'a' || buffer[0] == 'A') {
               animate = !animate;
            }
         }
         return DRAW;
      }
   }
   return NOP;
}


static void
event_loop(Display *dpy, Window win)
{
   while (1) {
      int op;
      while (!animate || XPending(dpy) > 0) {
         XEvent event;
         XNextEvent(dpy, &event);
         op = handle_event(dpy, win, &event);
         if (op == EXIT)
            return;
         else if (op == DRAW)
            break;
      }

      draw_frame(dpy, win);
   }
}


static void
usage(void)
{
   printf("Usage:\n");
   printf("  -display <displayname>  set the display to run on\n");
   printf("  -stereo                 run in stereo mode\n");
   printf("  -fullscreen             run in fullscreen mode\n");
   printf("  -info                   display OpenGL renderer info\n");
   printf("  -geometry WxH+X+Y       window geometry\n");
}
 

int
main(int argc, char *argv[])
{
   unsigned int winWidth = 300, winHeight = 300;
   int x = 0, y = 0;
   Display *dpy;
   Window win;
   GLXContext ctx;
   char *dpyName = NULL;
   GLboolean printInfo = GL_FALSE;
   int i;

   for (i = 1; i < argc; i++) {
      if (strcmp(argv[i], "-display") == 0) {
         dpyName = argv[i+1];
         i++;
      }
      else if (strcmp(argv[i], "-info") == 0) {
         printInfo = GL_TRUE;
      }
      else if (strcmp(argv[i], "-stereo") == 0) {
         stereo = GL_TRUE;
      }
      else if (strcmp(argv[i], "-fullscreen") == 0) {
         fullscreen = GL_TRUE;
      }
      else if (i < argc-1 && strcmp(argv[i], "-geometry") == 0) {
         XParseGeometry(argv[i+1], &x, &y, &winWidth, &winHeight);
         i++;
      }
      else {
         usage();
         return -1;
      }
   }

   dpy = XOpenDisplay(dpyName);
   if (!dpy) {
      printf("Error: couldn't open display %s\n",
	     dpyName ? dpyName : getenv("DISPLAY"));
      return -1;
   }

   make_window(dpy, "glxgears", x, y, winWidth, winHeight, &win, &ctx);
   XMapWindow(dpy, win);
   glXMakeCurrent(dpy, win, ctx);
   query_vsync(dpy, win);

   if (printInfo) {
      printf("GL_RENDERER   = %s\n", (char *) glGetString(GL_RENDERER));
      printf("GL_VERSION    = %s\n", (char *) glGetString(GL_VERSION));
      printf("GL_VENDOR     = %s\n", (char *) glGetString(GL_VENDOR));
      printf("GL_EXTENSIONS = %s\n", (char *) glGetString(GL_EXTENSIONS));
   }

   init();

   /* Set initial projection/viewing transformation.
    * We can't be sure we'll get a ConfigureNotify event when the window
    * first appears.
    */
   reshape(winWidth, winHeight);

   event_loop(dpy, win);

   glDeleteLists(gear1, 1);
   glDeleteLists(gear2, 1);
   glDeleteLists(gear3, 1);
   glXMakeCurrent(dpy, None, NULL);
   glXDestroyContext(dpy, ctx);
   XDestroyWindow(dpy, win);
   XCloseDisplay(dpy);

   return 0;
}

Added xorg/mesa3d/glxinfo.c.























































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
/*
 * Copyright (C) 1999-2006  Brian Paul   All Rights Reserved.
 * 
 * Permission is hereby granted, free of charge, to any person obtaining a
 * copy of this software and associated documentation files (the "Software"),
 * to deal in the Software without restriction, including without limitation
 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
 * and/or sell copies of the Software, and to permit persons to whom the
 * Software is furnished to do so, subject to the following conditions:
 * 
 * The above copyright notice and this permission notice shall be included
 * in all copies or substantial portions of the Software.
 * 
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
 * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
 * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 */


/*
 * This program is a work-alike of the IRIX glxinfo program.
 * Command line options:
 *  -t                     print wide table
 *  -v                     print verbose information
 *  -display DisplayName   specify the X display to interogate
 *  -b                     only print ID of "best" visual on screen 0
 *  -i                     use indirect rendering connection only
 *  -l                     print interesting OpenGL limits (added 5 Sep 2002)
 *
 * Brian Paul  26 January 2000
 */

#define GLX_GLXEXT_PROTOTYPES

#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <GL/gl.h>
#include <GL/glx.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>


#ifndef GLX_NONE_EXT
#define GLX_NONE_EXT  0x8000
#endif

#ifndef GLX_TRANSPARENT_RGB
#define GLX_TRANSPARENT_RGB 0x8008
#endif

#ifndef GLX_RGBA_BIT
#define GLX_RGBA_BIT			0x00000001
#endif

#ifndef GLX_COLOR_INDEX_BIT
#define GLX_COLOR_INDEX_BIT		0x00000002
#endif

typedef enum
{
   Normal,
   Wide,
   Verbose
} InfoMode;


struct visual_attribs
{
   /* X visual attribs */
   int id;
   int klass;
   int depth;
   int redMask, greenMask, blueMask;
   int colormapSize;
   int bitsPerRGB;

   /* GL visual attribs */
   int supportsGL;
   int transparentType;
   int transparentRedValue;
   int transparentGreenValue;
   int transparentBlueValue;
   int transparentAlphaValue;
   int transparentIndexValue;
   int bufferSize;
   int level;
   int render_type;
   int doubleBuffer;
   int stereo;
   int auxBuffers;
   int redSize, greenSize, blueSize, alphaSize;
   int depthSize;
   int stencilSize;
   int accumRedSize, accumGreenSize, accumBlueSize, accumAlphaSize;
   int numSamples, numMultisample;
   int visualCaveat;
};

   
/*
 * Print a list of extensions, with word-wrapping.
 */
static void
print_extension_list(const char *ext)
{
   const char *indentString = "    ";
   const int indent = 4;
   const int max = 79;
   int width, i, j;

   if (!ext || !ext[0])
      return;

   width = indent;
   printf("%s", indentString);
   i = j = 0;
   while (1) {
      if (ext[j] == ' ' || ext[j] == 0) {
         /* found end of an extension name */
         const int len = j - i;
         if (width + len > max) {
            /* start a new line */
            printf("\n");
            width = indent;
            printf("%s", indentString);
         }
         /* print the extension name between ext[i] and ext[j] */
         while (i < j) {
            printf("%c", ext[i]);
            i++;
         }
         /* either we're all done, or we'll continue with next extension */
         width += len + 1;
         if (ext[j] == 0) {
            break;
         }
         else {
            i++;
            j++;
            if (ext[j] == 0)
               break;
            printf(", ");
            width += 2;
         }
      }
      j++;
   }
   printf("\n");
}


static void
print_display_info(Display *dpy)
{
   printf("name of display: %s\n", DisplayString(dpy));
}


/**
 * Print interesting limits for vertex/fragment programs.
 */
static void
print_program_limits(GLenum target)
{
#if defined(GL_ARB_vertex_program) || defined(GL_ARB_fragment_program)
   struct token_name {
      GLenum token;
      const char *name;
   };
   static const struct token_name common_limits[] = {
      { GL_MAX_PROGRAM_INSTRUCTIONS_ARB, "GL_MAX_PROGRAM_INSTRUCTIONS_ARB" },
      { GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB, "GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB" },
      { GL_MAX_PROGRAM_TEMPORARIES_ARB, "GL_MAX_PROGRAM_TEMPORARIES_ARB" },
      { GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB, "GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB" },
      { GL_MAX_PROGRAM_PARAMETERS_ARB, "GL_MAX_PROGRAM_PARAMETERS_ARB" },
      { GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB, "GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB" },
      { GL_MAX_PROGRAM_ATTRIBS_ARB, "GL_MAX_PROGRAM_ATTRIBS_ARB" },
      { GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB, "GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB" },
      { GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB, "GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB" },
      { GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB, "GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB" },
      { GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB, "GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB" },
      { GL_MAX_PROGRAM_ENV_PARAMETERS_ARB, "GL_MAX_PROGRAM_ENV_PARAMETERS_ARB" },
      { (GLenum) 0, NULL }
   };
   static const struct token_name fragment_limits[] = {
      { GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB, "GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB" },
      { GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB, "GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB" },
      { GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB, "GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB" },
      { GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB, "GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB" },
      { GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB, "GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB" },
      { GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB, "GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB" },
      { (GLenum) 0, NULL }
   };

   PFNGLGETPROGRAMIVARBPROC GetProgramivARB_func = (PFNGLGETPROGRAMIVARBPROC)
      glXGetProcAddressARB((GLubyte *) "glGetProgramivARB");

   GLint max[1];
   int i;

   if (target == GL_VERTEX_PROGRAM_ARB) {
      printf("    GL_VERTEX_PROGRAM_ARB:\n");
   }
   else if (target == GL_FRAGMENT_PROGRAM_ARB) {
      printf("    GL_FRAGMENT_PROGRAM_ARB:\n");
   }
   else {
      return; /* something's wrong */
   }

   for (i = 0; common_limits[i].token; i++) {
      GetProgramivARB_func(target, common_limits[i].token, max);
      if (glGetError() == GL_NO_ERROR) {
         printf("        %s = %d\n", common_limits[i].name, max[0]);
      }
   }
   if (target == GL_FRAGMENT_PROGRAM_ARB) {
      for (i = 0; fragment_limits[i].token; i++) {
         GetProgramivARB_func(target, fragment_limits[i].token, max);
         if (glGetError() == GL_NO_ERROR) {
            printf("        %s = %d\n", fragment_limits[i].name, max[0]);
         }
      }
   }
#endif /* GL_ARB_vertex_program / GL_ARB_fragment_program */
}


/**
 * Print interesting limits for vertex/fragment shaders.
 */
static void
print_shader_limits(GLenum target)
{
   struct token_name {
      GLenum token;
      const char *name;
   };
#if defined(GL_ARB_vertex_shader)
   static const struct token_name vertex_limits[] = {
      { GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB, "GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB" },
      { GL_MAX_VARYING_FLOATS_ARB, "GL_MAX_VARYING_FLOATS_ARB" },
      { GL_MAX_VERTEX_ATTRIBS_ARB, "GL_MAX_VERTEX_ATTRIBS_ARB" },
      { GL_MAX_TEXTURE_IMAGE_UNITS_ARB, "GL_MAX_TEXTURE_IMAGE_UNITS_ARB" },
      { GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB, "GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB" },
      { GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB, "GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB" },
      { GL_MAX_TEXTURE_COORDS_ARB, "GL_MAX_TEXTURE_COORDS_ARB" },
      { (GLenum) 0, NULL }
   };
#endif
#if defined(GL_ARB_fragment_shader)
   static const struct token_name fragment_limits[] = {
      { GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB, "GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB" },
      { GL_MAX_TEXTURE_COORDS_ARB, "GL_MAX_TEXTURE_COORDS_ARB" },
      { GL_MAX_TEXTURE_IMAGE_UNITS_ARB, "GL_MAX_TEXTURE_IMAGE_UNITS_ARB" },
      { (GLenum) 0, NULL }
   };
#endif
   GLint max[1];
   int i;

#if defined(GL_ARB_vertex_shader)
   if (target == GL_VERTEX_SHADER_ARB) {
      printf("    GL_VERTEX_SHADER_ARB:\n");
      for (i = 0; vertex_limits[i].token; i++) {
         glGetIntegerv(vertex_limits[i].token, max);
         if (glGetError() == GL_NO_ERROR) {
            printf("        %s = %d\n", vertex_limits[i].name, max[0]);
         }
      }
   }
#endif
#if defined(GL_ARB_fragment_shader)
   if (target == GL_FRAGMENT_SHADER_ARB) {
      printf("    GL_FRAGMENT_SHADER_ARB:\n");
      for (i = 0; fragment_limits[i].token; i++) {
         glGetIntegerv(fragment_limits[i].token, max);
         if (glGetError() == GL_NO_ERROR) {
            printf("        %s = %d\n", fragment_limits[i].name, max[0]);
         }
      }
   }
#endif
}


/**
 * Print interesting OpenGL implementation limits.
 */
static void
print_limits(const char *extensions)
{
   struct token_name {
      GLuint count;
      GLenum token;
      const char *name;
   };
   static const struct token_name limits[] = {
      { 1, GL_MAX_ATTRIB_STACK_DEPTH, "GL_MAX_ATTRIB_STACK_DEPTH" },
      { 1, GL_MAX_CLIENT_ATTRIB_STACK_DEPTH, "GL_MAX_CLIENT_ATTRIB_STACK_DEPTH" },
      { 1, GL_MAX_CLIP_PLANES, "GL_MAX_CLIP_PLANES" },
      { 1, GL_MAX_COLOR_MATRIX_STACK_DEPTH, "GL_MAX_COLOR_MATRIX_STACK_DEPTH" },
      { 1, GL_MAX_ELEMENTS_VERTICES, "GL_MAX_ELEMENTS_VERTICES" },
      { 1, GL_MAX_ELEMENTS_INDICES, "GL_MAX_ELEMENTS_INDICES" },
      { 1, GL_MAX_EVAL_ORDER, "GL_MAX_EVAL_ORDER" },
      { 1, GL_MAX_LIGHTS, "GL_MAX_LIGHTS" },
      { 1, GL_MAX_LIST_NESTING, "GL_MAX_LIST_NESTING" },
      { 1, GL_MAX_MODELVIEW_STACK_DEPTH, "GL_MAX_MODELVIEW_STACK_DEPTH" },
      { 1, GL_MAX_NAME_STACK_DEPTH, "GL_MAX_NAME_STACK_DEPTH" },
      { 1, GL_MAX_PIXEL_MAP_TABLE, "GL_MAX_PIXEL_MAP_TABLE" },
      { 1, GL_MAX_PROJECTION_STACK_DEPTH, "GL_MAX_PROJECTION_STACK_DEPTH" },
      { 1, GL_MAX_TEXTURE_STACK_DEPTH, "GL_MAX_TEXTURE_STACK_DEPTH" },
      { 1, GL_MAX_TEXTURE_SIZE, "GL_MAX_TEXTURE_SIZE" },
      { 1, GL_MAX_3D_TEXTURE_SIZE, "GL_MAX_3D_TEXTURE_SIZE" },
      { 2, GL_MAX_VIEWPORT_DIMS, "GL_MAX_VIEWPORT_DIMS" },
      { 2, GL_ALIASED_LINE_WIDTH_RANGE, "GL_ALIASED_LINE_WIDTH_RANGE" },
      { 2, GL_SMOOTH_LINE_WIDTH_RANGE, "GL_SMOOTH_LINE_WIDTH_RANGE" },
      { 2, GL_ALIASED_POINT_SIZE_RANGE, "GL_ALIASED_POINT_SIZE_RANGE" },
      { 2, GL_SMOOTH_POINT_SIZE_RANGE, "GL_SMOOTH_POINT_SIZE_RANGE" },
#if defined(GL_ARB_texture_cube_map)
      { 1, GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB, "GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB" },
#endif
#if defined(GLX_NV_texture_rectangle)
      { 1, GL_MAX_RECTANGLE_TEXTURE_SIZE_NV, "GL_MAX_RECTANGLE_TEXTURE_SIZE_NV" },
#endif
#if defined(GL_ARB_texture_compression)
      { 1, GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB, "GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB" },
#endif
#if defined(GL_ARB_multitexture)
      { 1, GL_MAX_TEXTURE_UNITS_ARB, "GL_MAX_TEXTURE_UNITS_ARB" },
#endif
#if defined(GL_EXT_texture_lod_bias)
      { 1, GL_MAX_TEXTURE_LOD_BIAS_EXT, "GL_MAX_TEXTURE_LOD_BIAS_EXT" },
#endif
#if defined(GL_EXT_texture_filter_anisotropic)
      { 1, GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, "GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT" },
#endif
#if defined(GL_ARB_draw_buffers)
      { 1, GL_MAX_DRAW_BUFFERS_ARB, "GL_MAX_DRAW_BUFFERS_ARB" },
#endif
      { 0, (GLenum) 0, NULL }
   };
   GLint i, max[2];

   printf("OpenGL limits:\n");
   for (i = 0; limits[i].count; i++) {
      glGetIntegerv(limits[i].token, max);
      if (glGetError() == GL_NO_ERROR) {
         if (limits[i].count == 1)
            printf("    %s = %d\n", limits[i].name, max[0]);
         else /* XXX fix if we ever query something with more than 2 values */
            printf("    %s = %d, %d\n", limits[i].name, max[0], max[1]);
      }
   }

   /* these don't fit into the above mechanism, unfortunately */
   glGetConvolutionParameteriv(GL_CONVOLUTION_2D, GL_MAX_CONVOLUTION_WIDTH, max);
   glGetConvolutionParameteriv(GL_CONVOLUTION_2D, GL_MAX_CONVOLUTION_HEIGHT, max+1);
   if (glGetError() == GL_NONE) {
      printf("    GL_MAX_CONVOLUTION_WIDTH/HEIGHT = %d, %d\n", max[0], max[1]);
   }

#if defined(GL_ARB_vertex_program)
   if (strstr(extensions, "GL_ARB_vertex_program")) {
      print_program_limits(GL_VERTEX_PROGRAM_ARB);
   }
#endif
#if defined(GL_ARB_fragment_program)
   if (strstr(extensions, "GL_ARB_fragment_program")) {
      print_program_limits(GL_FRAGMENT_PROGRAM_ARB);
   }
#endif
#if defined(GL_ARB_vertex_shader)
   if (strstr(extensions, "GL_ARB_vertex_shader")) {
      print_shader_limits(GL_VERTEX_SHADER_ARB);
   }
#endif
#if defined(GL_ARB_fragment_shader)
   if (strstr(extensions, "GL_ARB_fragment_shader")) {
      print_shader_limits(GL_FRAGMENT_SHADER_ARB);
   }
#endif
}


static void
print_screen_info(Display *dpy, int scrnum, Bool allowDirect, GLboolean limits)
{
   Window win;
   int attribSingle[] = {
      GLX_RGBA,
      GLX_RED_SIZE, 1,
      GLX_GREEN_SIZE, 1,
      GLX_BLUE_SIZE, 1,
      None };
   int attribDouble[] = {
      GLX_RGBA,
      GLX_RED_SIZE, 1,
      GLX_GREEN_SIZE, 1,
      GLX_BLUE_SIZE, 1,
      GLX_DOUBLEBUFFER,
      None };

   XSetWindowAttributes attr;
   unsigned long mask;
   Window root;
   GLXContext ctx = NULL;
   XVisualInfo *visinfo;
   int width = 100, height = 100;

   root = RootWindow(dpy, scrnum);

   /*
    * Find a basic GLX visual.  We'll then create a rendering context and
    * query various info strings.
    */
   visinfo = glXChooseVisual(dpy, scrnum, attribSingle);
   if (!visinfo)
      visinfo = glXChooseVisual(dpy, scrnum, attribDouble);

   if (visinfo)
      ctx = glXCreateContext( dpy, visinfo, NULL, allowDirect );

#ifdef GLX_VERSION_1_3
   /* Try glXChooseFBConfig() if glXChooseVisual didn't work.
    * XXX when would that happen?
    */
   if (!visinfo) {
      int fbAttribSingle[] = {
	 GLX_RENDER_TYPE,   GLX_RGBA_BIT,
	 GLX_RED_SIZE,      1,
	 GLX_GREEN_SIZE,    1,
	 GLX_BLUE_SIZE,     1,
	 GLX_DOUBLEBUFFER,  GL_FALSE,
	 None };
      int fbAttribDouble[] = {
	 GLX_RENDER_TYPE,   GLX_RGBA_BIT,
	 GLX_RED_SIZE,      1,
	 GLX_GREEN_SIZE,    1,
	 GLX_BLUE_SIZE,     1,
	 GLX_DOUBLEBUFFER,  GL_TRUE,
	 None };
      GLXFBConfig *configs = NULL;
      int nConfigs;

      configs = glXChooseFBConfig(dpy, scrnum, fbAttribSingle, &nConfigs);
      if (!configs)
	 configs = glXChooseFBConfig(dpy, scrnum, fbAttribDouble, &nConfigs);

      if (configs) {
	 visinfo = glXGetVisualFromFBConfig(dpy, configs[0]);
	 ctx = glXCreateNewContext(dpy, configs[0], GLX_RGBA_TYPE, NULL, allowDirect);
	 XFree(configs);
      }
   }
#endif

   if (!visinfo) {
      fprintf(stderr, "Error: couldn't find RGB GLX visual or fbconfig\n");
      return;
   }

   if (!ctx) {
      fprintf(stderr, "Error: glXCreateContext failed\n");
      XFree(visinfo);
      return;
   }

   attr.background_pixel = 0;
   attr.border_pixel = 0;
   attr.colormap = XCreateColormap(dpy, root, visinfo->visual, AllocNone);
   attr.event_mask = StructureNotifyMask | ExposureMask;
   mask = CWBackPixel | CWBorderPixel | CWColormap | CWEventMask;
   win = XCreateWindow(dpy, root, 0, 0, width, height,
		       0, visinfo->depth, InputOutput,
		       visinfo->visual, mask, &attr);

   if (glXMakeCurrent(dpy, win, ctx)) {
      const char *serverVendor = glXQueryServerString(dpy, scrnum, GLX_VENDOR);
      const char *serverVersion = glXQueryServerString(dpy, scrnum, GLX_VERSION);
      const char *serverExtensions = glXQueryServerString(dpy, scrnum, GLX_EXTENSIONS);
      const char *clientVendor = glXGetClientString(dpy, GLX_VENDOR);
      const char *clientVersion = glXGetClientString(dpy, GLX_VERSION);
      const char *clientExtensions = glXGetClientString(dpy, GLX_EXTENSIONS);
      const char *glxExtensions = glXQueryExtensionsString(dpy, scrnum);
      const char *glVendor = (const char *) glGetString(GL_VENDOR);
      const char *glRenderer = (const char *) glGetString(GL_RENDERER);
      const char *glVersion = (const char *) glGetString(GL_VERSION);
      const char *glExtensions = (const char *) glGetString(GL_EXTENSIONS);
      int glxVersionMajor;
      int glxVersionMinor;
      char *displayName = NULL;
      char *colon = NULL, *period = NULL;
      
      if (! glXQueryVersion( dpy, & glxVersionMajor, & glxVersionMinor )) {
         fprintf(stderr, "Error: glXQueryVersion failed\n");
         exit(1);
      }

      /* Strip the screen number from the display name, if present. */
      if (!(displayName = (char *) malloc(strlen(DisplayString(dpy)) + 1))) {
         fprintf(stderr, "Error: malloc() failed\n");
         exit(1);
      }
      strcpy(displayName, DisplayString(dpy));
      colon = strrchr(displayName, ':');
      if (colon) {
         period = strchr(colon, '.');
         if (period)
            *period = '\0';
      }
      printf("display: %s  screen: %d\n", displayName, scrnum);
      free(displayName);
      printf("direct rendering: ");
      if (glXIsDirect(dpy, ctx)) {
         printf("Yes\n");
      } else {
         if (!allowDirect) {
            printf("No (-i specified)\n");
         } else if (getenv("LIBGL_ALWAYS_INDIRECT")) {
            printf("No (LIBGL_ALWAYS_INDIRECT set)\n");
         } else {
            printf("No (If you want to find out why, try setting "
                   "LIBGL_DEBUG=verbose)\n");
         }
      }
      printf("server glx vendor string: %s\n", serverVendor);
      printf("server glx version string: %s\n", serverVersion);
      printf("server glx extensions:\n");
      print_extension_list(serverExtensions);
      printf("client glx vendor string: %s\n", clientVendor);
      printf("client glx version string: %s\n", clientVersion);
      printf("client glx extensions:\n");
      print_extension_list(clientExtensions);
      printf("GLX version: %u.%u\n", glxVersionMajor, glxVersionMinor);
      printf("GLX extensions:\n");
      print_extension_list(glxExtensions);
      printf("OpenGL vendor string: %s\n", glVendor);
      printf("OpenGL renderer string: %s\n", glRenderer);
      printf("OpenGL version string: %s\n", glVersion);
#ifdef GL_VERSION_2_0
      if (glVersion[0] >= '2' && glVersion[1] == '.') {
         char *v = (char *) glGetString(GL_SHADING_LANGUAGE_VERSION);
         printf("OpenGL shading language version string: %s\n", v);
      }
#endif

      printf("OpenGL extensions:\n");
      print_extension_list(glExtensions);
      if (limits)
         print_limits(glExtensions);
   }
   else {
      fprintf(stderr, "Error: glXMakeCurrent failed\n");
   }

   glXDestroyContext(dpy, ctx);
   XFree(visinfo);
   XDestroyWindow(dpy, win);
}


static const char *
visual_class_name(int cls)
{
   switch (cls) {
      case StaticColor:
         return "StaticColor";
      case PseudoColor:
         return "PseudoColor";
      case StaticGray:
         return "StaticGray";
      case GrayScale:
         return "GrayScale";
      case TrueColor:
         return "TrueColor";
      case DirectColor:
         return "DirectColor";
      default:
         return "";
   }
}


static const char *
visual_class_abbrev(int cls)
{
   switch (cls) {
      case StaticColor:
         return "sc";
      case PseudoColor:
         return "pc";
      case StaticGray:
         return "sg";
      case GrayScale:
         return "gs";
      case TrueColor:
         return "tc";
      case DirectColor:
         return "dc";
      default:
         return "";
   }
}

static const char *
visual_render_type_name(int type)
{
   switch (type) {
      case GLX_RGBA_BIT:
         return "rgba";
      case GLX_COLOR_INDEX_BIT:
         return "ci";
      case GLX_RGBA_BIT | GLX_COLOR_INDEX_BIT:
         return "rgba|ci";
      default:
         return "";
      }
}

static GLboolean
get_visual_attribs(Display *dpy, XVisualInfo *vInfo,
                   struct visual_attribs *attribs)
{
   const char *ext = glXQueryExtensionsString(dpy, vInfo->screen);
   int rgba;

   memset(attribs, 0, sizeof(struct visual_attribs));

   attribs->id = vInfo->visualid;
#if defined(__cplusplus) || defined(c_plusplus)
   attribs->klass = vInfo->c_class;
#else
   attribs->klass = vInfo->class;
#endif
   attribs->depth = vInfo->depth;
   attribs->redMask = vInfo->red_mask;
   attribs->greenMask = vInfo->green_mask;
   attribs->blueMask = vInfo->blue_mask;
   attribs->colormapSize = vInfo->colormap_size;
   attribs->bitsPerRGB = vInfo->bits_per_rgb;

   if (glXGetConfig(dpy, vInfo, GLX_USE_GL, &attribs->supportsGL) != 0 ||
       !attribs->supportsGL)
      return GL_FALSE;
   glXGetConfig(dpy, vInfo, GLX_BUFFER_SIZE, &attribs->bufferSize);
   glXGetConfig(dpy, vInfo, GLX_LEVEL, &attribs->level);
   glXGetConfig(dpy, vInfo, GLX_RGBA, &rgba);
   if (rgba)
      attribs->render_type = GLX_RGBA_BIT;
   else
      attribs->render_type = GLX_COLOR_INDEX_BIT;
   
   glXGetConfig(dpy, vInfo, GLX_DOUBLEBUFFER, &attribs->doubleBuffer);
   glXGetConfig(dpy, vInfo, GLX_STEREO, &attribs->stereo);
   glXGetConfig(dpy, vInfo, GLX_AUX_BUFFERS, &attribs->auxBuffers);
   glXGetConfig(dpy, vInfo, GLX_RED_SIZE, &attribs->redSize);
   glXGetConfig(dpy, vInfo, GLX_GREEN_SIZE, &attribs->greenSize);
   glXGetConfig(dpy, vInfo, GLX_BLUE_SIZE, &attribs->blueSize);
   glXGetConfig(dpy, vInfo, GLX_ALPHA_SIZE, &attribs->alphaSize);
   glXGetConfig(dpy, vInfo, GLX_DEPTH_SIZE, &attribs->depthSize);
   glXGetConfig(dpy, vInfo, GLX_STENCIL_SIZE, &attribs->stencilSize);
   glXGetConfig(dpy, vInfo, GLX_ACCUM_RED_SIZE, &attribs->accumRedSize);
   glXGetConfig(dpy, vInfo, GLX_ACCUM_GREEN_SIZE, &attribs->accumGreenSize);
   glXGetConfig(dpy, vInfo, GLX_ACCUM_BLUE_SIZE, &attribs->accumBlueSize);
   glXGetConfig(dpy, vInfo, GLX_ACCUM_ALPHA_SIZE, &attribs->accumAlphaSize);

   /* get transparent pixel stuff */
   glXGetConfig(dpy, vInfo,GLX_TRANSPARENT_TYPE, &attribs->transparentType);
   if (attribs->transparentType == GLX_TRANSPARENT_RGB) {
     glXGetConfig(dpy, vInfo, GLX_TRANSPARENT_RED_VALUE, &attribs->transparentRedValue);
     glXGetConfig(dpy, vInfo, GLX_TRANSPARENT_GREEN_VALUE, &attribs->transparentGreenValue);
     glXGetConfig(dpy, vInfo, GLX_TRANSPARENT_BLUE_VALUE, &attribs->transparentBlueValue);
     glXGetConfig(dpy, vInfo, GLX_TRANSPARENT_ALPHA_VALUE, &attribs->transparentAlphaValue);
   }
   else if (attribs->transparentType == GLX_TRANSPARENT_INDEX) {
     glXGetConfig(dpy, vInfo, GLX_TRANSPARENT_INDEX_VALUE, &attribs->transparentIndexValue);
   }

   /* multisample attribs */
#ifdef GLX_ARB_multisample
   if (ext && strstr(ext, "GLX_ARB_multisample")) {
      glXGetConfig(dpy, vInfo, GLX_SAMPLE_BUFFERS_ARB, &attribs->numMultisample);
      glXGetConfig(dpy, vInfo, GLX_SAMPLES_ARB, &attribs->numSamples);
   }
#endif
   else {
      attribs->numSamples = 0;
      attribs->numMultisample = 0;
   }

#if defined(GLX_EXT_visual_rating)
   if (ext && strstr(ext, "GLX_EXT_visual_rating")) {
      glXGetConfig(dpy, vInfo, GLX_VISUAL_CAVEAT_EXT, &attribs->visualCaveat);
   }
   else {
      attribs->visualCaveat = GLX_NONE_EXT;
   }
#else
   attribs->visualCaveat = 0;
#endif

   return GL_TRUE;
}

#ifdef GLX_VERSION_1_3

static int
glx_token_to_visual_class(int visual_type)
{
   switch (visual_type) {
   case GLX_TRUE_COLOR:
      return TrueColor;
   case GLX_DIRECT_COLOR:
      return DirectColor;
   case GLX_PSEUDO_COLOR:
      return PseudoColor;
   case GLX_STATIC_COLOR:
      return StaticColor;
   case GLX_GRAY_SCALE:
      return GrayScale;
   case GLX_STATIC_GRAY:
      return StaticGray;
   case GLX_NONE:
   default:
      return None;
   }
}

static GLboolean
get_fbconfig_attribs(Display *dpy, GLXFBConfig fbconfig,
		     struct visual_attribs *attribs)
{
   int visual_type;

   memset(attribs, 0, sizeof(struct visual_attribs));

   glXGetFBConfigAttrib(dpy, fbconfig, GLX_FBCONFIG_ID, &attribs->id);

#if 0
   attribs->depth = vInfo->depth;
   attribs->redMask = vInfo->red_mask;
   attribs->greenMask = vInfo->green_mask;
   attribs->blueMask = vInfo->blue_mask;
   attribs->colormapSize = vInfo->colormap_size;
   attribs->bitsPerRGB = vInfo->bits_per_rgb;
#endif

   glXGetFBConfigAttrib(dpy, fbconfig, GLX_X_VISUAL_TYPE, &visual_type);
   attribs->klass = glx_token_to_visual_class(visual_type);

   glXGetFBConfigAttrib(dpy, fbconfig, GLX_BUFFER_SIZE, &attribs->bufferSize);
   glXGetFBConfigAttrib(dpy, fbconfig, GLX_LEVEL, &attribs->level);
   glXGetFBConfigAttrib(dpy, fbconfig, GLX_RENDER_TYPE, &attribs->render_type);
   glXGetFBConfigAttrib(dpy, fbconfig, GLX_DOUBLEBUFFER, &attribs->doubleBuffer);
   glXGetFBConfigAttrib(dpy, fbconfig, GLX_STEREO, &attribs->stereo);
   glXGetFBConfigAttrib(dpy, fbconfig, GLX_AUX_BUFFERS, &attribs->auxBuffers);

   glXGetFBConfigAttrib(dpy, fbconfig, GLX_RED_SIZE, &attribs->redSize);
   glXGetFBConfigAttrib(dpy, fbconfig, GLX_GREEN_SIZE, &attribs->greenSize);
   glXGetFBConfigAttrib(dpy, fbconfig, GLX_BLUE_SIZE, &attribs->blueSize);
   glXGetFBConfigAttrib(dpy, fbconfig, GLX_ALPHA_SIZE, &attribs->alphaSize);
   glXGetFBConfigAttrib(dpy, fbconfig, GLX_DEPTH_SIZE, &attribs->depthSize);
   glXGetFBConfigAttrib(dpy, fbconfig, GLX_STENCIL_SIZE, &attribs->stencilSize);

   glXGetFBConfigAttrib(dpy, fbconfig, GLX_ACCUM_RED_SIZE, &attribs->accumRedSize);
   glXGetFBConfigAttrib(dpy, fbconfig, GLX_ACCUM_GREEN_SIZE, &attribs->accumGreenSize);
   glXGetFBConfigAttrib(dpy, fbconfig, GLX_ACCUM_BLUE_SIZE, &attribs->accumBlueSize);
   glXGetFBConfigAttrib(dpy, fbconfig, GLX_ACCUM_ALPHA_SIZE, &attribs->accumAlphaSize);

   /* get transparent pixel stuff */
   glXGetFBConfigAttrib(dpy, fbconfig,GLX_TRANSPARENT_TYPE, &attribs->transparentType);
   if (attribs->transparentType == GLX_TRANSPARENT_RGB) {
     glXGetFBConfigAttrib(dpy, fbconfig, GLX_TRANSPARENT_RED_VALUE, &attribs->transparentRedValue);
     glXGetFBConfigAttrib(dpy, fbconfig, GLX_TRANSPARENT_GREEN_VALUE, &attribs->transparentGreenValue);
     glXGetFBConfigAttrib(dpy, fbconfig, GLX_TRANSPARENT_BLUE_VALUE, &attribs->transparentBlueValue);
     glXGetFBConfigAttrib(dpy, fbconfig, GLX_TRANSPARENT_ALPHA_VALUE, &attribs->transparentAlphaValue);
   }
   else if (attribs->transparentType == GLX_TRANSPARENT_INDEX) {
     glXGetFBConfigAttrib(dpy, fbconfig, GLX_TRANSPARENT_INDEX_VALUE, &attribs->transparentIndexValue);
   }

   glXGetFBConfigAttrib(dpy, fbconfig, GLX_SAMPLE_BUFFERS, &attribs->numMultisample);
   glXGetFBConfigAttrib(dpy, fbconfig, GLX_SAMPLES, &attribs->numSamples);
   glXGetFBConfigAttrib(dpy, fbconfig, GLX_CONFIG_CAVEAT, &attribs->visualCaveat);

   return GL_TRUE;
}

#endif



static void
print_visual_attribs_verbose(const struct visual_attribs *attribs)
{
   printf("Visual ID: %x  depth=%d  class=%s\n",
          attribs->id, attribs->depth, visual_class_name(attribs->klass));
   printf("    bufferSize=%d level=%d renderType=%s doubleBuffer=%d stereo=%d\n",
          attribs->bufferSize, attribs->level,
	  visual_render_type_name(attribs->render_type),
          attribs->doubleBuffer, attribs->stereo);
   printf("    rgba: redSize=%d greenSize=%d blueSize=%d alphaSize=%d\n",
          attribs->redSize, attribs->greenSize,
          attribs->blueSize, attribs->alphaSize);
   printf("    auxBuffers=%d depthSize=%d stencilSize=%d\n",
          attribs->auxBuffers, attribs->depthSize, attribs->stencilSize);
   printf("    accum: redSize=%d greenSize=%d blueSize=%d alphaSize=%d\n",
          attribs->accumRedSize, attribs->accumGreenSize,
          attribs->accumBlueSize, attribs->accumAlphaSize);
   printf("    multiSample=%d  multiSampleBuffers=%d\n",
          attribs->numSamples, attribs->numMultisample);
#ifdef GLX_EXT_visual_rating
   if (attribs->visualCaveat == GLX_NONE_EXT || attribs->visualCaveat == 0)
      printf("    visualCaveat=None\n");
   else if (attribs->visualCaveat == GLX_SLOW_VISUAL_EXT)
      printf("    visualCaveat=Slow\n");
   else if (attribs->visualCaveat == GLX_NON_CONFORMANT_VISUAL_EXT)
      printf("    visualCaveat=Nonconformant\n");
#endif
   if (attribs->transparentType == GLX_NONE) {
     printf("    Opaque.\n");
   }
   else if (attribs->transparentType == GLX_TRANSPARENT_RGB) {
     printf("    Transparent RGB: Red=%d Green=%d Blue=%d Alpha=%d\n",attribs->transparentRedValue,attribs->transparentGreenValue,attribs->transparentBlueValue,attribs->transparentAlphaValue);
   }
   else if (attribs->transparentType == GLX_TRANSPARENT_INDEX) {
     printf("    Transparent index=%d\n",attribs->transparentIndexValue);
   }
}


static void
print_visual_attribs_short_header(void)
{
 printf("   visual  x  bf lv rg d st colorbuffer ax dp st accumbuffer  ms  cav\n");
 printf(" id dep cl sp sz l  ci b ro  r  g  b  a bf th cl  r  g  b  a ns b eat\n");
 printf("----------------------------------------------------------------------\n");
}


static void
print_visual_attribs_short(const struct visual_attribs *attribs)
{
   char *caveat = NULL;
#ifdef GLX_EXT_visual_rating
   if (attribs->visualCaveat == GLX_NONE_EXT || attribs->visualCaveat == 0)
      caveat = "None";
   else if (attribs->visualCaveat == GLX_SLOW_VISUAL_EXT)
      caveat = "Slow";
   else if (attribs->visualCaveat == GLX_NON_CONFORMANT_VISUAL_EXT)
      caveat = "Ncon";
   else
      caveat = "None";
#else
   caveat = "None";
#endif 

   printf("0x%02x %2d %2s %2d %2d %2d %c%c %c  %c %2d %2d %2d %2d %2d %2d %2d",
          attribs->id,
          attribs->depth,
          visual_class_abbrev(attribs->klass),
          attribs->transparentType != GLX_NONE,
          attribs->bufferSize,
          attribs->level,
          (attribs->render_type & GLX_RGBA_BIT) ? 'r' : ' ',
          (attribs->render_type & GLX_COLOR_INDEX_BIT) ? 'c' : ' ',
          attribs->doubleBuffer ? 'y' : '.',
          attribs->stereo ? 'y' : '.',
          attribs->redSize, attribs->greenSize,
          attribs->blueSize, attribs->alphaSize,
          attribs->auxBuffers,
          attribs->depthSize,
          attribs->stencilSize
          );

   printf(" %2d %2d %2d %2d %2d %1d %s\n",
          attribs->accumRedSize, attribs->accumGreenSize,
          attribs->accumBlueSize, attribs->accumAlphaSize,
          attribs->numSamples, attribs->numMultisample,
          caveat
          );
}


static void
print_visual_attribs_long_header(void)
{
 printf("Vis  Vis   Visual Trans  buff lev render DB ste  r   g   b   a  aux dep ste  accum buffers  MS   MS\n");
 printf(" ID Depth   Type  parent size el   type     reo sz  sz  sz  sz  buf th  ncl  r   g   b   a  num bufs\n");
 printf("----------------------------------------------------------------------------------------------------\n");
}


static void
print_visual_attribs_long(const struct visual_attribs *attribs)
{
   printf("0x%2x %2d %-11s %2d     %2d %2d  %4s %3d %3d %3d %3d %3d %3d",
          attribs->id,
          attribs->depth,
          visual_class_name(attribs->klass),
          attribs->transparentType != GLX_NONE,
          attribs->bufferSize,
          attribs->level,
          visual_render_type_name(attribs->render_type),
          attribs->doubleBuffer,
          attribs->stereo,
          attribs->redSize, attribs->greenSize,
          attribs->blueSize, attribs->alphaSize
          );

   printf(" %3d %4d %2d %3d %3d %3d %3d  %2d  %2d\n",
          attribs->auxBuffers,
          attribs->depthSize,
          attribs->stencilSize,
          attribs->accumRedSize, attribs->accumGreenSize,
          attribs->accumBlueSize, attribs->accumAlphaSize,
          attribs->numSamples, attribs->numMultisample
          );
}


static void
print_visual_info(Display *dpy, int scrnum, InfoMode mode)
{
   XVisualInfo theTemplate;
   XVisualInfo *visuals;
   int numVisuals, numGlxVisuals;
   long mask;
   int i;
   struct visual_attribs attribs;

   /* get list of all visuals on this screen */
   theTemplate.screen = scrnum;
   mask = VisualScreenMask;
   visuals = XGetVisualInfo(dpy, mask, &theTemplate, &numVisuals);

   numGlxVisuals = 0;
   for (i = 0; i < numVisuals; i++) {
      if (get_visual_attribs(dpy, &visuals[i], &attribs))
	 numGlxVisuals++;
   }

   if (numGlxVisuals == 0)
      return;

   printf("%d GLX Visuals\n", numGlxVisuals);

   if (mode == Normal)
      print_visual_attribs_short_header();
   else if (mode == Wide)
      print_visual_attribs_long_header();

   for (i = 0; i < numVisuals; i++) {
      if (!get_visual_attribs(dpy, &visuals[i], &attribs))
	 continue;

      if (mode == Verbose)
	 print_visual_attribs_verbose(&attribs);
      else if (mode == Normal)
         print_visual_attribs_short(&attribs);
      else if (mode == Wide) 
         print_visual_attribs_long(&attribs);
   }
   printf("\n");

   XFree(visuals);
}

#ifdef GLX_VERSION_1_3

static void
print_fbconfig_info(Display *dpy, int scrnum, InfoMode mode)
{
   int numFBConfigs = 0;
   struct visual_attribs attribs;
   GLXFBConfig *fbconfigs;
   int i;

   /* get list of all fbconfigs on this screen */
   fbconfigs = glXGetFBConfigs(dpy, scrnum, &numFBConfigs);

   if (numFBConfigs == 0) {
      XFree(fbconfigs);
      return;
   }

   printf("%d GLXFBConfigs:\n", numFBConfigs);
   if (mode == Normal)
      print_visual_attribs_short_header();
   else if (mode == Wide)
      print_visual_attribs_long_header();

   for (i = 0; i < numFBConfigs; i++) {
      get_fbconfig_attribs(dpy, fbconfigs[i], &attribs);

      if (mode == Verbose) 
         print_visual_attribs_verbose(&attribs);
      else if (mode == Normal)
	 print_visual_attribs_short(&attribs);
      else if (mode == Wide)
         print_visual_attribs_long(&attribs);
   }
   printf("\n");

   XFree(fbconfigs);
}

#endif

/*
 * Stand-alone Mesa doesn't really implement the GLX protocol so it
 * doesn't really know the GLX attributes associated with an X visual.
 * The first time a visual is presented to Mesa's pseudo-GLX it
 * attaches ancilliary buffers to it (like depth and stencil).
 * But that usually only works if glXChooseVisual is used.
 * This function calls glXChooseVisual() to sort of "prime the pump"
 * for Mesa's GLX so that the visuals that get reported actually
 * reflect what applications will see.
 * This has no effect when using true GLX.
 */
static void
mesa_hack(Display *dpy, int scrnum)
{
   static int attribs[] = {
      GLX_RGBA,
      GLX_RED_SIZE, 1,
      GLX_GREEN_SIZE, 1,
      GLX_BLUE_SIZE, 1,
      GLX_DEPTH_SIZE, 1,
      GLX_STENCIL_SIZE, 1,
      GLX_ACCUM_RED_SIZE, 1,
      GLX_ACCUM_GREEN_SIZE, 1,
      GLX_ACCUM_BLUE_SIZE, 1,
      GLX_ACCUM_ALPHA_SIZE, 1,
      GLX_DOUBLEBUFFER,
      None
   };
   XVisualInfo *visinfo;

   visinfo = glXChooseVisual(dpy, scrnum, attribs);
   if (visinfo)
      XFree(visinfo);
}


/*
 * Examine all visuals to find the so-called best one.
 * We prefer deepest RGBA buffer with depth, stencil and accum
 * that has no caveats.
 */
static int
find_best_visual(Display *dpy, int scrnum)
{
   XVisualInfo theTemplate;
   XVisualInfo *visuals;
   int numVisuals;
   long mask;
   int i;
   struct visual_attribs bestVis;

   /* get list of all visuals on this screen */
   theTemplate.screen = scrnum;
   mask = VisualScreenMask;
   visuals = XGetVisualInfo(dpy, mask, &theTemplate, &numVisuals);

   /* init bestVis with first visual info */
   get_visual_attribs(dpy, &visuals[0], &bestVis);

   /* try to find a "better" visual */
   for (i = 1; i < numVisuals; i++) {
      struct visual_attribs vis;

      get_visual_attribs(dpy, &visuals[i], &vis);

      /* always skip visuals with caveats */
      if (vis.visualCaveat != GLX_NONE_EXT)
         continue;

      /* see if this vis is better than bestVis */
      if ((!bestVis.supportsGL && vis.supportsGL) ||
          (bestVis.visualCaveat != GLX_NONE_EXT) ||
          (!(bestVis.render_type & GLX_RGBA_BIT) && (vis.render_type & GLX_RGBA_BIT)) ||
          (!bestVis.doubleBuffer && vis.doubleBuffer) ||
          (bestVis.redSize < vis.redSize) ||
          (bestVis.greenSize < vis.greenSize) ||
          (bestVis.blueSize < vis.blueSize) ||
          (bestVis.alphaSize < vis.alphaSize) ||
          (bestVis.depthSize < vis.depthSize) ||
          (bestVis.stencilSize < vis.stencilSize) ||
          (bestVis.accumRedSize < vis.accumRedSize)) {
         /* found a better visual */
         bestVis = vis;
      }
   }

   XFree(visuals);

   return bestVis.id;
}


static void
usage(void)
{
   printf("Usage: glxinfo [-v] [-t] [-h] [-i] [-b] [-display <dname>]\n");
   printf("\t-v: Print visuals info in verbose form.\n");
   printf("\t-t: Print verbose table.\n");
   printf("\t-display <dname>: Print GLX visuals on specified server.\n");
   printf("\t-h: This information.\n");
   printf("\t-i: Force an indirect rendering context.\n");
   printf("\t-b: Find the 'best' visual and print its number.\n");
   printf("\t-l: Print interesting OpenGL limits.\n");
}


int
main(int argc, char *argv[])
{
   char *displayName = NULL;
   Display *dpy;
   int numScreens, scrnum;
   InfoMode mode = Normal;
   GLboolean findBest = GL_FALSE;
   GLboolean limits = GL_FALSE;
   Bool allowDirect = True;
   int i;

   for (i = 1; i < argc; i++) {
      if (strcmp(argv[i], "-display") == 0 && i + 1 < argc) {
         displayName = argv[i + 1];
         i++;
      }
      else if (strcmp(argv[i], "-t") == 0) {
         mode = Wide;
      }
      else if (strcmp(argv[i], "-v") == 0) {
         mode = Verbose;
      }
      else if (strcmp(argv[i], "-b") == 0) {
         findBest = GL_TRUE;
      }
      else if (strcmp(argv[i], "-i") == 0) {
         allowDirect = False;
      }
      else if (strcmp(argv[i], "-l") == 0) {
         limits = GL_TRUE;
      }
      else if (strcmp(argv[i], "-h") == 0) {
         usage();
         return 0;
      }
      else {
         printf("Unknown option `%s'\n", argv[i]);
         usage();
         return 0;
      }
   }

   dpy = XOpenDisplay(displayName);
   if (!dpy) {
      fprintf(stderr, "Error: unable to open display %s\n", XDisplayName(displayName));
      return -1;
   }

   if (findBest) {
      int b;
      mesa_hack(dpy, 0);
      b = find_best_visual(dpy, 0);
      printf("%d\n", b);
   }
   else {
      numScreens = ScreenCount(dpy);
      print_display_info(dpy);
      for (scrnum = 0; scrnum < numScreens; scrnum++) {
         mesa_hack(dpy, scrnum);
         print_screen_info(dpy, scrnum, allowDirect, limits);
         printf("\n");
         print_visual_info(dpy, scrnum, mode);
#ifdef GLX_VERSION_1_3
         print_fbconfig_info(dpy, scrnum, mode);
#endif
         if (scrnum + 1 < numScreens)
            printf("\n\n");
      }
   }

   XCloseDisplay(dpy);

   return 0;
}

Added xorg/polyglotman/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: man page translator
# URL: http://polyglotman.sourceforge.net
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu

name=polyglotman
version=3.2
release=1
source=(http://dl.sourceforge.net/$name/rman-$version.tar.gz)

build() {
	cd rman-$version

	make

	install -d $PKG/usr/bin
	install -d $PKG/usr/man/man1

	make BINDIR=$PKG/usr/bin MANDIR=$PKG/usr/man/man1 install
}

Added xorg/xkeyboard-config/Pkgfile.

















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Description: X keyboard configuration database
# URL: http://www.freedesktop.org/wiki/Software_2fXKeyboardConfig
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-xkbcomp, intltool

name=xkeyboard-config
version=2.5
release=1
source=(http://www.x.org/releases/individual/data/$name/$name-$version.tar.bz2)

build() {
	cd xkeyboard-config-$version

	./configure --prefix=/usr \
	            --with-xkb-base=/usr/share/X11/xkb \
	            --with-xkb-rules-symlink=xorg

	make
	make DESTDIR=$PKG install

	rm -rf $PKG/usr/share/locale

	ln -s /var/lib/xkb $PKG/usr/share/X11/xkb/compiled 
}

Added xorg/xorg-bdftopcf/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: BDF to PCF font file converter
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-libxfont

name=xorg-bdftopcf
version=1.0.3
release=1
source=(http://xorg.freedesktop.org/releases/individual/app/bdftopcf-$version.tar.bz2)

build() {
	cd bdftopcf-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-bigreqsproto/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: xorg proto bigreqsproto
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu

name=xorg-bigreqsproto
version=1.1.1
release=1
source=(http://xorg.freedesktop.org/releases/individual/proto/bigreqsproto-$version.tar.bz2)

build() {
	cd bigreqsproto-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install

	rm $PKG/usr/share/doc/bigreqsproto/bigreq.xml
	find $PKG/usr/share -type d -delete
}

Added xorg/xorg-cf-files/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: xorg configuration files
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu

name=xorg-cf-files
version=1.0.4
release=1
source=(http://xorg.freedesktop.org/releases/individual/util/$name-$version.tar.bz2)

build() {
	cd $name-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-compositeproto/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: xorg proto compositeproto
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu

name=xorg-compositeproto
version=0.4.2
release=1
source=(http://xorg.freedesktop.org/releases/individual/proto/compositeproto-$version.tar.bz2)

build() {
	cd compositeproto-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install

	rm -rf $PKG/usr/share
}

Added xorg/xorg-damageproto/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: xorg proto damageproto
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu

name=xorg-damageproto
version=1.2.1
release=1
source=(http://xorg.freedesktop.org/releases/individual/proto/damageproto-$version.tar.bz2)

build() {
	cd damageproto-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install

	rm -rf $PKG/usr/share
}

Added xorg/xorg-dmxproto/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: xorg proto dmxproto
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu

name=xorg-dmxproto
version=2.3.1
release=1
source=(http://xorg.freedesktop.org/releases/individual/proto/dmxproto-$version.tar.bz2)

build() {
	cd dmxproto-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-dri2proto/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: X DRI2 protocol headers
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu

name=xorg-dri2proto
version=2.6
release=1
source=(http://xorg.freedesktop.org/releases/individual/proto/dri2proto-$version.tar.bz2)

build() {
	cd dri2proto-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install

	rm -f $PKG/usr/share/doc/dri2proto/dri2proto.txt
	rmdir $PKG/usr/share/{doc/dri2proto,doc,}
}

Added xorg/xorg-fixesproto/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: xorg proto fixesproto
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu

name=xorg-fixesproto
version=5.0
release=1
source=(http://xorg.freedesktop.org/releases/individual/proto/fixesproto-$version.tar.bz2)

build() {
	cd fixesproto-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install

	rm -rf $PKG/usr/share
}

Added xorg/xorg-font-adobe-100dpi/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: xorg font font-adobe-100dpi
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-mkfontdir, xorg-mkfontscale

name=xorg-font-adobe-100dpi
version=1.0.3
release=1
source=(http://xorg.freedesktop.org/releases/individual/font/font-adobe-100dpi-$version.tar.bz2)

build() {
	cd font-adobe-100dpi-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install

	rm $PKG/usr/share/fonts/X11/100dpi/fonts.dir
}

Added xorg/xorg-font-adobe-100dpi/post-install.









>
>
>
>
1
2
3
4
#!/bin/sh

mkfontdir /usr/share/fonts/X11/100dpi
mkfontscale /usr/share/fonts/X11/100dpi

Added xorg/xorg-font-adobe-75dpi/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: xorg font font-adobe-75dpi
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-mkfontdir, xorg-mkfontscale

name=xorg-font-adobe-75dpi
version=1.0.3
release=1
source=(http://xorg.freedesktop.org/releases/individual/font/font-adobe-75dpi-$version.tar.bz2)

build() {
	cd font-adobe-75dpi-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install

	rm $PKG/usr/share/fonts/X11/75dpi/fonts.dir
}

Added xorg/xorg-font-adobe-75dpi/post-install.









>
>
>
>
1
2
3
4
#!/bin/sh

mkfontdir /usr/share/fonts/X11/75dpi
mkfontscale /usr/share/fonts/X11/75dpi

Added xorg/xorg-font-adobe-utopia-100dpi/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: xorg font font-adobe-utopia-100dpi
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-mkfontdir, xorg-mkfontscale, xorg-font-util

name=xorg-font-adobe-utopia-100dpi
version=1.0.4
release=1
source=(http://xorg.freedesktop.org/releases/individual/font/font-adobe-utopia-100dpi-$version.tar.bz2)

build() {
	cd font-adobe-utopia-100dpi-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install

	rm $PKG/usr/share/fonts/X11/100dpi/fonts.dir
}

Added xorg/xorg-font-adobe-utopia-100dpi/post-install.









>
>
>
>
1
2
3
4
#!/bin/sh

mkfontdir /usr/share/fonts/X11/100dpi
mkfontscale /usr/share/fonts/X11/100dpi

Added xorg/xorg-font-adobe-utopia-75dpi/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: xorg font font-adobe-utopia-75dpi
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-mkfontdir, xorg-mkfontscale

name=xorg-font-adobe-utopia-75dpi
version=1.0.4
release=1
source=(http://xorg.freedesktop.org/releases/individual/font/font-adobe-utopia-75dpi-$version.tar.bz2)

build() {
	cd font-adobe-utopia-75dpi-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install

	rm $PKG/usr/share/fonts/X11/75dpi/fonts.dir
}

Added xorg/xorg-font-adobe-utopia-75dpi/post-install.









>
>
>
>
1
2
3
4
#!/bin/sh

mkfontdir /usr/share/fonts/X11/75dpi
mkfontscale /usr/share/fonts/X11/75dpi

Added xorg/xorg-font-adobe-utopia-type1/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: xorg font font-adobe-utopia-type1
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-mkfontdir, xorg-mkfontscale, fontconfig

name=xorg-font-adobe-utopia-type1
version=1.0.4
release=1
source=(http://xorg.freedesktop.org/releases/individual/font/font-adobe-utopia-type1-$version.tar.bz2)

build() {
	cd font-adobe-utopia-type1-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install

	rm $PKG/usr/share/fonts/X11/Type1/fonts.{dir,scale}
}

Added xorg/xorg-font-adobe-utopia-type1/post-install.











>
>
>
>
>
1
2
3
4
5
#!/bin/sh

mkfontdir /usr/share/fonts/X11/Type1
mkfontscale /usr/share/fonts/X11/Type1
fc-cache

Added xorg/xorg-font-alias/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: xorg font font-alias
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu

name=xorg-font-alias
version=1.0.2
release=1
source=(http://xorg.freedesktop.org/releases/individual/font/font-alias-$version.tar.bz2)

build() {
	cd font-alias-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-font-arabic-misc/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: xorg font font-arabic-misc
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-mkfontdir, xorg-mkfontscale

name=xorg-font-arabic-misc
version=1.0.3
release=1
source=(http://xorg.freedesktop.org/releases/individual/font/font-arabic-misc-$version.tar.bz2)

build() {
	cd font-arabic-misc-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install

	rm $PKG/usr/share/fonts/X11/misc/fonts.dir
}

Added xorg/xorg-font-arabic-misc/post-install.









>
>
>
>
1
2
3
4
#!/bin/sh

mkfontdir /usr/share/fonts/X11/misc
mkfontscale /usr/share/fonts/X11/misc

Added xorg/xorg-font-bh-100dpi/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: xorg font font-bh-100dpi
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-mkfontdir, xorg-mkfontscale

name=xorg-font-bh-100dpi
version=1.0.3
release=1
source=(http://xorg.freedesktop.org/releases/individual/font/font-bh-100dpi-$version.tar.bz2)

build() {
	cd font-bh-100dpi-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install

	rm $PKG/usr/share/fonts/X11/100dpi/fonts.dir
}

Added xorg/xorg-font-bh-100dpi/post-install.









>
>
>
>
1
2
3
4
#!/bin/sh

mkfontdir /usr/share/fonts/X11/100dpi
mkfontscale /usr/share/fonts/X11/100dpi

Added xorg/xorg-font-bh-75dpi/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: xorg font font-bh-75dpi
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-mkfontdir, xorg-mkfontscale

name=xorg-font-bh-75dpi
version=1.0.3
release=1
source=(http://xorg.freedesktop.org/releases/individual/font/font-bh-75dpi-$version.tar.bz2)

build() {
	cd font-bh-75dpi-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install

	rm $PKG/usr/share/fonts/X11/75dpi/fonts.dir
}

Added xorg/xorg-font-bh-75dpi/post-install.









>
>
>
>
1
2
3
4
#!/bin/sh

mkfontdir /usr/share/fonts/X11/75dpi
mkfontscale /usr/share/fonts/X11/75dpi

Added xorg/xorg-font-bh-lucidatypewriter-100dpi/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: xorg font font-bh-lucidatypewriter-100dpi
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-mkfontdir, xorg-mkfontscale

name=xorg-font-bh-lucidatypewriter-100dpi
version=1.0.3
release=1
source=(http://xorg.freedesktop.org/releases/individual/font/font-bh-lucidatypewriter-100dpi-$version.tar.bz2)

build() {
	cd font-bh-lucidatypewriter-100dpi-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install

	rm $PKG/usr/share/fonts/X11/100dpi/fonts.dir
}

Added xorg/xorg-font-bh-lucidatypewriter-100dpi/post-install.









>
>
>
>
1
2
3
4
#!/bin/sh

mkfontdir /usr/share/fonts/X11/100dpi
mkfontscale /usr/share/fonts/X11/100dpi

Added xorg/xorg-font-bh-lucidatypewriter-75dpi/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: xorg font font-bh-lucidatypewriter-75dpi
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-mkfontdir, xorg-mkfontscale

name=xorg-font-bh-lucidatypewriter-75dpi
version=1.0.3
release=1
source=(http://xorg.freedesktop.org/releases/individual/font/font-bh-lucidatypewriter-75dpi-$version.tar.bz2)

build() {
	cd font-bh-lucidatypewriter-75dpi-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install

	rm $PKG/usr/share/fonts/X11/75dpi/fonts.dir
}

Added xorg/xorg-font-bh-lucidatypewriter-75dpi/post-install.









>
>
>
>
1
2
3
4
#!/bin/sh

mkfontdir /usr/share/fonts/X11/75dpi
mkfontscale /usr/share/fonts/X11/75dpi

Added xorg/xorg-font-bh-ttf/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: xorg font font-bh-ttf
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-mkfontdir, xorg-mkfontscale, fontconfig

name=xorg-font-bh-ttf
version=1.0.3
release=1
source=(http://xorg.freedesktop.org/releases/individual/font/font-bh-ttf-$version.tar.bz2)

build() {
	cd font-bh-ttf-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install

	rm $PKG/usr/share/fonts/X11/TTF/fonts.{dir,scale}
	mv $PKG/usr/etc $PKG/
}

Added xorg/xorg-font-bh-ttf/post-install.











>
>
>
>
>
1
2
3
4
5
#!/bin/sh

mkfontdir /usr/share/fonts/X11/TTF
mkfontscale /usr/share/fonts/X11/TTF
fc-cache

Added xorg/xorg-font-bh-type1/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: xorg font font-bh-type1
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-mkfontdir, xorg-mkfontscale, fontconfig

name=xorg-font-bh-type1
version=1.0.3
release=1
source=(http://xorg.freedesktop.org/releases/individual/font/font-bh-type1-$version.tar.bz2)

build() {
	cd font-bh-type1-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install

	rm -f $PKG/usr/share/fonts/X11/Type1/fonts.{dir,scale}
}

Added xorg/xorg-font-bh-type1/post-install.











>
>
>
>
>
1
2
3
4
5
#!/bin/sh

mkfontdir /usr/lib/X11/fonts/Type1
mkfontscale /usr/lib/X11/fonts/Type1
fc-cache

Added xorg/xorg-font-bitstream-100dpi/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: xorg font font-bitstream-100dpi
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-bdftopcf, xorg-mkfontdir, xorg-mkfontscale

name=xorg-font-bitstream-100dpi
version=1.0.3
release=1
source=(http://xorg.freedesktop.org/releases/individual/font/font-bitstream-100dpi-$version.tar.bz2)

build() {
	cd font-bitstream-100dpi-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install

	rm $PKG/usr/share/fonts/X11/100dpi/fonts.dir
}

Added xorg/xorg-font-bitstream-100dpi/post-install.









>
>
>
>
1
2
3
4
#!/bin/sh

mkfontdir /usr/share/fonts/X11/100dpi
mkfontscale /usr/share/fonts/X11/100dpi

Added xorg/xorg-font-bitstream-75dpi/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: xorg font font-bitstream-75dpi
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-bdftopcf, xorg-mkfontdir, xorg-mkfontscale

name=xorg-font-bitstream-75dpi
version=1.0.3
release=1
source=(http://xorg.freedesktop.org/releases/individual/font/font-bitstream-75dpi-$version.tar.bz2)

build() {
	cd font-bitstream-75dpi-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install

	rm $PKG/usr/share/fonts/X11/75dpi/fonts.dir
}

Added xorg/xorg-font-bitstream-75dpi/post-install.









>
>
>
>
1
2
3
4
#!/bin/sh

mkfontdir /usr/share/fonts/X11/75dpi
mkfontscale /usr/share/fonts/X11/75dpi

Added xorg/xorg-font-bitstream-speedo/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: xorg font font-bitstream-speedo
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu

name=xorg-font-bitstream-speedo
version=1.0.2
release=1
source=(http://xorg.freedesktop.org/releases/individual/font/font-bitstream-speedo-$version.tar.bz2)

build() {
	cd font-bitstream-speedo-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-font-bitstream-type1/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: xorg font font-bitstream-type1
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-mkfontdir, xorg-mkfontscale, fontconfig

name=xorg-font-bitstream-type1
version=1.0.3
release=1
source=(http://xorg.freedesktop.org/releases/individual/font/font-bitstream-type1-$version.tar.bz2)

build() {
	cd font-bitstream-type1-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install

	rm $PKG/usr/share/fonts/X11/Type1/fonts.{dir,scale}
}

Added xorg/xorg-font-bitstream-type1/post-install.











>
>
>
>
>
1
2
3
4
5
#!/bin/sh

mkfontdir /usr/share/fonts/X11/Type1
mkfontscale /usr/share/fonts/X11/Type1
fc-cache

Added xorg/xorg-font-bitstream-vera/Pkgfile.































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Description: xorg font bitstream vera
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu

name=xorg-font-bitstream-vera
version=1.10
release=3
source=(http://ftp.gnome.org/pub/GNOME/sources/ttf-bitstream-vera/1.10/ttf-bitstream-vera-$version.tar.bz2)

build() {
	cd ttf-bitstream-vera-$version

	install -d $PKG/usr/share/fonts/X11/TTF
	install -m 644 *ttf $PKG/usr/share/fonts/X11/TTF
}

Added xorg/xorg-font-cronyx-cyrillic/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: xorg font font-cronyx-cyrillic
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-mkfontdir, xorg-mkfontscale

name=xorg-font-cronyx-cyrillic
version=1.0.3
release=1
source=(http://xorg.freedesktop.org/releases/individual/font/font-cronyx-cyrillic-$version.tar.bz2)

build() {
	cd font-cronyx-cyrillic-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install

	rm $PKG/usr/share/fonts/X11/cyrillic/fonts.dir
}

Added xorg/xorg-font-cronyx-cyrillic/post-install.









>
>
>
>
1
2
3
4
#!/bin/sh

mkfontdir /usr/share/fonts/X11/cyrillic
mkfontscale /usr/share/fonts/X11/cyrillic

Added xorg/xorg-font-cursor-misc/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: xorg font font-cursor-misc
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-mkfontdir, xorg-mkfontscale

name=xorg-font-cursor-misc
version=1.0.3
release=1
source=(http://xorg.freedesktop.org/releases/individual/font/font-cursor-misc-$version.tar.bz2)

build() {
	cd font-cursor-misc-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install

	rm $PKG/usr/share/fonts/X11/misc/fonts.dir
}

Added xorg/xorg-font-cursor-misc/post-install.









>
>
>
>
1
2
3
4
#!/bin/sh

mkfontdir /usr/share/fonts/X11/misc
mkfontscale /usr/share/fonts/X11/misc

Added xorg/xorg-font-daewoo-misc/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: xorg font font-daewoo-misc
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-mkfontdir, xorg-mkfontscale

name=xorg-font-daewoo-misc
version=1.0.3
release=1
source=(http://xorg.freedesktop.org/releases/individual/font/font-daewoo-misc-$version.tar.bz2)

build() {
	cd font-daewoo-misc-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install

	rm $PKG/usr/share/fonts/X11/misc/fonts.dir
}

Added xorg/xorg-font-daewoo-misc/post-install.









>
>
>
>
1
2
3
4
#!/bin/sh

mkfontdir /usr/share/fonts/X11/misc
mkfontscale /usr/share/fonts/X11/misc

Added xorg/xorg-font-dec-misc/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: xorg font font-dec-misc
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-mkfontdir, xorg-mkfontscale

name=xorg-font-dec-misc
version=1.0.3
release=1
source=(http://xorg.freedesktop.org/releases/individual/font/font-dec-misc-$version.tar.bz2)

build() {
	cd font-dec-misc-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install

	rm $PKG/usr/share/fonts/X11/misc/fonts.dir
}

Added xorg/xorg-font-dec-misc/post-install.









>
>
>
>
1
2
3
4
#!/bin/sh

mkfontdir /usr/share/fonts/X11/misc
mkfontscale /usr/share/fonts/X11/misc

Added xorg/xorg-font-ibm-type1/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: xorg font font-ibm-type1
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-mkfontdir, xorg-mkfontscale, fontconfig

name=xorg-font-ibm-type1
version=1.0.3
release=1
source=(http://xorg.freedesktop.org/releases/individual/font/font-ibm-type1-$version.tar.bz2)

build() {
	cd font-ibm-type1-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install

	rm $PKG/usr/share/fonts/X11/Type1/fonts.{dir,scale}
}

Added xorg/xorg-font-ibm-type1/post-install.











>
>
>
>
>
1
2
3
4
5
#!/bin/sh

mkfontdir /usr/share/fonts/X11/Type1
mkfontscale /usr/share/fonts/X11/Type1
fc-cache

Added xorg/xorg-font-isas-misc/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: xorg font font-isas-misc
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-mkfontdir, xorg-mkfontscale

name=xorg-font-isas-misc
version=1.0.3
release=1
source=(http://xorg.freedesktop.org/releases/individual/font/font-isas-misc-$version.tar.bz2)

build() {
	cd font-isas-misc-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install

	rm $PKG/usr/share/fonts/X11/misc/fonts.dir
}

Added xorg/xorg-font-isas-misc/post-install.









>
>
>
>
1
2
3
4
#!/bin/sh

mkfontdir /usr/share/fonts/X11/misc
mkfontscale /usr/share/fonts/X11/misc

Added xorg/xorg-font-jis-misc/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: xorg font font-jis-misc
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-mkfontdir, xorg-mkfontscale

name=xorg-font-jis-misc
version=1.0.3
release=1
source=(http://xorg.freedesktop.org/releases/individual/font/font-jis-misc-$version.tar.bz2)

build() {
	cd font-jis-misc-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install

	rm $PKG/usr/share/fonts/X11/misc/fonts.dir
}

Added xorg/xorg-font-jis-misc/post-install.









>
>
>
>
1
2
3
4
#!/bin/sh

mkfontdir /usr/share/fonts/X11/misc
mkfontscale /usr/share/fonts/X11/misc

Added xorg/xorg-font-micro-misc/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: xorg font font-micro-misc
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-mkfontdir, xorg-mkfontscale

name=xorg-font-micro-misc
version=1.0.3
release=1
source=(http://xorg.freedesktop.org/releases/individual/font/font-micro-misc-$version.tar.bz2)

build() {
	cd font-micro-misc-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install

	rm $PKG/usr/share/fonts/X11/misc/fonts.dir
}

Added xorg/xorg-font-micro-misc/post-install.









>
>
>
>
1
2
3
4
#!/bin/sh

mkfontdir /usr/share/fonts/X11/misc
mkfontscale /usr/share/fonts/X11/misc

Added xorg/xorg-font-misc-cyrillic/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: xorg font font-misc-cyrillic
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-mkfontdir, xorg-mkfontscale

name=xorg-font-misc-cyrillic
version=1.0.3
release=1
source=(http://xorg.freedesktop.org/releases/individual/font/font-misc-cyrillic-$version.tar.bz2)

build() {
	cd font-misc-cyrillic-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install

	rm $PKG/usr/share/fonts/X11/cyrillic/fonts.dir
}

Added xorg/xorg-font-misc-cyrillic/post-install.









>
>
>
>
1
2
3
4
#!/bin/sh

mkfontdir /usr/share/fonts/X11/cyrillic
mkfontscale /usr/share/fonts/X11/cyrillic

Added xorg/xorg-font-misc-ethiopic/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: xorg font font-misc-ethiopic
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-mkfontdir, xorg-mkfontscale, fontconfig

name=xorg-font-misc-ethiopic
version=1.0.3
release=1
source=(http://xorg.freedesktop.org/releases/individual/font/font-misc-ethiopic-$version.tar.bz2)

build() {
	cd font-misc-ethiopic-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install

	rm $PKG/usr/share/fonts/X11/{O,T}TF/fonts.{dir,scale}
}

Added xorg/xorg-font-misc-ethiopic/post-install.











>
>
>
>
>
1
2
3
4
5
#!/bin/sh

mkfontdir /usr/share/fonts/X11/{O,T}TF
mkfontscale /usr/share/fonts/X11/{O,T}TF
fc-cache

Added xorg/xorg-font-misc-meltho/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: xorg font font-misc-meltho
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-mkfontdir, xorg-mkfontscale, fontconfig

name=xorg-font-misc-meltho
version=1.0.3
release=1
source=(http://xorg.freedesktop.org/releases/individual/font/font-misc-meltho-$version.tar.bz2)

build() {
	cd font-misc-meltho-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install

	rm $PKG/usr/share/fonts/X11/OTF/fonts.{dir,scale}
}

Added xorg/xorg-font-misc-meltho/post-install.











>
>
>
>
>
1
2
3
4
5
#!/bin/sh

mkfontdir /usr/share/fonts/X11/OTF
mkfontscale /usr/share/fonts/X11/OTF
fc-cache

Added xorg/xorg-font-misc-misc/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: xorg font font-misc-misc
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-font-util, xorg-bdftopcf, xorg-mkfontdir, xorg-mkfontscale

name=xorg-font-misc-misc
version=1.1.2
release=1
source=(http://xorg.freedesktop.org/releases/individual/font/font-misc-misc-$version.tar.bz2)

build() {
	cd font-misc-misc-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install

	rm $PKG/usr/share/fonts/X11/misc/fonts.dir
}

Added xorg/xorg-font-misc-misc/post-install.









>
>
>
>
1
2
3
4
#!/bin/sh

mkfontdir /usr/share/fonts/X11/misc
mkfontscale /usr/share/fonts/X11/misc

Added xorg/xorg-font-mutt-misc/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: xorg font font-mutt-misc
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-mkfontdir, xorg-mkfontscale

name=xorg-font-mutt-misc
version=1.0.3
release=1
source=(http://xorg.freedesktop.org/releases/individual/font/font-mutt-misc-$version.tar.bz2)

build() {
	cd font-mutt-misc-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install

	rm $PKG/usr/share/fonts/X11/misc/fonts.dir
}

Added xorg/xorg-font-mutt-misc/post-install.









>
>
>
>
1
2
3
4
#!/bin/sh

mkfontdir /usr/share/fonts/X11/misc
mkfontscale /usr/share/fonts/X11/misc

Added xorg/xorg-font-schumacher-misc/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: xorg font font-schumacher-misc
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-mkfontdir, xorg-mkfontscale

name=xorg-font-schumacher-misc
version=1.1.2
release=1
source=(http://xorg.freedesktop.org/releases/individual/font/font-schumacher-misc-$version.tar.bz2)

build() {
	cd font-schumacher-misc-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install

	rm $PKG/usr/share/fonts/X11/misc/fonts.dir
}

Added xorg/xorg-font-schumacher-misc/post-install.









>
>
>
>
1
2
3
4
#!/bin/sh

mkfontdir /usr/share/fonts/X11/misc
mkfontscale /usr/share/fonts/X11/misc

Added xorg/xorg-font-screen-cyrillic/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: xorg font font-screen-cyrillic
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-mkfontdir, xorg-mkfontscale

name=xorg-font-screen-cyrillic
version=1.0.4
release=1
source=(http://xorg.freedesktop.org/releases/individual/font/font-screen-cyrillic-$version.tar.bz2)

build() {
	cd font-screen-cyrillic-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install

	rm $PKG/usr/share/fonts/X11/cyrillic/fonts.dir
}

Added xorg/xorg-font-screen-cyrillic/post-install.









>
>
>
>
1
2
3
4
#!/bin/sh

mkfontdir /usr/share/fonts/X11/cyrillic
mkfontscale /usr/share/fonts/X11/cyrillic

Added xorg/xorg-font-sony-misc/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: xorg font font-sony-misc
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-mkfontdir, xorg-mkfontscale

name=xorg-font-sony-misc
version=1.0.3
release=1
source=(http://xorg.freedesktop.org/releases/individual/font/font-sony-misc-$version.tar.bz2)

build() {
	cd font-sony-misc-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install

	rm $PKG/usr/share/fonts/X11/misc/fonts.dir
}

Added xorg/xorg-font-sony-misc/post-install.









>
>
>
>
1
2
3
4
#!/bin/sh

mkfontdir /usr/share/fonts/X11/misc
mkfontscale /usr/share/fonts/X11/misc

Added xorg/xorg-font-sun-misc/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: xorg font font-sun-misc
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-mkfontdir, xorg-mkfontscale

name=xorg-font-sun-misc
version=1.0.3
release=1
source=(http://xorg.freedesktop.org/releases/individual/font/font-sun-misc-$version.tar.bz2)

build() {
	cd font-sun-misc-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install

	rm $PKG/usr/share/fonts/X11/misc/fonts.dir
}

Added xorg/xorg-font-sun-misc/post-install.









>
>
>
>
1
2
3
4
#!/bin/sh

mkfontdir /usr/share/fonts/X11/misc
mkfontscale /usr/share/fonts/X11/misc

Added xorg/xorg-font-util/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: xorg font font-util
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu

name=xorg-font-util
version=1.2.0
release=1
source=(http://xorg.freedesktop.org/releases/individual/font/font-util-$version.tar.bz2)

build() {
	cd font-util-$version

	./configure --prefix=/usr --mandir=/usr/man --with-fc-confdir=/etc/fonts

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-font-winitzki-cyrillic/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: xorg font font-winitzki-cyrillic
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-mkfontdir, xorg-mkfontscale

name=xorg-font-winitzki-cyrillic
version=1.0.3
release=1
source=(http://xorg.freedesktop.org/releases/individual/font/font-winitzki-cyrillic-$version.tar.bz2)

build() {
	cd font-winitzki-cyrillic-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install

	rm $PKG/usr/share/fonts/X11/cyrillic/fonts.dir
}

Added xorg/xorg-font-winitzki-cyrillic/post-install.









>
>
>
>
1
2
3
4
#!/bin/sh

mkfontdir /usr/share/fonts/X11/cyrillic
mkfontscale /usr/share/fonts/X11/cyrillic

Added xorg/xorg-font-xfree86-type1/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: xorg font font-xfree86-type1
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-mkfontdir, xorg-mkfontscale, fontconfig

name=xorg-font-xfree86-type1
version=1.0.4
release=1
source=(http://xorg.freedesktop.org/releases/individual/font/font-xfree86-type1-$version.tar.bz2)

build() {
	cd font-xfree86-type1-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install

	rm $PKG/usr/share/fonts/X11/Type1/fonts.{dir,scale}
}

Added xorg/xorg-font-xfree86-type1/post-install.











>
>
>
>
>
1
2
3
4
5
#!/bin/sh

mkfontdir /usr/share/fonts/X11/Type1
mkfontscale /usr/share/fonts/X11/Type1
fc-cache

Added xorg/xorg-fontsproto/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: xorg proto fontsproto
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu

name=xorg-fontsproto
version=2.1.1
release=1
source=(http://xorg.freedesktop.org/releases/individual/proto/fontsproto-$version.tar.bz2)

build() {
	cd fontsproto-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install

	rm $PKG/usr/share/doc/fontsproto/fsproto.xml
	find $PKG/usr/share -type d -delete
}

Added xorg/xorg-gccmakedep/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: creates dependencies in Makefiles
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu

name=xorg-gccmakedep
version=1.0.2
release=1
source=(http://xorg.freedesktop.org/releases/individual/util/gccmakedep-$version.tar.bz2)

build() {
	cd gccmakedep-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-glproto/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: xorg proto glproto
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu

name=xorg-glproto
version=1.4.14
release=1
source=(http://xorg.freedesktop.org/releases/individual/proto/glproto-$version.tar.bz2)

build() {
	cd glproto-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-iceauth/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: ICE authority file utility
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server, xorg-xproto, xorg-libice

name=xorg-iceauth
version=1.0.5
release=1
source=(http://xorg.freedesktop.org/releases/individual/app/iceauth-$version.tar.bz2)

build() {
	cd iceauth-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-imake/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: imake build system
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-xproto, xorg-cf-files

name=xorg-imake
version=1.0.4
release=1
source=(http://xorg.freedesktop.org/releases/individual/util/imake-$version.tar.bz2)

build() {
	cd imake-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-inputproto/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: xorg proto inputproto
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu

name=xorg-inputproto
version=2.0.2
release=1
source=(http://xorg.freedesktop.org/releases/individual/proto/inputproto-$version.tar.bz2)

build() {
	cd inputproto-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install

	rm $PKG/usr/share/doc/inputproto/{XI,XI2}proto.txt
	find $PKG/usr/share -type d -delete
}

Added xorg/xorg-kbproto/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: xorg proto kbproto
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu

name=xorg-kbproto
version=1.0.5
release=1
source=(http://xorg.freedesktop.org/releases/individual/proto/kbproto-$version.tar.bz2)

build() {
	cd kbproto-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-libdmx/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg lib libdmx
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-libx11, xorg-libxext, xorg-dmxproto

name=xorg-libdmx
version=1.1.1
release=1
source=(http://xorg.freedesktop.org/releases/individual/lib/libdmx-$version.tar.bz2)

build() {
	cd libdmx-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-libfontenc/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg lib libfontenc
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-xproto

name=xorg-libfontenc
version=1.1.0
release=1
source=(http://xorg.freedesktop.org/releases/individual/lib/libfontenc-$version.tar.bz2)

build() {
	cd libfontenc-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-libfs/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: X Font Service client library
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-xproto, xorg-fontsproto, xorg-xtrans

name=xorg-libfs
version=1.0.3
release=1
source=(http://xorg.freedesktop.org/releases/individual/lib/libFS-$version.tar.bz2)

build() {
	cd libFS-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install

	rm $PKG/usr/share/doc/libFS/FSlib.txt
	find $PKG/usr/share -type d -delete
}

Added xorg/xorg-libice/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: xorg lib libICE
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-xproto, xorg-xtrans

name=xorg-libice
version=1.0.7
release=1
source=(http://xorg.freedesktop.org/releases/individual/lib/libICE-$version.tar.bz2)

build() {
	cd libICE-$version

	./configure --prefix=/usr --disable-docs

	make
	make DESTDIR=$PKG install

	rm $PKG/usr/share/doc/libICE/ice.xml
	find $PKG/usr/share -type d -delete
}

Added xorg/xorg-liboldx/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg lib liboldX
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-libx11

name=xorg-liboldx
version=1.0.1
release=1
source=(http://xorg.freedesktop.org/releases/individual/lib/liboldX-$version.tar.bz2)

build() {
	cd liboldX-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-libpciaccess/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: Generic PCI access library
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu

name=xorg-libpciaccess
version=0.12.1
release=1
source=(http://xorg.freedesktop.org/releases/individual/lib/libpciaccess-$version.tar.bz2)

build() {
	cd libpciaccess-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-libpixman/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: Pixel manipulation library
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu

name=xorg-libpixman
version=0.24.0
release=1
source=(http://xorg.freedesktop.org/releases/individual/lib/pixman-$version.tar.bz2)

build() {
	cd pixman-$version

	# don't build test programs
	sed -i -e 's/^SUBDIRS = pixman test/SUBDIRS = pixman/' Makefile.in

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-libsm/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: X Session Management client library
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-libice, xorg-xproto, xorg-xtrans

name=xorg-libsm
version=1.2.0
release=1
source=(http://xorg.freedesktop.org/releases/individual/lib/libSM-$version.tar.bz2)

build() {
	cd libSM-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install

	rm $PKG/usr/share/doc/libSM/{SMlib,xsmp}.xml
	find $PKG/usr/share -type d -delete
}

Added xorg/xorg-libx11/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: X client library
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-libxcb, xorg-xf86bigfontproto, xorg-xextproto, xorg-xtrans, xorg-kbproto, xorg-inputproto

name=xorg-libx11
version=1.4.4
release=1
source=(http://xorg.freedesktop.org/releases/individual/lib/libX11-$version.tar.bz2)

build() {
	cd libX11-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install

	rm -rf $PKG/usr/share/doc
}

Added xorg/xorg-libxau/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: X Authorization routines
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-xproto

name=xorg-libxau
version=1.0.6
release=1
source=(http://xorg.freedesktop.org/releases/individual/lib/libXau-$version.tar.bz2)

build() {
	cd libXau-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-libxaw/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: X Athena Widgets toolkit
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-xproto, xorg-libx11, xorg-xextproto, xorg-libxext, xorg-libxt, xorg-libxmu, xorg-libxpm, xorg-libxau

name=xorg-libxaw
version=1.0.9
release=1
source=(http://xorg.freedesktop.org/releases/individual/lib/libXaw-$version.tar.bz2)

build() {
	cd libXaw-$version

	./configure --prefix=/usr --mandir=/usr/man --disable-docs

	make
	make DESTDIR=$PKG install

	rm -rf $PKG/usr/share/doc
	rmdir $PKG/usr/share
}

Added xorg/xorg-libxcb/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: XCB library
# URL: http://xcb.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-xcb-proto, xorg-libxdmcp, xorg-libxau, libxslt, libpthread-stubs

name=xorg-libxcb
version=1.7
release=1
source=(http://xcb.freedesktop.org/dist/libxcb-$version.tar.bz2)

build() {
	cd libxcb-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install

	rm -rf $PKG/usr/share
}

Added xorg/xorg-libxcomposite/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: X Composite extension client library
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-libx11, xorg-fixesproto, xorg-libxfixes xorg-libxext, xorg-compositeproto

name=xorg-libxcomposite
version=0.4.3
release=1
source=(http://xorg.freedesktop.org/releases/individual/lib/libXcomposite-$version.tar.bz2)

build() {
	cd libXcomposite-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-libxcursor/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg lib libXcursor
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-libxrender, xorg-libxfixes, xorg-libx11, xorg-fixesproto

name=xorg-libxcursor
version=1.1.11
release=1
source=(http://xorg.freedesktop.org/releases/individual/lib/libXcursor-$version.tar.bz2)

build() {
	cd libXcursor-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-libxdamage/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: X Damage extension client library
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-libx11, xorg-fixesproto, xorg-libxfixes, xorg-xextproto, xorg-damageproto

name=xorg-libxdamage
version=1.1.3
release=1
source=(http://xorg.freedesktop.org/releases/individual/lib/libXdamage-$version.tar.bz2)

build() {
	cd libXdamage-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-libxdmcp/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: xorg lib libXdmcp
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-xproto

name=xorg-libxdmcp
version=1.1.0
release=1
source=(http://xorg.freedesktop.org/releases/individual/lib/libXdmcp-$version.tar.bz2)

build() {
	cd libXdmcp-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install

	rm $PKG/usr/share/doc/libXdmcp/xdmcp.xml
	find $PKG/usr/share -type d -delete
}

Added xorg/xorg-libxext/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: Common X extensions client library
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-xproto, xorg-libx11, xorg-xextproto, xorg-libxau

name=xorg-libxext
version=1.3.0
release=1
source=(http://xorg.freedesktop.org/releases/individual/lib/libXext-$version.tar.bz2)

build() {
	cd libXext-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install

	#rm $PKG/usr/share/doc/libXext/{dbe,dpms,shape,sync}lib.xml
	#find $PKG/usr/share -type d -delete
}

Added xorg/xorg-libxfixes/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: X Fixes extension client library
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-libx11, xorg-xproto, xorg-fixesproto, xorg-xextproto

name=xorg-libxfixes
version=5.0
release=1
source=(http://xorg.freedesktop.org/releases/individual/lib/libXfixes-$version.tar.bz2)

build() {
	cd libXfixes-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-libxfont/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg lib libXfont
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: freetype, xorg-xproto, xorg-xtrans, xorg-fontsproto, xorg-libfontenc

name=xorg-libxfont
version=1.4.4
release=1
source=(http://xorg.freedesktop.org/releases/individual/lib/libXfont-$version.tar.bz2)

build() {
	cd libXfont-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-libxft/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: X font rendering client library
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-libxrender, freetype, fontconfig

name=xorg-libxft
version=2.2.0
release=1
source=(http://xorg.freedesktop.org/releases/individual/lib/libXft-$version.tar.bz2)

build() {
	cd libXft-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-libxi/Pkgfile.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Description: X Input client library
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-xproto, xorg-libx11, xorg-xextproto, xorg-libxext, xorg-inputproto

name=xorg-libxi
version=1.4.3
release=1
source=(http://xorg.freedesktop.org/releases/individual/lib/libXi-$version.tar.bz2)

build() {
	cd libXi-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install

	rm $PKG/usr/share/doc/libXi/doc/porting.xml
	rm $PKG/usr/share/doc/libXi/specs/{encoding,inputlib,library}.xml
	find $PKG/usr/share -type d -delete
}

Added xorg/xorg-libxinerama/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: X Xinerama client library
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-libx11, xorg-xextproto, xorg-libxext, xorg-xineramaproto

name=xorg-libxinerama
version=1.1.1
release=1
source=(http://xorg.freedesktop.org/releases/individual/lib/libXinerama-$version.tar.bz2)

build() {
	cd libXinerama-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-libxkbfile/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg lib libxkbfile
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-libx11, xorg-kbproto

name=xorg-libxkbfile
version=1.0.7
release=1
source=(http://xorg.freedesktop.org/releases/individual/lib/libxkbfile-$version.tar.bz2)

build() {
	cd libxkbfile-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-libxkbui/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg lib libxkbui
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-libx11, xorg-libxt, xorg-libxkbfile

name=xorg-libxkbui
version=1.0.2
release=1
source=(http://xorg.freedesktop.org/releases/individual/lib/libxkbui-$version.tar.bz2)

build() {
	cd libxkbui-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-libxmu/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: xorg lib libXmu
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-libxt, xorg-xextproto, xorg-libxext, xorg-libx11

name=xorg-libxmu
version=1.1.0
release=1
source=(http://xorg.freedesktop.org/releases/individual/lib/libXmu-$version.tar.bz2)

build() {
	cd libXmu-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install

	rm $PKG/usr/share/doc/libXmu/{Xmu.xml,xlogo.svg}
	find $PKG/usr/share -type d -delete
}

Added xorg/xorg-libxpm/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg lib libXpm
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-xproto, xorg-libx11, xorg-libxt, xorg-xextproto, xorg-libxext

name=xorg-libxpm
version=3.5.9
release=1
source=(http://xorg.freedesktop.org/releases/individual/lib/libXpm-$version.tar.bz2)

build() {
	cd libXpm-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-libxrandr/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: X Resize and Rotate extension client library
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-libx11, xorg-randrproto, xorg-xextproto, xorg-libxext, xorg-libxrender, xorg-renderproto

name=xorg-libxrandr
version=1.3.1
release=1
source=(http://xorg.freedesktop.org/releases/individual/lib/libXrandr-$version.tar.bz2)

build() {
	cd libXrandr-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-libxrender/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: X Render extension client library
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-libx11, xorg-renderproto

name=xorg-libxrender
version=0.9.6
release=1
source=(http://xorg.freedesktop.org/releases/individual/lib/libXrender-$version.tar.bz2)

build() {
	cd libXrender-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install

	rm -rf $PKG/usr/share
}

Added xorg/xorg-libxres/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: X Resource extension client library
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-libx11, xorg-libxext, xorg-resourceproto

name=xorg-libxres
version=1.0.5
release=1
source=(http://xorg.freedesktop.org/releases/individual/lib/libXres-$version.tar.bz2)

build() {
	cd libXres-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-libxscrnsaver/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: X Screen Saver extension client library
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-libx11, xorg-xextproto, xorg-libxext, xorg-scrnsaverproto

name=xorg-libxscrnsaver
version=1.2.1
release=1
source=(http://xorg.freedesktop.org/releases/individual/lib/libXScrnSaver-$version.tar.bz2)

build() {
	cd libXScrnSaver-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-libxt/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg lib libXt
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-libsm, xorg-libx11, xorg-xproto, xorg-kbproto

name=xorg-libxt
version=1.1.1
release=1
source=(http://xorg.freedesktop.org/releases/individual/lib/libXt-$version.tar.bz2)

build() {
	cd libXt-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-libxtrap/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: X Trap extension client library
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-libx11, xorg-libxt, xorg-trapproto, xorg-xextproto, xorg-libxext

name=xorg-libxtrap
version=1.0.0
release=1
source=(http://xorg.freedesktop.org/releases/individual/lib/libXTrap-$version.tar.bz2)

build() {
	cd libXTrap-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-libxtst/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: xorg lib libXtst
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-libx11, xorg-libxext, xorg-libxi, xorg-recordproto

name=xorg-libxtst
version=1.2.0
release=1
source=(http://xorg.freedesktop.org/releases/individual/lib/libXtst-$version.tar.bz2)

build() {
	cd libXtst-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install

	rm $PKG/usr/share/doc/libXtst/{record,xtest}lib.xml
	find $PKG/usr/share -type d -delete
}

Added xorg/xorg-libxv/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: X Video extension client library
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-libx11, xorg-libxext, xorg-videoproto

name=xorg-libxv
version=1.0.6
release=1
source=(http://xorg.freedesktop.org/releases/individual/lib/libXv-$version.tar.bz2)

build() {
	cd libXv-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-libxvmc/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: X Video Motion Compensation extension client library
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-libx11, xorg-libxext, xorg-libxv

name=xorg-libxvmc
version=1.0.6
release=1
source=(http://xorg.freedesktop.org/releases/individual/lib/libXvMC-$version.tar.bz2)

build() {
	cd libXvMC-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install

	rm -rf $PKG/usr/share
}

Added xorg/xorg-libxxf86dga/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg lib libXxf86dga
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-xproto, xorg-libx11, xorg-libxext, xorg-xf86dgaproto

name=xorg-libxxf86dga
version=1.1.2
release=1
source=(http://xorg.freedesktop.org/releases/individual/lib/libXxf86dga-$version.tar.bz2)

build() {
	cd libXxf86dga-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-libxxf86misc/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg lib libXxf86misc
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-xproto, xorg-libx11, xorg-libxext, xorg-xf86miscproto

name=xorg-libxxf86misc
version=1.0.3
release=1
source=(http://xorg.freedesktop.org/releases/individual/lib/libXxf86misc-$version.tar.bz2)

build() {
	cd libXxf86misc-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-libxxf86vm/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg lib libXxf86vm
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-xproto, xorg-libx11, xorg-libxext, xorg-xf86vidmodeproto

name=xorg-libxxf86vm
version=1.1.1
release=1
source=(http://xorg.freedesktop.org/releases/individual/lib/libXxf86vm-$version.tar.bz2)

build() {
	cd libXxf86vm-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-makedepend/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Create dependencies in Makefiles
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-xproto

name=xorg-makedepend
version=1.0.3
release=1
source=(http://xorg.freedesktop.org/releases/individual/util/makedepend-$version.tar.bz2)

build() {
	cd makedepend-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-mkfontdir/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: Create an index of X font files
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu

name=xorg-mkfontdir
version=1.0.6
release=1
source=(http://xorg.freedesktop.org/releases/individual/app/mkfontdir-$version.tar.bz2)

build() {
	cd mkfontdir-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-mkfontscale/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Create an index of scalable X font files
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-libx11, xorg-libfontenc, freetype

name=xorg-mkfontscale
version=1.0.9
release=1
source=(http://xorg.freedesktop.org/releases/individual/app/mkfontscale-$version.tar.bz2)

build() {
	cd mkfontscale-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-randrproto/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: xorg proto randrproto
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu

name=xorg-randrproto
version=1.3.2
release=1
source=(http://xorg.freedesktop.org/releases/individual/proto/randrproto-$version.tar.bz2)

build() {
	cd randrproto-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install

	rm -rf $PKG/usr/share
}

Added xorg/xorg-recordproto/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: xorg proto recordproto
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu

name=xorg-recordproto
version=1.14.1
release=1
source=(http://xorg.freedesktop.org/releases/individual/proto/recordproto-$version.tar.bz2)

build() {
	cd recordproto-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install

	rm $PKG/usr/share/doc/recordproto/record.xml
	find $PKG/usr/share -type d -delete
}

Added xorg/xorg-rendercheck/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Test suite for the Render extension
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-libxrender

name=xorg-rendercheck
version=1.4
release=1
source=(http://xorg.freedesktop.org/releases/individual/app/rendercheck-$version.tar.bz2)

build() {
	cd rendercheck-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-renderproto/Pkgfile.







































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Description: xorg proto renderproto
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu

name=xorg-renderproto
version=0.11.1
release=1
source=(http://xorg.freedesktop.org/releases/individual/proto/renderproto-$version.tar.bz2)

build() {
	cd renderproto-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install

	rm -rf $PKG/usr/share
}

Added xorg/xorg-resourceproto/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: xorg proto resourceproto
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu

name=xorg-resourceproto
version=1.2.0
release=1
source=(http://xorg.freedesktop.org/releases/individual/proto/resourceproto-$version.tar.bz2)

build() {
	cd resourceproto-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install

	rm $PKG/usr/share/doc/resourceproto/resproto.txt
	find $PKG/usr/share -type d -delete
}

Added xorg/xorg-rgb/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: X Window System RGB database
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-xproto

name=xorg-rgb
version=1.0.4
release=1
source=(http://xorg.freedesktop.org/releases/individual/app/rgb-$version.tar.bz2)

build() {
	cd rgb-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-scrnsaverproto/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: xorg proto scrnsaverproto
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu

name=xorg-scrnsaverproto
version=1.2.1
release=1
source=(http://xorg.freedesktop.org/releases/individual/proto/scrnsaverproto-$version.tar.bz2)

build() {
	cd scrnsaverproto-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install

	rm $PKG/usr/share/doc/scrnsaverproto/saver.xml
	find $PKG/usr/share -type d -delete
}

Added xorg/xorg-server/Pkgfile.



























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# Description: X Window System server
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: mesa3d, xorg-bdftopcf, xorg-mkfontdir, xorg-mkfontscale, xorg-xf86driproto, xorg-dri2proto, xorg-libxkbui, xorg-xcmiscproto, xorg-scrnsaverproto, xorg-bigreqsproto, xorg-libxtst, xorg-libdmx, xorg-libxxf86misc, xorg-libxaw, xorg-libxvmc, xorg-libxi, xorg-libxres, xorg-libxcomposite, xorg-libxinerama, xorg-libxrandr, xorg-libxft, xorg-libxcursor, xorg-libxxf86dga, xorg-libpixman, xorg-libpciaccess

name=xorg-server
version=1.11.3
release=1
source=(http://xorg.freedesktop.org/releases/individual/xserver/$name-$version.tar.bz2 $name.diff)

build() {
	cd $name-$version

	patch -Rp1 -i $SRC/$name.diff

	./configure --prefix=/usr --enable-dri \
	            --localstatedir=/var --mandir=/usr/man \
	            --with-xkb-output=/var/lib/xkb \
	            --with-fontrootdir=/usr/share/fonts/X11 \
	            --with-sha1=libcrypto \
	            --disable-config-dbus

	make -j 1
	make DESTDIR=$PKG install

	rmdir $PKG/var/log

	install -m 755 -d $PKG/etc/X11/xorg.conf.d
}

Added xorg/xorg-server/xorg-server.diff.

























































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
This commit causes drawing issues with i945, urxvt and xcompmgr.

From 8d7b7a0d71e0b89321b3341b781bc8845386def6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Kristian=20H=C3=B8gsberg?= <krh@bitplanet.net>
Date: Thu, 29 Jul 2010 20:36:25 -0400
Subject: [PATCH 01/29] Set DamageSetReportAfterOp to true for the damage extension
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Change the damage extension reporter to queue up events after we chain
to the wrapped functions.  Damage events are typically sent out after
the rendering happens anyway, since we submit batch buffers from the
flush callback chain and then flush client io buffers.  Compositing
managers relie on this order, and there is no way we could reliably
provide damage events to clients before the rendering happens anyway.

By queueing up the damage events before the rendering happens, there's
a risk that the client io buffer may overflow and send the damage
events to the client before the driver has even seen the rendering
request.  Reporting damage events after the rendering fixes this
corner case and better corresponds with how we expect this to work.

Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Keith Packard <keithp@keithp.com>
---
 damageext/damageext.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/damageext/damageext.c b/damageext/damageext.c
index f5265dd..b4bb478 100644
--- a/damageext/damageext.c
+++ b/damageext/damageext.c
@@ -217,6 +217,7 @@ ProcDamageCreate (ClientPtr client)
     if (!AddResource (stuff->damage, DamageExtType, (pointer) pDamageExt))
 	return BadAlloc;
 
+    DamageSetReportAfterOp (pDamageExt->pDamage, TRUE);
     DamageRegister (pDamageExt->pDrawable, pDamageExt->pDamage);
 
     if (pDrawable->type == DRAWABLE_WINDOW)
-- 
1.7.2.2

Added xorg/xorg-sessreg/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Program for managing utmp/wtmp entries for xdm sessions
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-libx11

name=xorg-sessreg
version=1.0.6
release=1
source=(http://xorg.freedesktop.org/releases/individual/app/sessreg-$version.tar.bz2)

build() {
	cd sessreg-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-setxkbmap/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Set the keyboard using the X Keyboard Extension
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-libx11, xorg-libxkbfile

name=xorg-setxkbmap
version=1.2.0
release=1
source=(http://xorg.freedesktop.org/releases/individual/app/setxkbmap-$version.tar.bz2)

build() {
	cd setxkbmap-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-trapproto/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: xorg proto trapproto
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu

name=xorg-trapproto
version=3.4.3
release=1
source=(http://xorg.freedesktop.org/releases/individual/proto/trapproto-$version.tar.bz2)

build() {
	cd trapproto-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-util-macros/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: xorg m4 macros
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu

name=xorg-util-macros
version=1.15.0
release=1
source=(http://xorg.freedesktop.org/releases/individual/util/util-macros-$version.tar.bz2)

build() {
	cd util-macros-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-videoproto/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: xorg proto videoproto
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu

name=xorg-videoproto
version=2.3.1
release=1
source=(http://xorg.freedesktop.org/releases/individual/proto/videoproto-$version.tar.bz2)

build() {
	cd videoproto-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install

	rm $PKG/usr/share/doc/videoproto/xv-protocol-v2.txt
	rmdir $PKG/usr/share/{doc/videoproto,doc,}
}

Added xorg/xorg-x11perf/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: X11 server performance test program
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-libxmu, xorg-libxft, xorg-libxext

name=xorg-x11perf
version=1.5.3
release=1
source=(http://xorg.freedesktop.org/releases/individual/app/x11perf-$version.tar.bz2)

build() {
	cd x11perf-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xauth/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: X authority file utility
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server

name=xorg-xauth
version=1.0.6
release=1
source=(http://xorg.freedesktop.org/releases/individual/app/xauth-$version.tar.bz2)

build() {
	cd xauth-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xbacklight/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Utility to set a display's backlight level
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-libxrandr

name=xorg-xbacklight
version=1.1.2
release=1
source=(http://xorg.freedesktop.org/releases/individual/app/xbacklight-$version.tar.bz2)

build() {
	cd xbacklight-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xbitmaps/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: Bitmaps for X
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu

name=xorg-xbitmaps
version=1.1.1
release=1
source=(http://xorg.freedesktop.org/releases/individual/data/xbitmaps-$version.tar.bz2)

build() {
	cd xbitmaps-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xcb-proto/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: XCB X protocol descriptions
# URL: http://xcb.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: python

name=xorg-xcb-proto
version=1.6
release=2
source=(http://xcb.freedesktop.org/dist/xcb-proto-$version.tar.bz2)

build() {
	cd xcb-proto-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xcb-util/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: XCB utilities library
# URL: http://xcb.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-libxcb gperf

name=xorg-xcb-util
version=0.3.6
release=1
source=(http://xcb.freedesktop.org/dist/xcb-util-$version.tar.bz2)

build() {
	cd xcb-util-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xcmiscproto/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: xorg proto xcmiscproto
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu

name=xorg-xcmiscproto
version=1.2.1
release=1
source=(http://xorg.freedesktop.org/releases/individual/proto/xcmiscproto-$version.tar.bz2)

build() {
	cd xcmiscproto-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install

	rm $PKG/usr/share/doc/xcmiscproto/xc-misc.xml
	find $PKG/usr/share -type d -delete
}

Added xorg/xorg-xcompmgr/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Compositing manager for X
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-libxdamage, xorg-libxcomposite, xorg-libxrender

name=xorg-xcompmgr
version=1.1.5
release=1
source=(http://xorg.freedesktop.org/releases/individual/app/xcompmgr-$version.tar.bz2)

build() {
	cd xcompmgr-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xcursorgen/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Utility to create X cursors
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-libxcursor, libpng

name=xorg-xcursorgen
version=1.0.4
release=1
source=(http://xorg.freedesktop.org/releases/individual/app/xcursorgen-$version.tar.bz2)

build() {
	cd xcursorgen-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xcursorgen/xorg-xcursorgen.diff.

































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
Adjusted from commit 9e7c41e0e16183110cd7b28d012a0bb69aed4655 upstream.

diff -aur xcursorgen-1.0.3.orig/configure xcursorgen-1.0.3/configure
--- xcursorgen-1.0.3.orig/configure	2009-10-17 02:42:25.000000000 +0200
+++ xcursorgen-1.0.3/configure	2010-09-05 11:59:50.910999988 +0200
@@ -5043,12 +5043,12 @@
     pkg_cv_XCURSORGEN_CFLAGS="$XCURSORGEN_CFLAGS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"x11 xcursor libpng12\"") >&5
-  ($PKG_CONFIG --exists --print-errors "x11 xcursor libpng12") 2>&5
+    { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"x11 xcursor libpng >= 1.2.0\"") >&5
+  ($PKG_CONFIG --exists --print-errors "x11 xcursor libpng >= 1.2.0") 2>&5
   ac_status=$?
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
-  pkg_cv_XCURSORGEN_CFLAGS=`$PKG_CONFIG --cflags "x11 xcursor libpng12" 2>/dev/null`
+  pkg_cv_XCURSORGEN_CFLAGS=`$PKG_CONFIG --cflags "x11 xcursor libpng >= 1.2.0" 2>/dev/null`
 else
   pkg_failed=yes
 fi
@@ -5059,12 +5059,12 @@
     pkg_cv_XCURSORGEN_LIBS="$XCURSORGEN_LIBS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"x11 xcursor libpng12\"") >&5
-  ($PKG_CONFIG --exists --print-errors "x11 xcursor libpng12") 2>&5
+    { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"x11 xcursor libpng >= 1.2.0\"") >&5
+  ($PKG_CONFIG --exists --print-errors "x11 xcursor libpng >= 1.2.0") 2>&5
   ac_status=$?
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
-  pkg_cv_XCURSORGEN_LIBS=`$PKG_CONFIG --libs "x11 xcursor libpng12" 2>/dev/null`
+  pkg_cv_XCURSORGEN_LIBS=`$PKG_CONFIG --libs "x11 xcursor libpng >= 1.2.0" 2>/dev/null`
 else
   pkg_failed=yes
 fi
@@ -5082,14 +5082,14 @@
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        XCURSORGEN_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "x11 xcursor libpng12" 2>&1`
+	        XCURSORGEN_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "x11 xcursor libpng >= 1.2.0" 2>&1`
         else
-	        XCURSORGEN_PKG_ERRORS=`$PKG_CONFIG --print-errors "x11 xcursor libpng12" 2>&1`
+	        XCURSORGEN_PKG_ERRORS=`$PKG_CONFIG --print-errors "x11 xcursor libpng >= 1.2.0" 2>&1`
         fi
 	# Put the nasty error message in config.log where it belongs
 	echo "$XCURSORGEN_PKG_ERRORS" >&5
 
-	{ { $as_echo "$as_me:$LINENO: error: Package requirements (x11 xcursor libpng12) were not met:
+	{ { $as_echo "$as_me:$LINENO: error: Package requirements (x11 xcursor libpng >= 1.2.0) were not met:
 
 $XCURSORGEN_PKG_ERRORS
 
@@ -5100,7 +5100,7 @@
 and XCURSORGEN_LIBS to avoid the need to call pkg-config.
 See the pkg-config man page for more details.
 " >&5
-$as_echo "$as_me: error: Package requirements (x11 xcursor libpng12) were not met:
+$as_echo "$as_me: error: Package requirements (x11 xcursor libpng >= 1.2.0) were not met:
 
 $XCURSORGEN_PKG_ERRORS
 


diff --git a/xcursorgen.c b/xcursorgen.c
index fc80f6d..daae18b 100644
--- a/xcursorgen.c
+++ b/xcursorgen.c
@@ -196,7 +196,7 @@ load_image (struct flist *list, char *prefix)
       return NULL;
     }
 
-  if (setjmp (png->jmpbuf))
+  if (setjmp (png_jmpbuf(png)))
     {
       png_destroy_read_struct (&png, &info, NULL);
       return NULL;

Added xorg/xorg-xdm/Pkgfile.











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Description: X display manager
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server, xorg-xrdb

name=xorg-xdm
version=1.1.11
release=1
source=(http://xorg.freedesktop.org/releases/individual/app/xdm-$version.tar.bz2 \
        xdm)

build() {
	cd xdm-$version

	./configure --prefix=/usr --mandir=/usr/man --enable-xdmshell

	make
	make DESTDIR=$PKG install

	install -D -m 755 $SRC/xdm $PKG/etc/rc.d/xdm
}

Added xorg/xorg-xdm/xdm.















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/bin/sh
#
# /etc/rc.d/xdm: start/stop xdm
#

case $1 in
start)
	/usr/bin/xdm
	;;
stop)
	killall -q /usr/bin/xdm
	;;
restart)
	$0 stop
	sleep 2
	$0 start
	;;
*)
	echo "usage: $0 [start|stop|restart]"
	;;
esac

# End of file

Added xorg/xorg-xdpyinfo/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Display information utility for X
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-libx11, xorg-libxext, xorg-libxtst, xorg-libxxf86vm, xorg-libxxf86dga, xorg-libxxf86misc, xorg-libxi, xorg-libxrender, xorg-libxinerama, xorg-libdmx

name=xorg-xdpyinfo
version=1.2.0
release=1
source=(http://xorg.freedesktop.org/releases/individual/app/xdpyinfo-$version.tar.bz2)

build() {
	cd xdpyinfo-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xdriinfo/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Query configuration information of DRI drivers
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-libx11, xorg-glproto

name=xorg-xdriinfo
version=1.0.4
release=1
source=(http://xorg.freedesktop.org/releases/individual/app/xdriinfo-$version.tar.bz2)

build() {
	cd xdriinfo-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xev/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Print contents of X events
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-libx11

name=xorg-xev
version=1.1.0
release=1
source=(http://xorg.freedesktop.org/releases/individual/app/xev-$version.tar.bz2)

build() {
	cd xev-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xextproto/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: xorg proto xextproto
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu

name=xorg-xextproto
version=7.2.0
release=1
source=(http://xorg.freedesktop.org/releases/individual/proto/xextproto-$version.tar.bz2)

build() {
	cd xextproto-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install

	rm $PKG/usr/share/doc/xextproto/*.xml
	rmdir $PKG/usr/share/{doc/xextproto,doc,}
}

Added xorg/xorg-xf86-input-acecad/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg driver xf86-input-acecad
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server

name=xorg-xf86-input-acecad
version=1.5.0
release=1
source=(http://xorg.freedesktop.org/releases/individual/driver/xf86-input-acecad-$version.tar.bz2)

build() {
	cd xf86-input-acecad-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xf86-input-aiptek/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: xorg driver xf86-input-aiptek
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu

name=xorg-xf86-input-aiptek
version=1.4.0
release=1
source=(http://xorg.freedesktop.org/releases/individual/driver/xf86-input-aiptek-$version.tar.bz2)

build() {
	cd xf86-input-aiptek-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xf86-input-elographics/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg driver xf86-input-elographics
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server

name=xorg-xf86-input-elographics
version=1.2.4
release=1
source=(http://xorg.freedesktop.org/releases/individual/driver/xf86-input-elographics-$version.tar.bz2)

build() {
	cd xf86-input-elographics-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xf86-input-evdev/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg driver xf86-input-evdev
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server

name=xorg-xf86-input-evdev
version=2.6.0
release=1
source=(http://xorg.freedesktop.org/releases/individual/driver/xf86-input-evdev-$version.tar.bz2)

build() {
	cd xf86-input-evdev-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xf86-input-joystick/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg driver xf86-input-joystick
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server

name=xorg-xf86-input-joystick
version=1.6.0
release=1
source=(http://xorg.freedesktop.org/releases/individual/driver/xf86-input-joystick-$version.tar.bz2)

build() {
	cd xf86-input-joystick-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xf86-input-keyboard/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg driver xf86-input-keyboard
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server

name=xorg-xf86-input-keyboard
version=1.6.0
release=1
source=(http://xorg.freedesktop.org/releases/individual/driver/xf86-input-keyboard-$version.tar.bz2)

build() {
	cd xf86-input-keyboard-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xf86-input-mouse/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg driver xf86-input-mouse
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server

name=xorg-xf86-input-mouse
version=1.7.0
release=1
source=(http://xorg.freedesktop.org/releases/individual/driver/xf86-input-mouse-$version.tar.bz2)

build() {
	cd xf86-input-mouse-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xf86-input-penmount/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg driver xf86-input-penmount
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server

name=xorg-xf86-input-penmount
version=1.4.1
release=1
source=(http://xorg.freedesktop.org/releases/individual/driver/xf86-input-penmount-$version.tar.bz2)

build() {
	cd xf86-input-penmount-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xf86-input-synaptics/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Synaptics touchpad input driver
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server

name=xorg-xf86-input-synaptics
version=1.5.0
release=1
source=(http://xorg.freedesktop.org/releases/individual/driver/xf86-input-synaptics-$version.tar.bz2)

build() {
	cd xf86-input-synaptics-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xf86-input-vmmouse/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg driver xf86-input-vmmouse
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server

name=xorg-xf86-input-vmmouse
version=12.7.0
release=1
source=(http://xorg.freedesktop.org/releases/individual/driver/xf86-input-vmmouse-$version.tar.bz2)

build() {
	cd xf86-input-vmmouse-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xf86-input-void/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg driver xf86-input-void
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server

name=xorg-xf86-input-void
version=1.4.0
release=1
source=(http://xorg.freedesktop.org/releases/individual/driver/xf86-input-void-$version.tar.bz2)

build() {
	cd xf86-input-void-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xf86-video-apm/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg driver xf86-video-apm
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server

name=xorg-xf86-video-apm
version=1.2.3
release=1
source=(http://xorg.freedesktop.org/releases/individual/driver/xf86-video-apm-$version.tar.bz2)

build() {
	cd xf86-video-apm-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xf86-video-ark/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg driver xf86-video-ark
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server

name=xorg-xf86-video-ark
version=0.7.3
release=1
source=(http://xorg.freedesktop.org/releases/individual/driver/xf86-video-ark-$version.tar.bz2)

build() {
	cd xf86-video-ark-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xf86-video-ati/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg driver xf86-video-ati
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server

name=xorg-xf86-video-ati
version=6.14.4
release=1
source=(http://xorg.freedesktop.org/releases/individual/driver/xf86-video-ati-$version.tar.bz2)

build() {
	cd xf86-video-ati-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xf86-video-chips/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg driver xf86-video-chips
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server

name=xorg-xf86-video-chips
version=1.2.4
release=1
source=(http://xorg.freedesktop.org/releases/individual/driver/xf86-video-chips-$version.tar.bz2)

build() {
	cd xf86-video-chips-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xf86-video-cirrus/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg driver xf86-video-cirrus
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server

name=xorg-xf86-video-cirrus
version=1.3.2
release=1
source=(http://xorg.freedesktop.org/releases/individual/driver/xf86-video-cirrus-$version.tar.bz2)

build() {
	cd xf86-video-cirrus-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xf86-video-dummy/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg driver xf86-video-dummy
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server

name=xorg-xf86-video-dummy
version=0.3.4
release=1
source=(http://xorg.freedesktop.org/releases/individual/driver/xf86-video-dummy-$version.tar.bz2)

build() {
	cd xf86-video-dummy-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xf86-video-fbdev/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg driver xf86-video-fbdev
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server

name=xorg-xf86-video-fbdev
version=0.4.2
release=1
source=(http://xorg.freedesktop.org/releases/individual/driver/xf86-video-fbdev-$version.tar.bz2)

build() {
	cd xf86-video-fbdev-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xf86-video-geode/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg driver xf86-video-geode
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server

name=xorg-xf86-video-geode
version=2.11.12
release=1
source=(http://xorg.freedesktop.org/releases/individual/driver/xf86-video-geode-$version.tar.bz2)

build() {
	cd xf86-video-geode-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xf86-video-glint/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg driver xf86-video-glint
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server

name=xorg-xf86-video-glint
version=1.2.5
release=1
source=(http://xorg.freedesktop.org/releases/individual/driver/xf86-video-glint-$version.tar.bz2)

build() {
	cd xf86-video-glint-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xf86-video-i128/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg driver xf86-video-i128
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server

name=xorg-xf86-video-i128
version=1.3.4
release=1
source=(http://xorg.freedesktop.org/releases/individual/driver/xf86-video-i128-$version.tar.bz2)

build() {
	cd xf86-video-i128-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xf86-video-i740/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg driver xf86-video-i740
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server

name=xorg-xf86-video-i740
version=1.3.2
release=1
source=(http://xorg.freedesktop.org/releases/individual/driver/xf86-video-i740-$version.tar.bz2)

build() {
	cd xf86-video-i740-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xf86-video-imstt/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg driver xf86-video-imstt
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server

name=xorg-xf86-video-imstt
version=1.1.0
release=1
source=(http://xorg.freedesktop.org/releases/individual/driver/xf86-video-imstt-$version.tar.bz2)

build() {
	cd xf86-video-imstt-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xf86-video-intel/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Intel graphics video driver
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server, xorg-xcb-util

name=xorg-xf86-video-intel
version=2.17.0
release=1
source=(http://xorg.freedesktop.org/releases/individual/driver/xf86-video-intel-$version.tar.bz2)

build() {
	cd xf86-video-intel-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xf86-video-mach64/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: xorg driver xf86-video-mach64
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server

name=xorg-xf86-video-mach64
version=6.9.0
release=1
source=(http://xorg.freedesktop.org/releases/individual/driver/xf86-video-mach64-$version.tar.bz2)

build() {
	cd xf86-video-mach64-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install

	rmdir $PKG/usr/{man/man4,man}
}

Added xorg/xorg-xf86-video-mga/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg driver xf86-video-mga
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server

name=xorg-xf86-video-mga
version=1.4.13
release=1
source=(http://xorg.freedesktop.org/releases/individual/driver/xf86-video-mga-$version.tar.bz2)

build() {
	cd xf86-video-mga-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xf86-video-neomagic/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg driver xf86-video-neomagic
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server

name=xorg-xf86-video-neomagic
version=1.2.5
release=1
source=(http://xorg.freedesktop.org/releases/individual/driver/xf86-video-neomagic-$version.tar.bz2)

build() {
	cd xf86-video-neomagic-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xf86-video-newport/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg driver xf86-video-newport
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server

name=xorg-xf86-video-newport
version=0.2.3
release=1
source=(http://xorg.freedesktop.org/releases/individual/driver/xf86-video-newport-$version.tar.bz2)

build() {
	cd xf86-video-newport-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xf86-video-nv/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg driver xf86-video-nv
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server

name=xorg-xf86-video-nv
version=2.1.18
release=1
source=(http://xorg.freedesktop.org/releases/individual/driver/xf86-video-nv-$version.tar.bz2)

build() {
	cd xf86-video-nv-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xf86-video-openchrome/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg driver xf86-video-openchrome
# URL: http://www.openchrome.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server

name=xorg-xf86-video-openchrome
version=0.2.904
release=1
source=(http://www.openchrome.org/releases/xf86-video-openchrome-$version.tar.bz2)

build() {
	cd xf86-video-openchrome-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xf86-video-r128/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg driver xf86-video-r128
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server

name=xorg-xf86-video-r128
version=6.8.1
release=1
source=(http://xorg.freedesktop.org/releases/individual/driver/xf86-video-r128-$version.tar.bz2)

build() {
	cd xf86-video-r128-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xf86-video-radeonhd/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Video driver for ATI Radeons with r5xx/r6xx/r7xx chips
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server

name=xorg-xf86-video-radeonhd
version=1.3.0
release=1
source=(http://xorg.freedesktop.org/releases/individual/driver/xf86-video-radeonhd-$version.tar.bz2)

build() {
	cd xf86-video-radeonhd-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xf86-video-rendition/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg driver xf86-video-rendition
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server

name=xorg-xf86-video-rendition
version=4.2.4
release=1
source=(http://xorg.freedesktop.org/releases/individual/driver/xf86-video-rendition-$version.tar.bz2)

build() {
	cd xf86-video-rendition-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xf86-video-s3/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg driver xf86-video-s3
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server

name=xorg-xf86-video-s3
version=0.6.3
release=1
source=(http://xorg.freedesktop.org/releases/individual/driver/xf86-video-s3-$version.tar.bz2)

build() {
	cd xf86-video-s3-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xf86-video-s3virge/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg driver xf86-video-s3virge
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server

name=xorg-xf86-video-s3virge
version=1.10.4
release=1
source=(http://xorg.freedesktop.org/releases/individual/driver/xf86-video-s3virge-$version.tar.bz2)

build() {
	cd xf86-video-s3virge-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xf86-video-savage/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg driver xf86-video-savage
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server

name=xorg-xf86-video-savage
version=2.3.2
release=1
source=(http://xorg.freedesktop.org/releases/individual/driver/xf86-video-savage-$version.tar.bz2)

build() {
	cd xf86-video-savage-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xf86-video-siliconmotion/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg driver xf86-video-siliconmotion
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server

name=xorg-xf86-video-siliconmotion
version=1.7.5
release=1
source=(http://xorg.freedesktop.org/releases/individual/driver/xf86-video-siliconmotion-$version.tar.bz2)

build() {
	cd xf86-video-siliconmotion-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xf86-video-sis/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg driver xf86-video-sis
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server

name=xorg-xf86-video-sis
version=0.10.3
release=1
source=(http://xorg.freedesktop.org/releases/individual/driver/xf86-video-sis-$version.tar.bz2)

build() {
	cd xf86-video-sis-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xf86-video-sisusb/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg driver xf86-video-sisusb
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server

name=xorg-xf86-video-sisusb
version=0.9.4
release=1
source=(http://xorg.freedesktop.org/releases/individual/driver/xf86-video-sisusb-$version.tar.bz2)

build() {
	cd xf86-video-sisusb-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xf86-video-sunbw2/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg driver xf86-video-sunbw2
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server

name=xorg-xf86-video-sunbw2
version=1.1.0
release=1
source=(http://xorg.freedesktop.org/releases/individual/driver/xf86-video-sunbw2-$version.tar.bz2)

build() {
	cd xf86-video-sunbw2-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xf86-video-suncg14/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg driver xf86-video-suncg14
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server

name=xorg-xf86-video-suncg14
version=1.1.1
release=1
source=(http://xorg.freedesktop.org/releases/individual/driver/xf86-video-suncg14-$version.tar.bz2)

build() {
	cd xf86-video-suncg14-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xf86-video-suncg3/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg driver xf86-video-suncg3
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server

name=xorg-xf86-video-suncg3
version=1.1.1
release=1
source=(http://xorg.freedesktop.org/releases/individual/driver/xf86-video-suncg3-$version.tar.bz2)

build() {
	cd xf86-video-suncg3-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xf86-video-suncg6/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg driver xf86-video-suncg6
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server

name=xorg-xf86-video-suncg6
version=1.1.1
release=1
source=(http://xorg.freedesktop.org/releases/individual/driver/xf86-video-suncg6-$version.tar.bz2)

build() {
	cd xf86-video-suncg6-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xf86-video-sunffb/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg driver xf86-video-sunffb
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server

name=xorg-xf86-video-sunffb
version=1.2.1
release=1
source=(http://xorg.freedesktop.org/releases/individual/driver/xf86-video-sunffb-$version.tar.bz2)

build() {
	cd xf86-video-sunffb-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xf86-video-sunleo/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg driver xf86-video-sunleo
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server

name=xorg-xf86-video-sunleo
version=1.2.0
release=1
source=(http://xorg.freedesktop.org/releases/individual/driver/xf86-video-sunleo-$version.tar.bz2)

build() {
	cd xf86-video-sunleo-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xf86-video-suntcx/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg driver xf86-video-suntcx
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server

name=xorg-xf86-video-suntcx
version=1.1.1
release=1
source=(http://xorg.freedesktop.org/releases/individual/driver/xf86-video-suntcx-$version.tar.bz2)

build() {
	cd xf86-video-suntcx-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xf86-video-tdfx/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg driver xf86-video-tdfx
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server

name=xorg-xf86-video-tdfx
version=1.4.3
release=1
source=(http://xorg.freedesktop.org/releases/individual/driver/xf86-video-tdfx-$version.tar.bz2)

build() {
	cd xf86-video-tdfx-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xf86-video-tga/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg driver xf86-video-tga
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server

name=xorg-xf86-video-tga
version=1.2.1
release=1
source=(http://xorg.freedesktop.org/releases/individual/driver/xf86-video-tga-$version.tar.bz2)

build() {
	cd xf86-video-tga-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xf86-video-trident/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg driver xf86-video-trident
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server

name=xorg-xf86-video-trident
version=1.3.4
release=1
source=(http://xorg.freedesktop.org/releases/individual/driver/xf86-video-trident-$version.tar.bz2)

build() {
	cd xf86-video-trident-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xf86-video-tseng/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg driver xf86-video-tseng
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server

name=xorg-xf86-video-tseng
version=1.2.4
release=1
source=(http://xorg.freedesktop.org/releases/individual/driver/xf86-video-tseng-$version.tar.bz2)

build() {
	cd xf86-video-tseng-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xf86-video-v4l/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg driver xf86-video-v4l
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server

name=xorg-xf86-video-v4l
version=0.2.0
release=1
source=(http://xorg.freedesktop.org/releases/individual/driver/xf86-video-v4l-$version.tar.bz2)

build() {
	cd xf86-video-v4l-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xf86-video-vesa/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg driver xf86-video-vesa
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server

name=xorg-xf86-video-vesa
version=2.3.0
release=1
source=(http://xorg.freedesktop.org/releases/individual/driver/xf86-video-vesa-$version.tar.bz2)

build() {
	cd xf86-video-vesa-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xf86-video-vga/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg driver xf86-video-vga
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server

name=xorg-xf86-video-vga
version=4.1.0
release=1
source=(http://xorg.freedesktop.org/releases/individual/driver/xf86-video-vga-$version.tar.bz2)

build() {
	cd xf86-video-vga-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xf86-video-vmware/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: xorg driver xf86-video-vmware
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server

name=xorg-xf86-video-vmware
version=11.0.3
release=1
source=(http://xorg.freedesktop.org/releases/individual/driver/xf86-video-vmware-$version.tar.bz2)

build() {
	cd xf86-video-vmware-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install

	rmdir $PKG/usr/bin
}

Added xorg/xorg-xf86-video-voodoo/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg driver xf86-video-voodoo
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server

name=xorg-xf86-video-voodoo
version=1.2.4
release=1
source=(http://xorg.freedesktop.org/releases/individual/driver/xf86-video-voodoo-$version.tar.bz2)

build() {
	cd xf86-video-voodoo-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xf86-video-xgi/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg driver xf86-video-xgi
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server

name=xorg-xf86-video-xgi
version=1.6.0
release=1
source=(http://xorg.freedesktop.org/releases/individual/driver/xf86-video-xgi-$version.tar.bz2)

build() {
	cd xf86-video-xgi-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xf86-video-xgixp/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg driver xf86-video-xgixp
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server

name=xorg-xf86-video-xgixp
version=1.8.0
release=1
source=(http://xorg.freedesktop.org/releases/individual/driver/xf86-video-xgixp-$version.tar.bz2)

build() {
	cd xf86-video-xgixp-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xf86bigfontproto/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: xorg proto xf86bigfontproto
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu

name=xorg-xf86bigfontproto
version=1.2.0
release=1
source=(http://xorg.freedesktop.org/releases/individual/proto/xf86bigfontproto-$version.tar.bz2)

build() {
	cd xf86bigfontproto-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xf86dgaproto/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: xorg proto xf86dgaproto
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu

name=xorg-xf86dgaproto
version=2.1
release=1
source=(http://xorg.freedesktop.org/releases/individual/proto/xf86dgaproto-$version.tar.bz2)

build() {
	cd xf86dgaproto-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xf86driproto/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: xorg proto xf86driproto
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu

name=xorg-xf86driproto
version=2.1.1
release=1
source=(http://xorg.freedesktop.org/releases/individual/proto/xf86driproto-$version.tar.bz2)

build() {
	cd xf86driproto-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xf86miscproto/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: xorg proto xf86miscproto
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu

name=xorg-xf86miscproto
version=0.9.3
release=1
source=(http://xorg.freedesktop.org/releases/individual/proto/xf86miscproto-$version.tar.bz2)

build() {
	cd xf86miscproto-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xf86rushproto/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: xorg proto xf86rushproto
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu

name=xorg-xf86rushproto
version=1.1.2
release=1
source=(http://xorg.freedesktop.org/releases/individual/proto/xf86rushproto-$version.tar.bz2)

build() {
	cd xf86rushproto-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xf86vidmodeproto/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: xorg proto xf86vidmodeproto
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu

name=xorg-xf86vidmodeproto
version=2.3.1
release=1
source=(http://xorg.freedesktop.org/releases/individual/proto/xf86vidmodeproto-$version.tar.bz2)

build() {
	cd xf86vidmodeproto-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xfontsel/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: X font selector
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-libxaw

name=xorg-xfontsel
version=1.0.3
release=1
source=(http://xorg.freedesktop.org/releases/individual/app/xfontsel-$version.tar.bz2)

build() {
	cd xfontsel-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xgamma/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Query or set X gamma correction
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-libx11, xorg-libxxf86vm

name=xorg-xgamma
version=1.0.4
release=1
source=(http://xorg.freedesktop.org/releases/individual/app/xgamma-$version.tar.bz2)

build() {
	cd xgamma-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xhost/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: x server access control program
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-libxmu

name=xorg-xhost
version=1.0.4
release=1
source=(http://xorg.freedesktop.org/releases/individual/app/xhost-$version.tar.bz2)

build() {
	cd xhost-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xineramaproto/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: xorg proto xineramaproto
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu

name=xorg-xineramaproto
version=1.2.1
release=1
source=(http://xorg.freedesktop.org/releases/individual/proto/xineramaproto-$version.tar.bz2)

build() {
	cd xineramaproto-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xinit/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: X Window System initializer
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server

name=xorg-xinit
version=1.3.0
release=1
source=(http://xorg.freedesktop.org/releases/individual/app/xinit-$version.tar.bz2)

build() {
	cd xinit-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xinput/Pkgfile.



































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Description: Utility to configure and test XInput devices
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu

name=xorg-xinput
version=1.5.3
release=1
source=(http://xorg.freedesktop.org/releases/individual/app/xinput-$version.tar.bz2)

build() {
	cd xinput-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xkbcomp/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: xorg XKB keyboard description compiler
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-libx11, xorg-libxkbfile

name=xorg-xkbcomp
version=1.2.3
release=1
source=(http://xorg.freedesktop.org/releases/individual/app/xkbcomp-$version.tar.bz2)

build() {
	cd xkbcomp-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xkill/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: x window sniper
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-libxmu

name=xorg-xkill
version=1.0.3
release=1
source=(http://xorg.freedesktop.org/releases/individual/app/xkill-$version.tar.bz2)

build() {
	cd xkill-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xlsfonts/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: List X fonts
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-libx11

name=xorg-xlsfonts
version=1.0.3
release=1
source=(http://xorg.freedesktop.org/releases/individual/app/xlsfonts-$version.tar.bz2)

build() {
	cd xlsfonts-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xmag/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Screen magnifier
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-libxaw

name=xorg-xmag
version=1.0.4
release=1
source=(http://xorg.freedesktop.org/releases/individual/app/xmag-$version.tar.bz2)

build() {
	cd xmag-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xmodmap/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Tool for modifying keymaps and pointer button mappings in X
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-libx11

name=xorg-xmodmap
version=1.0.5
release=1
source=(http://xorg.freedesktop.org/releases/individual/app/xmodmap-$version.tar.bz2)

build() {
	cd xmodmap-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xprop/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Property displayer for X
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-libxmu, xorg-libx11

name=xorg-xprop
version=1.2.0
release=1
source=(http://xorg.freedesktop.org/releases/individual/app/xprop-$version.tar.bz2)

build() {
	cd xprop-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xproto/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: xorg proto xproto
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu

name=xorg-xproto
version=7.0.22
release=1
source=(http://xorg.freedesktop.org/releases/individual/proto/xproto-$version.tar.bz2)

build() {
	cd xproto-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install

	rm $PKG/usr/share/doc/xproto/{encoding,glossary,keysyms,sect1-9,x11protocol}.xml
	find $PKG/usr/share -type d -delete
}

Added xorg/xorg-xrandr/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Resize and rotate utility for X
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-libxrandr

name=xorg-xrandr
version=1.3.4
release=1
source=(http://xorg.freedesktop.org/releases/individual/app/xrandr-$version.tar.bz2)

build() {
	cd xrandr-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xrdb/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: x server resource database utility
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-libxmu, xorg-libx11

name=xorg-xrdb
version=1.0.9
release=1
source=(http://xorg.freedesktop.org/releases/individual/app/xrdb-$version.tar.bz2)

build() {
	cd xrdb-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xset/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: User preference utility for X
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-libxmu, xorg-libx11, xorg-libxext, xorg-libxxf86misc

name=xorg-xset
version=1.2.2
release=1
source=(http://xorg.freedesktop.org/releases/individual/app/xset-$version.tar.bz2)

build() {
	cd xset-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xsetroot/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Root window parameter setting utility for X
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server, xorg-xbitmaps, xorg-libx11, xorg-libxmu

name=xorg-xsetroot
version=1.1.0
release=1
source=(http://xorg.freedesktop.org/releases/individual/app/xsetroot-$version.tar.bz2)

build() {
	cd xsetroot-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xtrans/Pkgfile.









































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Description: xorg lib xtrans
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu

name=xorg-xtrans
version=1.2.6
release=1
source=(http://xorg.freedesktop.org/releases/individual/lib/xtrans-$version.tar.bz2)

build() {
	cd xtrans-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install

	rm $PKG/usr/share/doc/xtrans/xtrans.xml
	rmdir $PKG/usr/share/doc/{xtrans,}
}

Added xorg/xorg-xvinfo/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: X-Video information utility
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-libx11, xorg-libxv

name=xorg-xvinfo
version=1.1.1
release=1
source=(http://xorg.freedesktop.org/releases/individual/app/xvinfo-$version.tar.bz2)

build() {
	cd xvinfo-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg-xwininfo/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: Window information utility for X
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-libxmu, xorg-libx11, xorg-libxext

name=xorg-xwininfo
version=1.1.1
release=1
source=(http://xorg.freedesktop.org/releases/individual/app/xwininfo-$version.tar.bz2)

build() {
	cd xwininfo-$version

	./configure --prefix=/usr --mandir=/usr/man

	make
	make DESTDIR=$PKG install
}

Added xorg/xorg/Pkgfile.



























>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
# Description: x.org's implementation of X11
# URL: http://xorg.freedesktop.org
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-server, xorg-xf86-input-mouse, xorg-xf86-input-keyboard, xorg-xf86-input-evdev, xorg-xf86-video-vesa, xorg-xinit, xorg-xauth, xorg-rgb, xkeyboard-config

name=xorg
version=7.6
release=1
source=()

build() {
	install -d $PKG/usr
}

Added xorg/xrestop/Pkgfile.





































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Description: top like tool for monitoring X client/server resource usage
# URL: http://freedesktop.org/wiki/Software/xrestop
# Maintainer: Tilman Sauerbeck, tilman at crux dot nu
# Depends on: xorg-libxres

name=xrestop
version=0.4
release=1
source=(http://projects.o-hand.com/sources/$name/$name-$version.tar.gz)

build() {
	cd xrestop-$version

	./configure --prefix=/usr

	make
	make DESTDIR=$PKG install
}