#!/bin/sh
#
# $NetBSD: url2pkg,v 1.13 2000/07/12 20:16:41 wiz Exp $
#
# url2pkg
# (c) 1999 Hubert Feyrer
#

if [ "$MAKE" = "" ]; then
	MAKE=make
fi

if [ "$PKGEDITOR" != "" ]; then
	editor="$PKGEDITOR"
elif [ "$EDITOR" != "" ]; then
	editor="$EDITOR"
else
	editor="vi"
fi

if [ "$PKGMAINTAINER" != "" ]; then
	email_maintainer="$PKGMAINTAINER"
elif [ "$REPLYTO" != "" ]; then
	email_maintainer="$REPLYTO"
else
	email_maintainer="<INSERT_YOUR_MAIL_ADDRESS_HERE>"
fi

if [ ! -f ../../mk/bsd.pkg.mk ]; then
	echo "Run this in .../pkgsrc/foo/bar !"
	exit 1
fi

if [ ! -f w*/.extract_done ]; then
	if [ "$1" = "" ]; then
		echo -n 'URL: '
		read url
	else
		url="$1"
	fi
	
	DISTNAME=`expr "$url" : '.*/\([^/]*\)\$''`
	MASTER_SITES=`expr "$url" : '\(.*\)/[^/]*\$'`
	
	case "$DISTNAME" in
	*.tgz)		EXTRACT_SUFX=".tgz" 
			DISTNAME=`expr ${DISTNAME} : '\(.*\)\.[^.]*'`
			;;
	*.tar.gz)	EXTRACT_SUFX=.tar.gz 
			DISTNAME=`expr ${DISTNAME} : '\(.*\)\.[^.]*\.[^.]*'`
			;;
        *.tar.bz2)	EXTRACT_SUFX=.tar.bz2
			DISTNAME=`expr ${DISTNAME} : '\(.*\)\.[^.]*\.[^.]*'`
			;;
	*)		EXTRACT_SUFX=`expr ${DISTNAME} : '.*\(\.[^.]*\)'`
			DISTNAME=`expr ${DISTNAME} : '\(.*\)\.[^.]*'`
			;;
	esac
	
	if [ -f Makefile ]; then
		mv Makefile Makefile.BAK
	fi
	
	(
	echo '# $'NetBSD'$'
	echo '#'
	echo ""
	echo "DISTNAME=	$DISTNAME"
	echo "CATEGORIES=	FILLTHISINPLEASE"
	echo "MASTER_SITES=	$MASTER_SITES/"
	if [ "$EXTRACT_SUFX" != ".tar.gz" ]; then
		echo "EXTRACT_SUFX=	${EXTRACT_SUFX}"
	fi
	echo ""
	echo "MAINTAINER=	$email_maintainer"
	echo "HOMEPAGE=	"
	echo ""
	echo '.include "../../mk/bsd.pkg.mk"'
	) >Makefile
	
	mkdir pkg
	echo '@comment $'NetBSD'$' >pkg/PLIST
	
	${editor} +5 Makefile
	
	echo "Running 'make makesum' ..."
	$MAKE makesum
	
	echo "Running 'make extract' ..."
	$MAKE extract
fi

#
# Exec Artificial Intelligence Modules here ...
#
wrksrc=`cd w* ; echo *`
if [ "$wrksrc" != "$DISTNAME" ]; then
	WRKSRC="\${WRKDIR}/$wrksrc"
fi

configure=`echo w*`/$wrksrc/configure
echo checking $configure XXX
if [ -f $configure ]; then
	if expr 2>&1 >/dev/null  "`cd w*/$wrksrc ; $configure --version`" \
	   : 'configure generated by autoconf version.*' ; then
		GNU_CONFIGURE=YES
	else
		HAS_CONFIGURE=YES
	fi
fi

echo "Fixing up Makefile."
(
	sed '/^.include/d' <Makefile

	if [ "${WRKSRC}" != "" ]; then
		echo "WRKSRC=		$WRKSRC"
	fi

	if [ "${HAS_CONFIGURE}" != "" ]; then
		echo "HAS_CONFIGURE=	$HAS_CONFIGURE"
	fi
	if [ "${GNU_CONFIGURE}" != "" ]; then
		echo "GNU_CONFIGURE=	$GNU_CONFIGURE"
	fi

	echo ""
	echo '.include "../../mk/bsd.pkg.mk"'
) >Makefile.$$
mv Makefile.$$ Makefile

echo ""
echo "Contents of "`echo w*`"/${wrksrc}:"
ls -la w*/$wrksrc

if [ ! -f pkg/COMMENT ]; then
	touch pkg/COMMENT
fi
if [ ! -f pkg/DESCR ]; then
	touch pkg/DESCR
fi
echo ""
echo "Don't forget to fill in pkg/COMMENT and pkg/DESCR when you're done."
echo ""
echo "Good luck! (See pkgsrc/Packages.txt for some more help :-)"
