Pass consistent arguments to configure script if build_style=gnu_configure,
so that we can install the info files into the same directory, as well as not requiring passing stuff from random templates. While here use merge-info from Xstow to merge two info dir files. As bonus I added git-1.6.0.2 and its dependencies, based on work done by morr@. Thank you! A git package built with pkgfs is fully functional now, enjoy! --HG-- extra : convert_revision : 97c0b5c4b24cc6d63594f0f467349b13ea553980
This commit is contained in:
parent
5aa453e8f8
commit
ec04f32481
Binary file not shown.
Binary file not shown.
Binary file not shown.
57
pkgfs.sh
57
pkgfs.sh
|
@ -121,6 +121,32 @@ run_file()
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# This function merges two GNU info dirs into one and puts the result
|
||||||
|
# into PKGFS_MASTERDIR/share/info/dir.
|
||||||
|
#
|
||||||
|
merge_infodir_tmpl()
|
||||||
|
{
|
||||||
|
local pkgname="$1"
|
||||||
|
local merge_info_cmd="$PKGFS_MASTERDIR/bin/merge-info"
|
||||||
|
|
||||||
|
[ -z "$pkgname" ] && return 1
|
||||||
|
[ ! -r "$PKGFS_MASTERDIR/share/info/dir" ] && return 1
|
||||||
|
[ ! -r "$PKGFS_DESTDIR/$pkgname/share/info/dir" ] && return 1
|
||||||
|
|
||||||
|
$merge_info_cmd -d $PKGFS_MASTERDIR/share/info/dir \
|
||||||
|
$PKGFS_DESTDIR/$pkgname/share/info/dir -o \
|
||||||
|
$PKGFS_MASTERDIR/share/info/dir.new
|
||||||
|
if [ "$?" -ne 0 ]; then
|
||||||
|
echo -n "*** WARNING: there was an error merging info dir from"
|
||||||
|
echo " $pkgname, aborting ***"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
$mv_cmd -f $PKGFS_MASTERDIR/share/info/dir.new \
|
||||||
|
$PKGFS_MASTERDIR/share/info/dir
|
||||||
|
}
|
||||||
|
|
||||||
info_tmpl()
|
info_tmpl()
|
||||||
{
|
{
|
||||||
local tmpl="$1"
|
local tmpl="$1"
|
||||||
|
@ -448,7 +474,8 @@ build_tmpl_sources()
|
||||||
# For now, just set LDFLAGS.
|
# For now, just set LDFLAGS.
|
||||||
#
|
#
|
||||||
LDFLAGS="$LDFLAGS -L$PKGFS_MASTERDIR/lib -Wl,-R$PKGFS_MASTERDIR/lib"
|
LDFLAGS="$LDFLAGS -L$PKGFS_MASTERDIR/lib -Wl,-R$PKGFS_MASTERDIR/lib"
|
||||||
export LDFLAGS
|
PKG_CONFIG="$PKGFS_MASTERDIR/bin/pkg-config"
|
||||||
|
export LDFLAGS PKG_CONFIG PKG_CONFIG_LIBDIR
|
||||||
|
|
||||||
#
|
#
|
||||||
# Packages using GNU autoconf
|
# Packages using GNU autoconf
|
||||||
|
@ -459,8 +486,15 @@ build_tmpl_sources()
|
||||||
done
|
done
|
||||||
|
|
||||||
cd $pkg_builddir
|
cd $pkg_builddir
|
||||||
./configure --prefix="$PKGFS_MASTERDIR" ${configure_args} \
|
#
|
||||||
--mandir="$PKGFS_DESTDIR/$pkgname/man"
|
# Pass consistent arguments to not have unexpected
|
||||||
|
# surprises later.
|
||||||
|
#
|
||||||
|
./configure --prefix="$PKGFS_MASTERDIR" \
|
||||||
|
--exec-prefix="$PKGFS_DESTDIR/$pkgname" \
|
||||||
|
--mandir="$PKGFS_DESTDIR/$pkgname/man" \
|
||||||
|
--infodir="$PKGFS_DESTDIR/$pkgname/share/info" \
|
||||||
|
${configure_args}
|
||||||
|
|
||||||
#
|
#
|
||||||
# Packages using propietary configure scripts.
|
# Packages using propietary configure scripts.
|
||||||
|
@ -503,7 +537,7 @@ build_tmpl_sources()
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
unset LDFLAGS
|
unset LDFLAGS PKG_CONFIG
|
||||||
|
|
||||||
echo ">>> Installed \`$pkgname' into $PKGFS_DESTDIR/$pkgname."
|
echo ">>> Installed \`$pkgname' into $PKGFS_DESTDIR/$pkgname."
|
||||||
|
|
||||||
|
@ -519,11 +553,22 @@ build_tmpl_sources()
|
||||||
stow_tmpl()
|
stow_tmpl()
|
||||||
{
|
{
|
||||||
local pkg="$1"
|
local pkg="$1"
|
||||||
|
local infodir_pkg="share/info/dir"
|
||||||
|
local infodir_master="$PKGFS_MASTERDIR/share/info/dir"
|
||||||
|
|
||||||
[ -z "$pkg" ] && return 2
|
[ -z "$pkg" ] && return 2
|
||||||
|
|
||||||
|
if [ -r "$PKGFS_DESTDIR/$pkg/$infodir_pkg" ]; then
|
||||||
|
merge_infodir_tmpl ${pkg}
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -r "$PKGFS_DESTDIR/$pkg/$infodir_pkg" -a -r "$infodir_master" ]; then
|
||||||
|
xstow_args="$xstow_args -i-file-in-dir $infodir_pkg"
|
||||||
|
fi
|
||||||
|
|
||||||
$PKGFS_XSTOW_CMD -dir $PKGFS_DESTDIR -target $PKGFS_MASTERDIR \
|
$PKGFS_XSTOW_CMD -dir $PKGFS_DESTDIR -target $PKGFS_MASTERDIR \
|
||||||
${xstow_args} $PKGFS_DESTDIR/$pkg
|
${xstow_args} -pd-targets $PKGFS_MASTERDIR \
|
||||||
|
$PKGFS_DESTDIR/$pkg
|
||||||
if [ "$?" -ne 0 ]; then
|
if [ "$?" -ne 0 ]; then
|
||||||
echo "*** ERROR: couldn't create symlinks for \`$pkg' ***"
|
echo "*** ERROR: couldn't create symlinks for \`$pkg' ***"
|
||||||
exit 1
|
exit 1
|
||||||
|
@ -550,7 +595,7 @@ unstow_tmpl()
|
||||||
fi
|
fi
|
||||||
|
|
||||||
$PKGFS_XSTOW_CMD -dir $PKGFS_DESTDIR -target $PKGFS_MASTERDIR \
|
$PKGFS_XSTOW_CMD -dir $PKGFS_DESTDIR -target $PKGFS_MASTERDIR \
|
||||||
-D $PKGFS_DESTDIR/$pkg
|
-D -ignore $PKGFS_DESTDIR/$pkg/share/info/dir $PKGFS_DESTDIR/$pkg
|
||||||
if [ "$?" -ne 0 ]; then
|
if [ "$?" -ne 0 ]; then
|
||||||
exit 1
|
exit 1
|
||||||
else
|
else
|
||||||
|
|
|
@ -0,0 +1,15 @@
|
||||||
|
# Template file for 'curl-7.18.0'
|
||||||
|
pkgname=curl-7.18.0
|
||||||
|
extract_sufx=".tar.bz2"
|
||||||
|
url=http://curl.haxx.se/download/
|
||||||
|
build_style=gnu_configure
|
||||||
|
short_desc="Client that groks URLs"
|
||||||
|
maintainer="Juan RP <xtraeme@gmail.com>"
|
||||||
|
checksum=f25ec844e7ef6221719439b3214fd3c3a42f5604
|
||||||
|
long_desc="
|
||||||
|
Curl is a command line tool for transferring files with URL syntax, supporting
|
||||||
|
FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE and LDAP. Curl supports
|
||||||
|
HTTPS certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP form based upload,
|
||||||
|
proxies, cookies, user+password authentication (Basic, Digest, NTLM, Negotiate,
|
||||||
|
kerberos...), file transfer resume, proxy tunneling and a busload of other
|
||||||
|
useful tricks."
|
|
@ -0,0 +1,25 @@
|
||||||
|
# Template build file for 'git-1.6.0.2".
|
||||||
|
pkgname=git-1.6.0.2
|
||||||
|
extract_sufx=".tar.bz2"
|
||||||
|
url=http://www.kernel.org/pub/software/scm/git
|
||||||
|
build_style=gnu_configure
|
||||||
|
configure_args="--with-shell=/bin/sh --with-perl=$PKGFS_MASTERDIR/bin/perl
|
||||||
|
--with-curl --without-tcltk --with-expat"
|
||||||
|
# Looks like git is ignoring some stuff from autoconf, so pass our stuff
|
||||||
|
# directly to it through the environment.
|
||||||
|
export CPPFLAGS="-I$PKGFS_MASTERDIR/include"
|
||||||
|
export CURLDIR="$PKGFS_MASTERDIR"
|
||||||
|
make_cmd="$PKGFS_MASTERDIR/bin/gmake"
|
||||||
|
short_desc="GIT Tree History Storage Tool"
|
||||||
|
maintainer="Daniel Horecki <morr@morr.pl>"
|
||||||
|
checksum=eb91ca256d0fbcc956f91ad02da659d9b322261d
|
||||||
|
long_desc="
|
||||||
|
GIT is a \"directory content manager\" designed to handle absolutely massive
|
||||||
|
projects with speed and efficiency, and the release of the 2.6.12 (and later)
|
||||||
|
versions of the Linux kernel as well as more and more other projects switching
|
||||||
|
to it would indicate that it does this task well.
|
||||||
|
|
||||||
|
GIT falls in the category of distributed version control software, similar
|
||||||
|
to e.g. GNU Arch or Monotone (or, in the commercial world, BitKeeper). Every
|
||||||
|
GIT working directory is a full-fledged repository with full revision tracking
|
||||||
|
capabilities, not dependent on network access to a central server."
|
|
@ -0,0 +1,23 @@
|
||||||
|
# Template file for 'libidn-1.9'
|
||||||
|
pkgname=libidn-1.9
|
||||||
|
extract_sufx=".tar.gz"
|
||||||
|
url=http://ftp.gnu.org/gnu/libidn
|
||||||
|
build_style=gnu_configure
|
||||||
|
configure_env="EMACS=/bin/false"
|
||||||
|
configure_args="--disable-csharp --disable-java"
|
||||||
|
short_desc="Internationalized Domain Names command line tool"
|
||||||
|
maintainer="Juan RP <xtraeme@gmail.com>"
|
||||||
|
checksum=3b2217f015965600b69983cf831746a591f0680e
|
||||||
|
long_desc="
|
||||||
|
GNU Libidn is an implementation of the Stringprep, Punycode, and IDNA
|
||||||
|
specifications defined by the IETF Internationalized Domain Names (IDN)
|
||||||
|
working group. It is used to prepare internationalized strings (such as
|
||||||
|
domain name labels, usernames, and passwords) in order to increase the
|
||||||
|
likelihood that string input and string comparison work in ways that make
|
||||||
|
sense for typical users throughout the world.
|
||||||
|
|
||||||
|
The library contains a generic Stringprep implementation that does Unicode
|
||||||
|
3.2 NFKC normalization, mapping and prohibition of characters, and
|
||||||
|
bidirectional character handling. Profiles for iSCSI, Kerberos 5, Nameprep,
|
||||||
|
SASL, and XMPP are included. Punycode and ASCII Compatible Encoding (ACE) via
|
||||||
|
IDNA are supported."
|
|
@ -3,8 +3,7 @@ pkgname=ruby-1.8.7-p72
|
||||||
extract_sufx=".tar.bz2"
|
extract_sufx=".tar.bz2"
|
||||||
url=ftp://ftp.ruby-lang.org/pub/ruby/1.8
|
url=ftp://ftp.ruby-lang.org/pub/ruby/1.8
|
||||||
build_style=gnu_configure
|
build_style=gnu_configure
|
||||||
configure_args="--enable-pthread --enable-shared
|
configure_args="--enable-pthread --enable-shared"
|
||||||
--exec-prefix=$PKGFS_DESTDIR/$pkgname"
|
|
||||||
short_desc="Ruby programming language"
|
short_desc="Ruby programming language"
|
||||||
maintainer="Daniel Horecki <morr@morr.pl>"
|
maintainer="Daniel Horecki <morr@morr.pl>"
|
||||||
checksum=07bf0d6987ba111aed988093c569fb66ba54891b
|
checksum=07bf0d6987ba111aed988093c569fb66ba54891b
|
||||||
|
|
Loading…
Reference in New Issue