Merge branch 'master' of git://github.com/voidlinux/xbps-packages

This commit is contained in:
Gottox 2014-01-28 14:32:15 +01:00
commit 18e0f114cc
23 changed files with 281 additions and 61 deletions

12
common/build_style/README Normal file
View file

@ -0,0 +1,12 @@
BUILD STYLES
============
These shell snippets provide support for multiple build systems, i.e GNU configure,
CMake, etc. A build style file must provide at least the following functions:
- do_configure
- do_build
- do_install
If a source package defines its own do_xxx() function, the function defined in
the build style file is simply ignored.

View file

@ -21,7 +21,11 @@ do_configure() {
fi
cd $wrksrc
PERL_MM_USE_DEFAULT=1 LD="$CC" CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" \
PERL_MM_USE_DEFAULT=1 GCC="$CC" CC="$CC" LD="$CC" \
OPTIMIZE="$CFLAGS" \
CFLAGS="$CFLAGS -I${XBPS_CROSS_BASE}/usr/include" \
LDFLAGS="$LDFLAGS -L${XBPS_CROSS_BASE}/usr/lib" \
LDDLFLAGS="-shared $CFLAGS -L${XBPS_CROSS_BASE}/usr/lib" \
perl Makefile.PL ${configure_args} INSTALLDIRS=vendor
fi
@ -29,7 +33,11 @@ do_configure() {
perlmkf="$wrksrc/$i/Makefile.PL"
if [ -f $perlmkf ]; then
cd $wrksrc/$i
PERL_MM_USE_DEFAULT=1 LD="$CC" CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" \
PERL_MM_USE_DEFAULT=1 GCC="$CC" CC="$CC" LD="$CC" \
OPTIMIZE="$CFLAGS" \
CFLAGS="$CFLAGS -I${XBPS_CROSS_BASE}/usr/include" \
LDFLAGS="$LDFLAGS -L${XBPS_CROSS_BASE}/usr/lib" \
LDDLFLAGS="-shared $CFLAGS -L${XBPS_CROSS_BASE}/usr/lib" \
perl Makefile.PL ${make_build_args} INSTALLDIRS=vendor
else
msg_error "*** ERROR: couldn't find $perlmkf, aborting **\n"
@ -40,7 +48,10 @@ do_configure() {
do_build() {
: ${make_cmd:=make}
${make_cmd} ${makejobs} ${make_build_args} ${make_build_target}
${make_cmd} CC="$CC" LD="$CC" CFLAGS="$CFLAGS" OPTIMIZE="$CFLAGS" \
LDFLAGS="$LDFLAGS -L${XBPS_CROSS_BASE}/usr/lib" \
LDDLFLAGS="-shared $CFLAGS -L${XBPS_CROSS_BASE}/usr/lib" \
${makejobs} ${make_build_args} ${make_build_target}
}
do_install() {

View file

@ -0,0 +1,14 @@
CROSS PROFILES
==============
This directory contains cross profiles to allow cross compilation for the specified target.
A cross profile file must provide the following variables:
- XBPS_TARGET_ARCH (as returned by uname -m)
- XBPS_CROSS_TRIPLET (the cross compiler triplet)
- XBPS_CFLAGS (C compiler flags for host compiler)
- XBPS_CXXFLAGS (C++ compiler flags for the host compiler)
- XBPS_CROSS_CFLAGS (C compiler flags for the cross compiler)
- XBPS_CROSS_CXXFLAGS (C++ compiler flags for the cross compiler)
A source package matching `cross-${XBPS_CROSS_TRIPLET}' must also exist.

View file

@ -7,13 +7,10 @@
# =========================================================
#
# xbps-src version.
XBPS_SRC_REQ=98
export XBPS_SRC_REQ=100
# XBPS utils version.
XBPS_UTILS_REQ=0.29
export XBPS_UTILS_REQ=0.29
# XBPS utils API version.
XBPS_UTILS_API_REQ=20131224
# Obsolete since xbps-src>=96 (base-chroot version).
BASE_CHROOT_REQ=0.40_1
export XBPS_UTILS_API_REQ=20131224

View file

@ -0,0 +1,6 @@
# This file sets some envvars to allow building bootstrap packages
# when the chroot is not yet ready.
[ -z "$CHROOT_READY" ] && return 0
export PKG_CONFIG_PATH="${XBPS_MASTERDIR}/usr/lib/pkgconfig:${XBPS_MASTERDIR}/usr/share/pkgconfig"

View file

@ -0,0 +1,6 @@
# This file sets up configure_args with commong settings for packages
# that don't set $build_style or set it to gnu-configure.
if [ "$build_style" = "gnu-configure" -o -z "$build_style" ]; then
export configure_args="--prefix=/usr --sysconfdir=/etc --infodir=/usr/share/info --mandir=/usr/share/man --localstatedir=/var ${configure_args}"
fi

View file

@ -0,0 +1,8 @@
# This file sets some envvars to allow cross compiling packages.
[ -z "$CROSS_BUILD" ] && return 0
export PKG_CONFIG_SYSROOT_DIR="$XBPS_CROSS_BASE"
export PKG_CONFIG_PATH="$XBPS_CROSS_BASE/lib/pkgconfig:$XBPS_CROSS_BASE/usr/share/pkgconfig"
export PKG_CONFIG_LIBDIR="$XBPS_CROSS_BASE/lib/pkgconfig"
export configure_args+=" --host=$XBPS_CROSS_TRIPLET --with-sysroot=$XBPS_CROSS_BASE --with-libtool-sysroot=$XBPS_CROSS_BASE "

11
common/environment/README Normal file
View file

@ -0,0 +1,11 @@
ENVIRONMENT SHELL SNIPPETS
==========================
This directory contains shell files (must not be executable nor contain a shebang)
that are read by xbps-src when building source packages. The shell files
are read in lexical order (as ordered by shell rules).
These files shall set environment variables for use in the xbps-src helpers
(libexec/xbps-src-*). Only files with the `.sh' extension are read, so this file
will be simply ignored.

25
common/helpers/README Normal file
View file

@ -0,0 +1,25 @@
SHELL HELPERS
=============
This directory contains shell files that are read by xbps-src and can be used at any
phase when building source packages. Only files with the `.sh' extension will be read.
A shell helper must provide its own function for use in the source packages.
The following examples illustrates a fake helper named `myhelper.sh' that provides
the `myhelper_func' function:
myhelper.sh:
...
myhelper_func() {
...
}
...
You can then use this helper in a source package like this:
srcpkgs/foo/template:
...
do_install() {
myhelper_func ...
}
...

View file

@ -0,0 +1,41 @@
# This helper replaces shebang paths pointing to the correct ones
# as used by xbps. Multiple languages are supported:
#
# - GNU Bash
# - Perl
# - Python
#
bash_regexp=".*sh"
perl_regexp=".*perl[^[:space:]]*"
python_regexp=".*python[^[:space:]]*"
replace_interpreter() {
local lang="$1" file="$2" trsb orsb
[ -z $lang -o -z $file ] && return 1
case $lang in
bash)
orsb=$bash_regexp
trpath="/bin/bash"
;;
perl)
orsb=$perl_regexp
trpath="/usr/bin/perl"
;;
python)
orsb=$python_regexp
trpath="/usr/bin/python"
;;
*)
;;
esac
if [ -f $file ]; then
sed -i -e "1s|^#![[:space:]]*${orsb}|#!${trpath}|" $file
msg_normal "Transformed $lang script: ${file##$wrksrc}.\n"
else
msg_warn "Ignoring unexistent $lang script: ${file##$wrksrc}.\n"
fi
}

View file

@ -1,13 +1,18 @@
# Template file for 'gpicview'
pkgname=gpicview
version=0.2.3
version=0.2.4
revision=1
build_style=gnu-configure
makedepends="pkg-config intltool libjpeg-turbo-devel gtk+-devel"
hostmakedepends="pkg-config intltool"
makedepends="libjpeg-turbo-devel gtk+-devel desktop-file-utils"
depends="desktop-file-utils"
short_desc="A Simple and Fast Image Viewer for X"
maintainer="Juan RP <xtraeme@gmail.com>"
homepage="http://lxde.org/"
license="GPL-2"
distfiles="${DEBIAN_SITE}/main/g/${pkgname}/${pkgname}_${version}.orig.tar.xz"
checksum=e1cd963e0954677efec3bc08f4318f1214d2b33c1498d402133a7ca35cec0bfd
distfiles="${SOURCEFORGE_SITE}/lxde/${pkgname}-${version}.tar.gz"
checksum=99beb7df6765b386cd3f65b3ff77e9a25027a009db432f02bd60be8558f06ceb
pre_configure() {
sed -i '/^Categories=/ s/Utility;//' gpicview.desktop.in
}

View file

@ -1,10 +1,10 @@
# Template build file for 'libwnck2'.
pkgname=libwnck2
version=2.30.7
revision=4
wrksrc=libwnck-${version}
revision=5
wrksrc="${pkgname/2/}-${version}"
build_style=gnu-configure
hostmakedepends="pkg-config intltool gobject-introspection"
hostmakedepends="pkg-config intltool gdk-pixbuf-devel"
makedepends="startup-notification-devel libXres-devel gtk+-devel"
short_desc="Library for layout and rendering of text (GTK+2)"
maintainer="Juan RP <xtraeme@gmail.com>"
@ -12,24 +12,38 @@ homepage="http://www.gnome.org/"
license="LGPL-2.1"
distfiles="${GNOME_SITE}/libwnck/2.30/libwnck-$version.tar.bz2"
checksum=8aabbe6c87b89b170dbd6e1577a89d248323da128fff0b3ab673010f0cd6156c
long_desc="
libwnck is Window Navigator Construction Kit, i.e. a library to use
for writing pagers and taskslists and stuff.
This package is based in the GTK+2 Toolkit."
# Package build options
build_options="gir"
desc_option_gir="Enable support for building gobject introspection data"
# Disable gir for cross builds.
if [ -z "$CROSS_BUILD" ]; then
build_options_default="gir"
fi
if [ "$build_option_gir" ]; then
configure_args+=" --enable-introspection"
hostmakedepends+=" gobject-introspection"
else
configure_args+=" --disable-introspection"
fi
post_install() {
rm -rf ${DESTDIR}/usr/bin
}
libwnck2-devel_package() {
depends="gtk+-devel startup-notification-devel libXres-devel libwnck2>=${version}"
depends="gtk+-devel startup-notification-devel libXres-devel ${sourcepkg}>=${version}_${revision}"
short_desc+=" -- development files"
pkg_install() {
vmove usr/include
vmove usr/lib/pkgconfig
vmove "usr/lib/*.a"
vmove usr/share/gir-1.0
vmove "usr/lib/*.so"
if [ "$build_option_gir" ]; then
vmove usr/share/gir-1.0
fi
vmove usr/share/gtk-doc
}
}

View file

@ -1,8 +1,7 @@
# Template file for 'lxde'
pkgname=lxde
version=0.5.0
revision=4
noarch="yes"
revision=5
build_style=meta
makedepends="
openbox
@ -21,9 +20,7 @@ makedepends="
xdg-utils
xdg-user-dirs"
depends="${makedepends}"
short_desc="LXDE meta-package"
short_desc="The LXDE meta-package"
homepage="http://lxde.org"
license="GPL-2"
maintainer="Juan RP <xtraeme@gmail.com>"
long_desc="
This package installs all required packages for the LXDE desktop system."

View file

@ -1,21 +1,38 @@
# Template file for 'mutt-kz'
pkgname=mutt-kz
version=20130402
version=20140128
revision=1
hostmakedepends="pkg-config automake"
makedepends="openssl-devel ncurses-devel libidn-devel"
build_style=gnu-configure
configure_args="--enable-notmuch --enable-pop --enable-imap --enable-smtp
--enable-gpgme --with-idn --with-ssl --with-gpgme-prefix=${XBPS_CROSS_BASE}/usr
--with-gdbm=${XBPS_CROSS_BASE}/usr mutt_cv_regex_broken=no"
hostmakedepends="perl pkg-config libidn-devel automake"
makedepends="ncurses-devel openssl-devel libidn-devel gpgme-devel mime-types libnotmuch-devel"
depends="notmuch mime-types"
conf_files="/etc/Muttrc"
conflicts="mutt>=0"
short_desc="mutt fork with notmuch support and another improvements"
maintainer="pancake <pancake@nopcode.org>"
license="GPL-3"
homepage="https://github.com/karelzak/mutt-kz/"
do_fetch() {
_githead=29d1357c66ef09642fd0fa8660b3f8173639d6c2
# latest commit as of ${version}
_githead=be196028c755d3ffff184e9781ac933fbacbd562
git clone git://github.com/karelzak/mutt-kz.git ${pkgname}-${version}
cd ${pkgname}-${version} ; git reset --hard ${_githead}
cd ${pkgname}-${version}
git reset --hard ${_githead}
}
pre_configure() {
autoreconf -fi
}
post_install() {
# provided by mime-types.
rm ${DESTDIR}/etc/mime.*
# move dist to examples dir.
vmkdir usr/share/examples/${pkgname}
mv ${DESTDIR}/etc/Muttrc.dist ${DESTDIR}/usr/share/examples/${pkgname}
}

View file

@ -1,19 +1,15 @@
# Template build file for 'perl-XML-Parser'.
pkgname=perl-XML-Parser
version=2.41
revision=2
wrksrc="XML-Parser-$version"
homepage="http://search.cpan.org/dist/XML-Parser/"
distfiles="${CPAN_SITE}/XML/XML-Parser-$version.tar.gz"
revision=3
wrksrc="${pkgname/perl-/}-${version}"
build_style=perl-module
hostmakedepends="perl>=5.18"
makedepends="${hostmakedepends} expat-devel"
depends="${hostmakedepends}"
hostmakedepends="perl>=5.18 expat-devel"
makedepends="${hostmakedepends}"
depends="perl>=5.18"
short_desc="Perl extension interface to James Clark's XML parser, expat"
maintainer="Juan RP <xtraeme@gmail.com>"
license="GPL-2"
homepage="http://search.cpan.org/dist/${pkgname/perl-/}/"
distfiles="${CPAN_SITE}/XML/${pkgname/perl-/}-${version}.tar.gz"
checksum=b48197cd2265a26c5f016489f11a7b450d8833cb8b3d6a46ee15975740894de9
long_desc="
This module provides ways to parse XML documents. It is built on top of
XML::Parser::Expat, which is a lower level interface to James Clark's
expat library."

View file

@ -0,0 +1,9 @@
#!/bin/sh
# python wrapper for cross compilation in xbps
# we simply fake the output of --includes with the cross prefix.
if [ "$1" = "--includes" ]; then
echo "-I${XBPS_CROSS_BASE}/usr/include/python2.7"
fi
return 0

View file

@ -2,8 +2,8 @@
pkgname=py2cairo
version=1.10.0
revision=2
build_style=waf
hostmakedepends="pkg-config which"
build_style=gnu-configure
hostmakedepends="automake libtool pkg-config which python-devel"
makedepends="cairo-devel python-devel"
depends="python"
replaces="pycairo<1.10"
@ -15,9 +15,23 @@ maintainer="Juan RP <xtraeme@gmail.com>"
distfiles="http://cairographics.org/releases/$pkgname-$version.tar.bz2"
checksum=d30439f06c2ec1a39e27464c6c828b6eface3b22ee17b2de05dc409e429a7431
pre_configure() {
touch ChangeLog
NOCONFIGURE=1 autoreconf -fi
}
do_configure() {
if [ "$CROSS_BUILD" ]; then
# create a python-config wrapper to fake --includes
install -m755 ${FILESDIR}/python-config ${wrksrc}
export PATH=${wrksrc}:$PATH
fi
env PYTHON=python ./configure ${configure_args}
}
py2cairo-devel_package() {
replaces="pycairo-devel<1.10"
depends="python-devel ${sourcepkg}>=${version}"
depends="python-devel ${sourcepkg}>=${version}_${revision}"
short_desc+=" - development files"
pkg_install() {
vmove usr/include

View file

@ -1,11 +1,11 @@
# Template file for 'pygobject2'
pkgname=pygobject2
version=2.28.6
revision=7
revision=8
wrksrc=${pkgname%2}-${version}
build_style=gnu-configure
configure_args="--disable-introspection"
hostmakedepends="pkg-config"
hostmakedepends="automake libtool pkg-config python-devel which glib-devel"
makedepends="libffi-devel libglib-devel cairo-devel python-devel py2cairo-devel"
depends="cairo python py2cairo"
pycompile_module="glib gobject gtk-2.0 pygtk"
@ -17,8 +17,22 @@ maintainer="Juan RP <xtraeme@gmail.com>"
distfiles="${GNOME_SITE}/${pkgname%2}/2.28/${pkgname%2}-$version.tar.xz"
checksum=fb8a1d4f665130a125011659bd347c7339c944232163dbb9a34fd0686577adb8
pre_configure() {
NOCONFIGURE=1 autoreconf -fi
}
do_configure() {
if [ "$CROSS_BUILD" ]; then
# XXX share python-config wrapper for all pkgs.
# create a python-config wrapper to fake --includes
install -m755 ${XBPS_SRCPKGDIR}/py2cairo/files/python-config ${wrksrc}
sed -e 's,^PYTHON_CONFIG=.*,PYTHON_CONFIG=./python-config,g' -i configure
fi
./configure ${configure_args}
}
pygobject2-devel_package() {
depends="libffi-devel libglib-devel py2cairo-devel pygobject2>=${version}"
depends="libffi-devel libglib-devel py2cairo-devel ${sourcepkg}>=${version}_${revision}"
short_desc+=" - development files"
pycompile_module="usr/share/pygobject/2.0/codegen"
replaces="pygobject-devel<3.0.0"

View file

@ -1,10 +1,10 @@
# Template file for 'pygtk'
pkgname=pygtk
version=2.24.0
revision=8
revision=9
build_style=gnu-configure
# XXX: missing python-numpy build dep
hostmakedepends="pkg-config"
hostmakedepends="pkg-config pygobject2-devel>=2.28.6_6"
makedepends="python-devel gtk+-devel libxml2-devel pygobject2-devel>=2.28.6_6"
depends="python pygobject2 py2cairo"
pycompile_module="gtk-2.0/gtk"
@ -15,6 +15,16 @@ maintainer="Juan RP <xtraeme@gmail.com>"
distfiles="${GNOME_SITE}/$pkgname/2.24/$pkgname-$version.tar.bz2"
checksum=cd1c1ea265bd63ff669e92a2d3c2a88eb26bcd9e5363e0f82c896e649f206912
do_configure() {
if [ "$CROSS_BUILD" ]; then
# XXX share python-config wrapper for all pkgs.
# create a python-config wrapper to fake --includes
install -m755 ${XBPS_SRCPKGDIR}/py2cairo/files/python-config ${wrksrc}
export PATH=${wrksrc}:$PATH
fi
env PYTHON=python ./configure ${configure_args}
}
post_install() {
vinstall gtk/gtk-extrafuncs.defs 644 usr/share/pygtk/2.0/defs
}

View file

@ -1,11 +1,11 @@
# Template file for 'slim'
pkgname=slim
version=1.3.6
revision=2
revision=3
build_style=cmake
configure_args="-DUSE_PAM=yes -DUSE_CONSOLEKIT=no"
configure_args="-DUSE_PAM=yes -DUSE_CONSOLEKIT=no -DFREETYPE_INCLUDE_DIR_freetype2=${XBPS_CROSS_BASE}/usr/include/freetype2"
hostmakedepends="cmake pkg-config"
makedepends="libpng-devel>=1.6 libjpeg-turbo-devel libXrandr-devel libXmu-devel libXft-devel pam-devel"
makedepends="libpng-devel>=1.6 freetype-devel libjpeg-turbo-devel libXrandr-devel libXmu-devel libXft-devel pam-devel"
conf_files="/etc/slim.conf /etc/pam.d/slim"
systemd_services="slim.service off"
short_desc="Desktop-independent graphical login manager for X11"

View file

@ -1,19 +1,31 @@
# Template build file for 'vte'.
pkgname=vte
version=0.28.2
revision=5
revision=6
build_style=gnu-configure
configure_args="--disable-static --with-gtk=2.0"
makedepends="pkg-config intltool gtk+-devel ncurses-devel pygtk-devel"
hostmakedepends="automake gettext-devel gtk-doc gobject-introspection libtool pkg-config intltool python-devel glib-devel pygtk-devel"
makedepends="gtk+-devel ncurses-devel pygtk-devel"
short_desc="Terminal widget with improved accessibility and I18N support"
maintainer="Juan RP <xtraeme@gmail.com>"
homepage="http://www.gnome.org"
license="LGPL-2.1"
distfiles="${GNOME_SITE}/vte/0.28/$pkgname-$version.tar.bz2"
checksum=8d04e202b617373dfb47689e5e628febe2c58840b34cccc4af4feb88c48df903
long_desc="
Terminal widget with improved font, internationalization and
accessibility support for the GNOME 2 desktop."
pre_configure() {
NOCONFIGURE=1 autoreconf -fi
}
do_configure() {
if [ "$CROSS_BUILD" ]; then
# XXX share python-config wrapper for all pkgs.
# create a python-config wrapper to fake --includes
install -m755 ${XBPS_SRCPKGDIR}/py2cairo/files/python-config ${wrksrc}
export PATH=${wrksrc}:$PATH
fi
env PYTHON=python ./configure ${configure_args}
}
vte-python_package() {
depends="pygtk"
@ -25,11 +37,12 @@ vte-python_package() {
}
vte-devel_package() {
depends="libglib-devel pango-devel cairo-devel gtk+-devel vte-${version}_${revision}"
depends="libglib-devel pango-devel cairo-devel gtk+-devel vte>=${version}_${revision}"
short_desc+=" -- development files"
pkg_install() {
vmove usr/include
vmove usr/lib/pkgconfig
vmove "usr/lib/*.so"
vmove usr/share/gtk-doc
}
}

View file

@ -1,6 +1,6 @@
# Template file for 'xbps-src'
pkgname=xbps-src
version=20140127
version=20140128
revision=1
bootstrap=yes
conf_files="/etc/xbps/xbps-src.conf"