Added three new helpers to be used by packages requiring GTK+ and
by pango itself. To be able to run those helpers once the package has been stowned properly, another variable available for templates has been added: "postinstall_helpers". This accepts a list of template helper names, e.g: postinstall_helpers="gtk-update-gdkpixbufloaders.sh gtk-update-immodules.sh". Also rather than setting extract_cmd itself in pkgfs.sh when extract_sufx=".zip", set it in the helper itself. --HG-- extra : convert_revision : 0f55c35f201daf6ff2e6d18cc808d0a34d8f4ddf
This commit is contained in:
parent
ce2680b740
commit
9078783ed1
8 changed files with 85 additions and 6 deletions
17
helper-templates/gtk-update-gdkpixbufloaders.sh
Executable file
17
helper-templates/gtk-update-gdkpixbufloaders.sh
Executable file
|
@ -0,0 +1,17 @@
|
||||||
|
#
|
||||||
|
# This helper updates GTK's gdk-pixbug.loaders modules file every time
|
||||||
|
# a template requests this process.
|
||||||
|
#
|
||||||
|
gtk_version="2.0"
|
||||||
|
gdk_pixbuf_query_cmd=$PKGFS_MASTERDIR/bin/gdk-pixbuf-query-loaders
|
||||||
|
gdk_pixbuf_db=$PKGFS_SYSCONFDIR/gtk-$gtk_version/gdk-pixbuf.loaders
|
||||||
|
|
||||||
|
if [ -x $gdk_pixbuf_query_cmd -a -w $gdk_pixbuf_db ]; then
|
||||||
|
$gdk_pixbuf_query_cmd > $gdk_pixbuf_db
|
||||||
|
[ "$?" -eq 0 ] && \
|
||||||
|
echo "=> Updated GTK+ $(basename $gdk_pixbuf_db) modules file."
|
||||||
|
fi
|
||||||
|
|
||||||
|
unset gtk_version
|
||||||
|
unset gdk_pixbuf_query_cmd
|
||||||
|
unset gdk_pixbuf_dbfile
|
17
helper-templates/gtk-update-immodules.sh
Executable file
17
helper-templates/gtk-update-immodules.sh
Executable file
|
@ -0,0 +1,17 @@
|
||||||
|
#
|
||||||
|
# This helper updates GTK's gtk.immodules modules file every time
|
||||||
|
# a template requests this process.
|
||||||
|
#
|
||||||
|
gtk_version="2.0"
|
||||||
|
gtk_query_immodules_cmd=$PKGFS_MASTERDIR/bin/gtk-query-immodules-$gtk_version
|
||||||
|
gtk_immodules_db=$PKGFS_SYSCONFDIR/gtk-$gtk_version/gtk.immodules
|
||||||
|
|
||||||
|
if [ -x $gtk_query_immodules_cmd -a -w $gtk_immodules_db ]; then
|
||||||
|
$gtk_query_immodules_cmd > $gtk_immodules_db
|
||||||
|
[ "$?" -eq 0 ] && \
|
||||||
|
echo "=> Updated GTK+ $(basename $gtk_immodules_db) modules file."
|
||||||
|
fi
|
||||||
|
|
||||||
|
unset gtk_version
|
||||||
|
unset gtk_query_immodules_cmd
|
||||||
|
unset gtk_immodules_db
|
16
helper-templates/pango-update-modules.sh
Executable file
16
helper-templates/pango-update-modules.sh
Executable file
|
@ -0,0 +1,16 @@
|
||||||
|
#
|
||||||
|
# This helper updates the pango modules file when the pango package
|
||||||
|
# has been properly installed and stowned.
|
||||||
|
#
|
||||||
|
|
||||||
|
pango_query_modules_cmd=$PKGFS_MASTERDIR/bin/pango-querymodules
|
||||||
|
pango_query_modules_db=$PKGFS_SYSCONFDIR/pango/pango.modules
|
||||||
|
|
||||||
|
if [ -x $pango_query_modules_cmd -a -w $pango_query_modules_db ]; then
|
||||||
|
$pango_query_modules_cmd > $pango_query_modules_db
|
||||||
|
[ "$?" -eq 0 ] && \
|
||||||
|
echo "=> Updated Pango's $pango_query_modules_db modules file."
|
||||||
|
fi
|
||||||
|
|
||||||
|
unset pango_query_modules_cmd
|
||||||
|
unset pango_query_modules_db
|
4
helper-templates/unzip-extraction.sh
Normal file → Executable file
4
helper-templates/unzip-extraction.sh
Normal file → Executable file
|
@ -1,7 +1,7 @@
|
||||||
#
|
#
|
||||||
# This helper is used in templates using extract_sufx=".zip".
|
# This helper is used in templates using extract_sufx=".zip".
|
||||||
# This checks if unzip is installed and installs it if it's not
|
# This checks if unzip is installed and installs it if it's not
|
||||||
# and sets the unzip_cmd variable appropiately.
|
# and sets the unzip_cmd/extract_cmd variables appropiately.
|
||||||
#
|
#
|
||||||
unzip_version="5.52"
|
unzip_version="5.52"
|
||||||
|
|
||||||
|
@ -23,4 +23,6 @@ fi
|
||||||
|
|
||||||
unset save_pkgname
|
unset save_pkgname
|
||||||
unset unzip_version
|
unset unzip_version
|
||||||
|
|
||||||
unzip_cmd=$PKGFS_MASTERDIR/bin/unzip
|
unzip_cmd=$PKGFS_MASTERDIR/bin/unzip
|
||||||
|
extract_cmd="$unzip_cmd -x $dfile -d $PKGFS_BUILDDIR"
|
||||||
|
|
26
pkgfs.sh
26
pkgfs.sh
|
@ -283,7 +283,8 @@ reset_tmpl_vars()
|
||||||
run_stuff_before run_stuff_after \
|
run_stuff_before run_stuff_after \
|
||||||
run_stuff_before_configure_file run_stuff_before_build_file \
|
run_stuff_before_configure_file run_stuff_before_build_file \
|
||||||
run_stuff_before_install_file run_stuff_after_install \
|
run_stuff_before_install_file run_stuff_after_install \
|
||||||
make_build_target make_install_target"
|
make_build_target make_install_target \
|
||||||
|
postinstall_helpers"
|
||||||
|
|
||||||
for i in ${TMPL_VARS}; do
|
for i in ${TMPL_VARS}; do
|
||||||
eval unset "$i"
|
eval unset "$i"
|
||||||
|
@ -331,8 +332,7 @@ check_tmpl_vars()
|
||||||
if [ -f "$PKGFS_TMPLHELPDIR/unzip-extraction.sh" ]; then
|
if [ -f "$PKGFS_TMPLHELPDIR/unzip-extraction.sh" ]; then
|
||||||
. $PKGFS_TMPLHELPDIR/unzip-extraction.sh
|
. $PKGFS_TMPLHELPDIR/unzip-extraction.sh
|
||||||
fi
|
fi
|
||||||
# $unzip_cmd set by the helper.
|
# $extract_cmd set by the helper
|
||||||
extract_cmd="$unzip_cmd -x $dfile -d $PKGFS_BUILDDIR"
|
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo -n "*** ERROR: unknown 'extract_sufx' argument in build "
|
echo -n "*** ERROR: unknown 'extract_sufx' argument in build "
|
||||||
|
@ -627,10 +627,14 @@ build_tmpl_sources()
|
||||||
pkgconfig_transform_file $tmpf
|
pkgconfig_transform_file $tmpf
|
||||||
done
|
done
|
||||||
|
|
||||||
unset LDFLAGS CFLAGS CXXFLAGS CPPFLAGS PKG_CONFIG
|
|
||||||
|
|
||||||
echo "==> Installed \`$pkgname' into $PKGFS_DESTDIR/$pkgname."
|
echo "==> Installed \`$pkgname' into $PKGFS_DESTDIR/$pkgname."
|
||||||
|
|
||||||
|
#
|
||||||
|
# Once all work has been done, unset compilation vars.
|
||||||
|
#
|
||||||
|
unset LDFLAGS CFLAGS CXXFLAGS CPPFLAGS PKG_CONFIG
|
||||||
|
|
||||||
#
|
#
|
||||||
# Remove $wrksrc if -C not specified.
|
# Remove $wrksrc if -C not specified.
|
||||||
#
|
#
|
||||||
|
@ -648,7 +652,6 @@ stow_tmpl()
|
||||||
local pkg="$1"
|
local pkg="$1"
|
||||||
local infodir_pkg="share/info/dir"
|
local infodir_pkg="share/info/dir"
|
||||||
local infodir_master="$PKGFS_MASTERDIR/share/info/dir"
|
local infodir_master="$PKGFS_MASTERDIR/share/info/dir"
|
||||||
local my_xstowargs=
|
|
||||||
local real_xstowargs="$xstow_args"
|
local real_xstowargs="$xstow_args"
|
||||||
|
|
||||||
[ -z "$pkg" ] && return 2
|
[ -z "$pkg" ] && return 2
|
||||||
|
@ -675,6 +678,18 @@ stow_tmpl()
|
||||||
xstow_args="$real_xstowargs"
|
xstow_args="$real_xstowargs"
|
||||||
|
|
||||||
installed_tmpl_handler register $pkg
|
installed_tmpl_handler register $pkg
|
||||||
|
|
||||||
|
#
|
||||||
|
# Run template postinstall helpers if requested.
|
||||||
|
#
|
||||||
|
if [ "$pkgname" != "$pkg" ]; then
|
||||||
|
run_file $PKGFS_TEMPLATESDIR/$pkg.tmpl
|
||||||
|
fi
|
||||||
|
|
||||||
|
for i in ${postinstall_helpers}; do
|
||||||
|
local pihf="$PKGFS_TMPLHELPDIR/$i"
|
||||||
|
[ -f "$pihf" ] && . $pihf
|
||||||
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
unstow_tmpl()
|
unstow_tmpl()
|
||||||
|
@ -911,6 +926,7 @@ install_tmpl()
|
||||||
# Do not stow the pkg if requested.
|
# Do not stow the pkg if requested.
|
||||||
#
|
#
|
||||||
[ -z "$only_install" ] && stow_tmpl ${pkgname}
|
[ -z "$only_install" ] && stow_tmpl ${pkgname}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
list_tmpls()
|
list_tmpls()
|
||||||
|
|
|
@ -90,3 +90,8 @@
|
||||||
#run_stuff_before_install_file="example-before-install.sh"
|
#run_stuff_before_install_file="example-before-install.sh"
|
||||||
#run_stuff_after="install"
|
#run_stuff_after="install"
|
||||||
#run_stuff_after_install_file="example-after-install.sh"
|
#run_stuff_after_install_file="example-after-install.sh"
|
||||||
|
|
||||||
|
# Run helpers after the package has been installed and stowned.
|
||||||
|
# Helpers are located at PKGFS_DISTRIBUTIONDIR/helper-templates.
|
||||||
|
#
|
||||||
|
#postinstall_helpers="blah.sh"
|
||||||
|
|
|
@ -21,3 +21,6 @@ long_desc="
|
||||||
languages, not only C/C++. Using GTK+ from languages such as Perl and
|
languages, not only C/C++. Using GTK+ from languages such as Perl and
|
||||||
Python (especially in combination with the Glade GUI builder) provides
|
Python (especially in combination with the Glade GUI builder) provides
|
||||||
an effective method of rapid application development."
|
an effective method of rapid application development."
|
||||||
|
|
||||||
|
# Update db modules files once installed.
|
||||||
|
postinstall_helpers="gtk-update-immodules.sh gtk-update-gdkpixbufloaders.sh"
|
||||||
|
|
|
@ -30,3 +30,6 @@ long_desc="
|
||||||
As well as the low level layout rendering routines, Pango includes
|
As well as the low level layout rendering routines, Pango includes
|
||||||
PangoLayout, a high level driver for laying out entire blocks of text,
|
PangoLayout, a high level driver for laying out entire blocks of text,
|
||||||
and routines to assist in editing internationalized text."
|
and routines to assist in editing internationalized text."
|
||||||
|
|
||||||
|
# The pango.modules file needs to be updated once installed.
|
||||||
|
postinstall_helpers="pango-update-modules.sh"
|
||||||
|
|
Loading…
Reference in a new issue