summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-10-12 00:41:00 -0700
committerroot <root@rshg054.dnsready.net>2012-10-12 00:41:00 -0700
commitdfbf90f39b87d2f5ae24b41e47243ddf70d30d2b (patch)
tree9c78f70a856b78c26246cd13ccc23757e5655e79
parenta9727414be0e6e6c099610a2dbfa21fbe0c9ae83 (diff)
Fri Oct 12 00:40:57 PDT 2012
-rw-r--r--artistic/blender-spacenav-libre/PKGBUILD14
-rw-r--r--artistic/cinepaint-lts/LICENSE25
-rw-r--r--artistic/cinepaint-lts/PKGBUILD62
-rw-r--r--artistic/cinepaint-lts/cinepaint-libpng15.patch446
-rw-r--r--artistic/cinepaint-lts/cinepaint.install11
-rw-r--r--artistic/spnavcfg/PKGBUILD13
-rw-r--r--community-staging/onboard/PKGBUILD27
-rw-r--r--community-staging/onboard/onboard.install13
-rw-r--r--community-testing/gambas3/PKGBUILD8
-rw-r--r--community-testing/gigi/PKGBUILD22
-rw-r--r--community-testing/megaglest/PKGBUILD6
-rw-r--r--community-testing/openimageio/PKGBUILD6
-rw-r--r--community-testing/scorched3d/PKGBUILD62
-rw-r--r--community-testing/scorched3d/libpng14.patch38
-rw-r--r--community-testing/scorched3d/scorched3d-42.1-fixups.patch58
-rw-r--r--community-testing/scorched3d/scorched3d-42.1-gcc43.patch24
-rw-r--r--community-testing/scorched3d/scorched3d-libpng1.5.patch74
-rw-r--r--community-testing/scorched3d/scorched3d.install11
-rw-r--r--community-testing/xmoto/PKGBUILD48
-rw-r--r--community-testing/xmoto/system.cpp.patch10
-rw-r--r--community-testing/xmoto/xmoto-0.5.10-libpng15.patch10
-rw-r--r--community-testing/xmoto/xmoto.install11
-rw-r--r--community/bullet/PKGBUILD19
-rw-r--r--community/connman/PKGBUILD8
-rw-r--r--community/enet/PKGBUILD6
-rw-r--r--community/glabels/PKGBUILD17
-rw-r--r--community/hitori/PKGBUILD8
-rw-r--r--community/lazarus/PKGBUILD8
-rw-r--r--community/libcryptui/PKGBUILD6
-rw-r--r--community/lilypond/PKGBUILD6
-rw-r--r--community/oath-toolkit/PKGBUILD9
-rw-r--r--community/pam_mount/PKGBUILD15
-rw-r--r--community/pam_mount/pam_mount-git.patch1345
-rw-r--r--community/puzzles/PKGBUILD4
-rw-r--r--community/rsyslog/PKGBUILD6
-rw-r--r--community/rsyslog/rsyslog.conf.d2
-rw-r--r--community/scummvm/PKGBUILD28
-rw-r--r--community/warsow/PKGBUILD8
-rw-r--r--core/dnsutils/PKGBUILD8
-rw-r--r--core/dnsutils/remove-bind.patch2
-rw-r--r--extra/bluedevil/PKGBUILD9
-rw-r--r--extra/claws-mail/PKGBUILD6
-rw-r--r--extra/ecasound/PKGBUILD14
-rw-r--r--extra/gparted/PKGBUILD6
-rw-r--r--extra/kdebindings-python/PKGBUILD19
-rw-r--r--extra/kdebindings-python/pyqt495.patch95
-rw-r--r--extra/libetpan/PKGBUILD8
-rw-r--r--extra/mtdev/PKGBUILD11
-rw-r--r--extra/xterm/PKGBUILD6
-rw-r--r--gnome-unstable/pidgin/PKGBUILD100
-rw-r--r--gnome-unstable/pidgin/pidgin.install11
-rw-r--r--libre/blender-libre/PKGBUILD14
-rw-r--r--libre/iceweasel-libre/Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch20
-rw-r--r--libre/iceweasel-libre/PKGBUILD12
-rw-r--r--libre/iceweasel-libre/iceweasel-install-dir.patch48
-rw-r--r--libre/iceweasel-libre/libre.patch36
-rw-r--r--libre/parabola-keyring/PKGBUILD6
-rw-r--r--multilib/lib32-libtasn1/PKGBUILD6
-rw-r--r--testing/curl/PKGBUILD10
-rw-r--r--testing/openldap/PKGBUILD6
60 files changed, 2722 insertions, 225 deletions
diff --git a/artistic/blender-spacenav-libre/PKGBUILD b/artistic/blender-spacenav-libre/PKGBUILD
index 73968cd4b..bcd07aff4 100644
--- a/artistic/blender-spacenav-libre/PKGBUILD
+++ b/artistic/blender-spacenav-libre/PKGBUILD
@@ -3,8 +3,8 @@
_pkgname=blender
pkgname=blender-spacenav-libre
-pkgver=2.63a
-pkgrel=5
+pkgver=2.64
+pkgrel=1
pkgdesc="A fully integrated 3D graphics creation suite, compiled with spacenav (without nonfree cuda-toolkit support)"
arch=('i686' 'x86_64' 'mips64el')
license=('GPL')
@@ -21,17 +21,17 @@ install=${_pkgname}.install
source=(http://download.${_pkgname}.org/source/${_pkgname}-${pkgver}.tar.gz
ffmpeg-0.11.patch
boost-1.50.patch)
-md5sums=('31a60b3ce5466d965cb7e2648995e092'
+md5sums=('caec080d2a3dcd57fe1ca20c51c00e53'
'9e5649403e51654615d30b10bc460217'
'0bab80da07d980c47b8ce3cb998edaef')
build() {
cd "${srcdir}/${_pkgname}-${pkgver}"
- patch -Np1 < "${srcdir}"/ffmpeg-0.11.patch
- patch -Np1 < "${srcdir}"/boost-1.50.patch
- sed -i "/<libavcodec\/opt.h>/d" intern/ffmpeg/ffmpeg_compat.h
- sed -i "/<libavcodec\/opt.h>/d" source/blender/blenkernel/intern/writeffmpeg.c
+ #patch -Np1 < "${srcdir}"/ffmpeg-0.11.patch
+ #patch -Np1 < "${srcdir}"/boost-1.50.patch
+ #sed -i "/<libavcodec\/opt.h>/d" intern/ffmpeg/ffmpeg_compat.h
+ #sed -i "/<libavcodec\/opt.h>/d" source/blender/blenkernel/intern/writeffmpeg.c
mkdir build
cd build
diff --git a/artistic/cinepaint-lts/LICENSE b/artistic/cinepaint-lts/LICENSE
new file mode 100644
index 000000000..746207229
--- /dev/null
+++ b/artistic/cinepaint-lts/LICENSE
@@ -0,0 +1,25 @@
+Copyright (c) 2005, Kai-Uwe Behrmann
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * 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.ntributors may be used to endorse or promote
+ products derived from this software without specific prior written
+ permission.
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 COPYRIGHT
+OWNER 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.
diff --git a/artistic/cinepaint-lts/PKGBUILD b/artistic/cinepaint-lts/PKGBUILD
new file mode 100644
index 000000000..c680ac904
--- /dev/null
+++ b/artistic/cinepaint-lts/PKGBUILD
@@ -0,0 +1,62 @@
+# $Id$
+# Maintainer: tobias [tobias.archlinux.org]
+# Contributor: tobias [tobias.justdreams.de]
+# Maintainer (Parabola): Márcio Silva <coadde@adinet.com.uy>
+
+pkgname=cinepaint-lts
+pkgver=1.0
+pkgrel=1
+pkgdesc='Sophisticated graphics manipulation programm supporting > 8bit pictures'
+arch=(i686 x86_64 mips64el)
+license=(LGPL GPL MIT)
+url=http://www.${pkgname%-lts}.org
+depends=(gtk2 openexr lcms libxpm fltk ftgl libxxf86vm)
+makedepends=(python2 gutenprint)
+optdepends=(
+ 'python2: for python plug-ins'
+ 'gutenprint: for print plug-ins'
+ 'ghostscript: for pdf plug-ins'
+)
+conflicts=(${pkgname%-lts})
+provides=(${pkgname%-lts})
+options=(!libtool)
+install=${pkgname%-lts}.install
+source=(
+ http://sourceforge.net/projects/${pkgname%-lts}/files/CinePaint/${pkgname%-lts}-$pkgver.tgz
+ LICENSE
+ ${pkgname%-lts}-libpng15.patch
+)
+md5sums=(
+ 7dfdb005d246578392ac9bd500534804
+ 169085743f667c250ea2e4022efecf5f
+ 6d3f65b72e0f1569a9efe1bcab1b8124
+)
+
+build() {
+ cd $srcdir/${pkgname%-lts}
+
+ rm config.{sub,guess}
+ ln -s /usr/share/automake-1.12/config.sub config.sub
+ ln -s /usr/share/automake-1.12/config.guess config.guess
+
+ patch -p1 -i ../${pkgname%-lts}-libpng15.patch
+ find plug-ins/pygimp -type f -exec sed -i 's#env python#env python2#' {} +
+ sed -i 's|$(LDFLAGS) -o|$(LDFLAGS) $(GTK_LIBS) -o|' lib/Makefile.in
+ sed -i -e '1 s/^/#include <unistd.h>\n/' plug-ins/icc_examin/icc_examin/icc_modell_beobachter.cpp
+
+ sh autogen.sh
+ LIBS+="-lstdc++ -lm -lX11" ./configure --prefix=/usr --libdir=/usr/lib --mandir=/usr/share/man \
+ --enable-gtk2 --enable-pygimp --with-python=/usr/bin/python2
+ sed -i 's/-Wl,,/-Wl,/' lib/fl_i18n/Makefile plug-ins/bracketing_to_hdr/Makefile \
+ plug-ins/collect/Makefile plug-ins/icc_examin/icc_examin/Makefile plug-ins/pdf/Makefile
+ make
+}
+
+package() {
+ cd $srcdir/${pkgname%-lts}
+ make DESTDIR=$pkgdir install
+ sed -i -e "s|-I$srcdir/${pkgname%-lts}||" -e "s|-I$srcdir/${pkgname%-lts}/lib||" -e "/lib${pkgname%-lts}.la/d" \
+ -e "s|${srcdir}/${pkgname%-lts}/lib/.libs/\$dlname||" $pkgdir/usr/bin/${pkgname%-lts}tool
+ sed -i "s/${pkgname%-lts}.png/${pkgname%-lts}/" $pkgdir/usr/share/applications/${pkgname%-lts}.desktop
+ install -D -m644 $srcdir/LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE
+}
diff --git a/artistic/cinepaint-lts/cinepaint-libpng15.patch b/artistic/cinepaint-lts/cinepaint-libpng15.patch
new file mode 100644
index 000000000..619d9af42
--- /dev/null
+++ b/artistic/cinepaint-lts/cinepaint-libpng15.patch
@@ -0,0 +1,446 @@
+diff -Nur a/plug-ins/png/png.c b/plug-ins/png/png.c
+--- a/plug-ins/png/png.c 2006-11-24 18:52:55.000000000 -0200
++++ b/plug-ins/png/png.c 2012-10-12 01:07:56.452245955 -0200
+@@ -390,6 +390,16 @@
+ gchar *progress; /* Title for progress display... */
+ guchar alpha[256], /* Index -> Alpha */
+ *alpha_ptr; /* Temporary pointer */
++ png_byte color_type;
++ png_byte bit_depth;
++ png_colorp palette;
++ int num_palette;
++ png_charpp iccp_name;
++ int compression_type;
++ png_bytepp iccp_profile;
++ png_uint_32 iccp_proflen;
++ png_uint_32 width, height;
++ png_byte channels;
+
+ /*
+ * PNG 0.89 and newer have a sane, forwards compatible constructor.
+@@ -405,7 +415,7 @@
+ info = (png_infop)calloc(sizeof(png_info), 1);
+ #endif /* PNG_LIBPNG_VER > 88 */
+
+- if (setjmp (pp->jmpbuf))
++ if (setjmp (png_jmpbuf(pp)))
+ {
+ g_message ("%s\nPNG error. File corrupted?", filename);
+ return image;
+@@ -442,21 +452,26 @@
+ */
+
+ png_read_info(pp, info);
++ color_type = png_get_color_type(pp, info);
++ width=png_get_image_width(pp, info);
++ height=png_get_image_height(pp, info);
+
+ /*
+ * Latest attempt, this should be my best yet :)
+ */
+
++ bit_depth = png_get_bit_depth(pp, info);
++
+ #ifndef WORDS_BIGENDIAN
+- if(info->bit_depth == 16)
++ if(bit_depth == 16)
+ png_set_swap(pp);
+ #endif
+
+- if (info->color_type == PNG_COLOR_TYPE_GRAY && info->bit_depth < 8) {
++ if (color_type == PNG_COLOR_TYPE_GRAY && bit_depth < 8) {
+ png_set_expand(pp);
+ }
+
+- if (info->color_type == PNG_COLOR_TYPE_PALETTE && info->bit_depth < 8) {
++ if (color_type == PNG_COLOR_TYPE_PALETTE && bit_depth < 8) {
+ png_set_packing(pp);
+ }
+
+@@ -464,8 +479,8 @@
+ * Expand G+tRNS to GA, RGB+tRNS to RGBA
+ */
+
+- if (info->color_type != PNG_COLOR_TYPE_PALETTE &&
+- (info->valid & PNG_INFO_tRNS)) {
++ if (color_type != PNG_COLOR_TYPE_PALETTE &&
++ (png_get_valid(pp, info, PNG_INFO_tRNS))) {
+ png_set_expand(pp);
+ }
+
+@@ -482,7 +497,7 @@
+
+ #if PNG_LIBPNG_VER > 99
+ if (png_get_valid(pp, info, PNG_INFO_tRNS) &&
+- info->color_type == PNG_COLOR_TYPE_PALETTE)
++ color_type == PNG_COLOR_TYPE_PALETTE)
+ {
+ png_get_tRNS(pp, info, &alpha_ptr, &num, NULL);
+ /* Copy the existing alpha values from the tRNS chunk */
+@@ -505,9 +520,9 @@
+
+ png_read_update_info(pp, info);
+
+- if(info->bit_depth==16)
++ if(bit_depth==16)
+ {
+- switch (info->color_type)
++ switch (color_type)
+ {
+ case PNG_COLOR_TYPE_RGB : /* RGB */
+ bpp = 6;
+@@ -545,7 +560,7 @@
+ }
+ else
+ {
+- switch (info->color_type)
++ switch (color_type)
+ {
+ case PNG_COLOR_TYPE_RGB : /* RGB */
+ bpp = 3;
+@@ -582,7 +597,7 @@
+ };
+ }
+
+- image = gimp_image_new(info->width, info->height, image_type);
++ image = gimp_image_new(width, height, image_type);
+ if (image == -1)
+ {
+ g_message("Can't allocate new image\n%s", filename);
+@@ -595,7 +610,7 @@
+ * Create the "background" layer to hold the image...
+ */
+
+- layer = gimp_layer_new(image, _("Background"), info->width, info->height,
++ layer = gimp_layer_new(image, _("Background"), width, height,
+ layer_type, 100, NORMAL_MODE);
+ gimp_image_add_layer(image, layer, 0);
+
+@@ -627,20 +642,21 @@
+
+ empty= 0; /* by default assume no full transparent palette entries */
+
+- if (info->color_type & PNG_COLOR_MASK_PALETTE) {
++ if (color_type & PNG_COLOR_MASK_PALETTE) {
+
+ #if PNG_LIBPNG_VER > 99
++ png_get_PLTE(pp, info, &palette, &num_palette);
+ if (png_get_valid(pp, info, PNG_INFO_tRNS)) {
+ for (empty= 0; empty < 256 && alpha[empty] == 0; ++empty);
+ /* Calculates number of fully transparent "empty" entries */
+
+- gimp_image_set_cmap(image, (guchar *) (info->palette + empty),
+- info->num_palette - empty);
++ gimp_image_set_cmap(image, (guchar *) (palette + empty),
++ num_palette - empty);
+ } else {
+- gimp_image_set_cmap(image, (guchar *)info->palette, info->num_palette);
++ gimp_image_set_cmap(image, (guchar *)palette, num_palette);
+ }
+ #else
+- gimp_image_set_cmap(image, (guchar *)info->palette, info->num_palette);
++ gimp_image_set_cmap(image, (guchar *)palette, num_palette);
+ #endif /* PNG_LIBPNG_VER > 99 */
+
+ }
+@@ -659,18 +675,19 @@
+ */
+
+ tile_height = gimp_tile_height ();
+- pixel = g_new(guchar, tile_height * info->width * bpp);
++ pixel = g_new(guchar, tile_height * width * bpp);
+ pixels = g_new(guchar *, tile_height);
++ channels=png_get_channels(pp, info);
+
+- if(info->bit_depth==16)
++ if(bit_depth==16)
+ {
+ for (i = 0; i < tile_height; i ++)
+- pixels[i] = pixel + info->width * info->channels * i * 2;
++ pixels[i] = pixel + width * channels * i * 2;
+ }
+ else
+ {
+ for (i = 0; i < tile_height; i ++)
+- pixels[i] = pixel + info->width * info->channels * i;
++ pixels[i] = pixel + width * channels * i;
+ }
+
+ for (pass = 0; pass < num_passes; pass ++)
+@@ -680,11 +697,11 @@
+ */
+
+ for (begin = 0, end = tile_height;
+- begin < info->height;
++ begin < height;
+ begin += tile_height, end += tile_height)
+ {
+- if (end > info->height)
+- end = info->height;
++ if (end > height)
++ end = height;
+
+ num = end - begin;
+
+@@ -697,20 +714,21 @@
+ gimp_pixel_rgn_set_rect(&pixel_rgn, pixel, 0, begin,
+ drawable->width, num);
+
+- gimp_progress_update(((double)pass + (double)end / (double)info->height) /
++ gimp_progress_update(((double)pass + (double)end / (double)height) /
+ (double)num_passes);
+ };
+ };
+
+ #if defined(PNG_iCCP_SUPPORTED)
+ /* set icc profile */
+- if (info->iccp_proflen > 0) {
+- gimp_image_set_icc_profile_by_mem (image, info->iccp_proflen,
+- info->iccp_profile,
+- ICC_IMAGE_PROFILE);
++ png_get_iCCP(pp, info, (png_charpp)iccp_name, &compression_type, iccp_profile, &iccp_proflen);
++ if (iccp_proflen > 0) {
++ gimp_image_set_icc_profile_by_mem (image, iccp_proflen,
++ (gchar *)iccp_profile,
++ ICC_IMAGE_PROFILE);
+ printf ("%s:%d %s() set embedded profile \"%s\"\n",
+ __FILE__,__LINE__,__func__,
+- info->iccp_name);
++ (char *)iccp_name);
+ }
+ #endif
+
+@@ -808,6 +826,14 @@
+ blue; /* Used for palette background */
+ time_t cutime; /* Time since epoch */
+ struct tm *gmt; /* GMT broken down */
++ png_byte color_type;
++ png_byte bit_depth;
++ int filter_method=0;
++ png_colorp palette;
++ int num_palette;
++ png_charpp iccp_name;
++ png_uint_32 height;
++ int compression_type;
+
+ /*
+ * PNG 0.89 and newer have a sane, forwards compatible constructor.
+@@ -824,7 +850,7 @@
+ info = (png_infop)calloc(sizeof(png_info), 1);
+ #endif /* PNG_LIBPNG_VER > 88 */
+
+- if (setjmp (pp->jmpbuf))
++ if (setjmp (png_jmpbuf(pp)))
+ {
+ g_message ("%s\nPNG error. Couldn't save image", filename);
+ return 0;
+@@ -858,87 +884,75 @@
+ type = gimp_drawable_type (drawable_ID);
+
+ /*
+- * Set the image dimensions, bit depth, interlacing and compression
+- */
+-
+- png_set_compression_level (pp, pngvals.compression_level);
+-
+- info->width = drawable->width;
+- info->height = drawable->height;
+- info->interlace_type = pngvals.interlaced;
+-
+- /*
+ * Set color type and remember bytes per pixel count
+ */
+
+ switch (type)
+ {
+ case RGB_IMAGE :
+- info->color_type = PNG_COLOR_TYPE_RGB;
+- info->bit_depth = 8;
++ color_type = PNG_COLOR_TYPE_RGB;
++ bit_depth = 8;
+ bpp = 3;
+ break;
+ case RGBA_IMAGE :
+- info->color_type = PNG_COLOR_TYPE_RGB_ALPHA;
+- info->bit_depth = 8;
++ color_type = PNG_COLOR_TYPE_RGB_ALPHA;
++ bit_depth = 8;
+ bpp = 4;
+ break;
+ case GRAY_IMAGE :
+- info->color_type = PNG_COLOR_TYPE_GRAY;
+- info->bit_depth = 8;
++ color_type = PNG_COLOR_TYPE_GRAY;
++ bit_depth = 8;
+ bpp = 1;
+ break;
+ case GRAYA_IMAGE :
+- info->color_type = PNG_COLOR_TYPE_GRAY_ALPHA;
+- info->bit_depth = 8;
++ color_type = PNG_COLOR_TYPE_GRAY_ALPHA;
++ bit_depth = 8;
+ bpp = 2;
+ break;
+ case INDEXED_IMAGE :
+ bpp = 1;
+- info->bit_depth = 8;
+- info->color_type = PNG_COLOR_TYPE_PALETTE;
+- info->valid |= PNG_INFO_PLTE;
+- info->palette= (png_colorp) gimp_image_get_cmap(image_ID, &num_colors);
+- info->num_palette= num_colors;
++ bit_depth = 8;
++ color_type = PNG_COLOR_TYPE_PALETTE;
++ png_get_valid(pp, info, PNG_INFO_PLTE);
++ png_set_PLTE(pp, info, (png_colorp) gimp_image_get_cmap(image_ID, &num_colors), num_colors);
+ break;
+ case INDEXEDA_IMAGE :
+ bpp = 2;
+- info->bit_depth = 8;
+- info->color_type = PNG_COLOR_TYPE_PALETTE;
++ bit_depth = 8;
++ color_type = PNG_COLOR_TYPE_PALETTE;
+ respin_cmap (pp, info, image_ID); /* fix up transparency */
+ break;
+ case U16_RGB_IMAGE :
+- info->color_type = PNG_COLOR_TYPE_RGB;
+- info->bit_depth = 16;
++ color_type = PNG_COLOR_TYPE_RGB;
++ bit_depth = 16;
+ bpp = 6;
+ break;
+ case U16_RGBA_IMAGE :
+- info->color_type = PNG_COLOR_TYPE_RGB_ALPHA;
+- info->bit_depth = 16;
++ color_type = PNG_COLOR_TYPE_RGB_ALPHA;
++ bit_depth = 16;
+ bpp = 8;
+ break;
+ case U16_GRAY_IMAGE :
+- info->color_type = PNG_COLOR_TYPE_GRAY;
+- info->bit_depth = 16;
++ color_type = PNG_COLOR_TYPE_GRAY;
++ bit_depth = 16;
+ bpp = 2;
+ break;
+ case U16_GRAYA_IMAGE :
+- info->color_type = PNG_COLOR_TYPE_GRAY_ALPHA;
+- info->bit_depth = 16;
++ color_type = PNG_COLOR_TYPE_GRAY_ALPHA;
++ bit_depth = 16;
+ bpp = 4;
+ break;
+ case U16_INDEXED_IMAGE :
+ bpp = 2;
+- info->bit_depth = 16;
+- info->color_type = PNG_COLOR_TYPE_PALETTE;
+- info->valid |= PNG_INFO_PLTE;
+- info->palette= (png_colorp) gimp_image_get_cmap(image_ID, &num_colors);
+- info->num_palette= num_colors;
++ bit_depth = 16;
++ color_type = PNG_COLOR_TYPE_PALETTE;
++ png_get_valid(pp, info, PNG_INFO_PLTE);
++ png_set_PLTE(pp, info, (png_colorp) gimp_image_get_cmap(image_ID, &num_colors), num_colors);
+ break;
+ case U16_INDEXEDA_IMAGE :
+ bpp = 4;
+- info->bit_depth = 16;
+- info->color_type = PNG_COLOR_TYPE_PALETTE;
++ bit_depth = 16;
++ color_type = PNG_COLOR_TYPE_PALETTE;
+ respin_cmap (pp, info, image_ID); /* fix up transparency */
+ break;
+ default:
+@@ -950,16 +964,22 @@
+ * Fix bit depths for (possibly) smaller colormap images
+ */
+
+- if (info->valid & PNG_INFO_PLTE) {
+- if (info->num_palette <= 2)
+- info->bit_depth= 1;
+- else if (info->num_palette <= 4)
+- info->bit_depth= 2;
+- else if (info->num_palette <= 16)
+- info->bit_depth= 4;
++ if (png_get_valid(pp, info, PNG_INFO_PLTE)) {
++ png_get_PLTE(pp, info, &palette, &num_palette);
++ if (num_palette <= 2)
++ bit_depth= 1;
++ else if (num_palette <= 4)
++ bit_depth= 2;
++ else if (num_palette <= 16)
++ bit_depth= 4;
+ /* otherwise the default is fine */
+ }
+
++ png_set_compression_level (pp, pngvals.compression_level);
++ png_set_IHDR(pp, info, drawable->width, drawable->height,
++ bit_depth, color_type, pngvals.interlaced, compression_type, filter_method);
++
++
+ // write icc profile
+ #if defined(PNG_iCCP_SUPPORTED)
+ if (gimp_image_has_icc_profile (image_ID, ICC_IMAGE_PROFILE)) {
+@@ -970,10 +990,10 @@
+ ICC_IMAGE_PROFILE);
+ png_set_iCCP (pp, info,
+ gimp_image_get_icc_profile_description (image_ID, ICC_IMAGE_PROFILE),
+- 0, buffer, size);
++ 0, (png_const_bytep)buffer, size);
+ printf ("%s:%d %s() embedd icc profile \"%s\"\n",
+ __FILE__,__LINE__,__func__,
+- info->iccp_name);
++ (char *)iccp_name);
+ }
+ #endif
+
+@@ -1039,13 +1059,13 @@
+ * Convert unpacked pixels to packed if necessary
+ */
+
+- if (info->color_type == PNG_COLOR_TYPE_PALETTE && info->bit_depth < 8)
++ if (color_type == PNG_COLOR_TYPE_PALETTE && bit_depth < 8)
+ png_set_packing(pp);
+
+ /* Set swapping for 16 bit per sample images */
+
+ #ifndef WORDS_BIGENDIAN
+- if (info->bit_depth == 16)
++ if (bit_depth == 16)
+ png_set_swap(pp);
+ #endif
+
+@@ -1063,6 +1083,7 @@
+
+ gimp_pixel_rgn_init(&pixel_rgn, drawable, 0, 0, drawable->width,
+ drawable->height, FALSE, FALSE);
++ height=png_get_image_height(pp, info);
+
+ for (pass = 0; pass < num_passes; pass ++)
+ {
+@@ -1077,7 +1098,7 @@
+ num = end - begin;
+
+ gimp_pixel_rgn_get_rect (&pixel_rgn, pixel, 0, begin, drawable->width, num);
+- if (info->valid & PNG_INFO_tRNS) {
++ if (png_get_valid(pp, info, PNG_INFO_tRNS)) {
+ for (i = 0; i < num; ++i) {
+ fixed= pixels[i];
+ for (k = 0; k < drawable->width; ++k) {
+@@ -1085,7 +1106,7 @@
+ }
+ }
+ /* Forgot this case before, what if there are too many colors? */
+- } else if (info->valid & PNG_INFO_PLTE && bpp == 2) {
++ } else if (png_get_valid(pp, info, PNG_INFO_PLTE) && bpp == 2) {
+ for (i = 0; i < num; ++i) {
+ fixed= pixels[i];
+ for (k = 0; k < drawable->width; ++k) {
+@@ -1097,7 +1118,6 @@
+ png_write_rows (pp, pixels, num);
+-
+ gimp_progress_update (((double)pass + (double)end /
+- (double)info->height) / (double)num_passes);
++ (double)height) / (double)num_passes);
+ };
+ };
+
diff --git a/artistic/cinepaint-lts/cinepaint.install b/artistic/cinepaint-lts/cinepaint.install
new file mode 100644
index 000000000..5e5cfef4d
--- /dev/null
+++ b/artistic/cinepaint-lts/cinepaint.install
@@ -0,0 +1,11 @@
+post_install() {
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ update-desktop-database -q
+}
diff --git a/artistic/spnavcfg/PKGBUILD b/artistic/spnavcfg/PKGBUILD
index df9027bc5..cbea06d01 100644
--- a/artistic/spnavcfg/PKGBUILD
+++ b/artistic/spnavcfg/PKGBUILD
@@ -4,16 +4,17 @@
pkgname=spnavcfg
pkgver=0.2.1
pkgrel=1
-pkgdesc="The spacenav project provides a free, compatible alternative, to the proprietary 3Dconnexion device driver and SDK, for their 3D input devices (called 'space navigator', 'space pilot', 'space traveller', etc)."
-arch=('i686' 'x86_64' 'mips64el')
-url="http://spacenav.sourceforge.net/"
-license=('GPL')
-depends=('gtk2')
+pkgdesc='A libre version of 3Dconnexion'\''s 3D input device drivers configuration'
+arch=(i686 x86_64 mips64el)
+url=http://spacenav.sourceforge.net/
+license=(GPL)
+depends=(gtk2)
source=(http://downloads.sourceforge.net/spacenav/$pkgname-$pkgver.tar.gz)
-md5sums=('d20cf09515d1e39fd04877a00a2023b5')
+sha512sums=(8cda7e8c9c2aa0875c6cf19e96ec47b9492acdcb110e9845f278ede44bee733876a56e2aa2d1198f54d8fecb978fcfe0a61e8f7b7fe19c2754eceec957172e34)
build() {
cd $srcdir/$pkgname-$pkgver
+ sed -i -e 's/$(LDFLAGS)/$(LDFLAGS) -lX11/' Makefile.in
./configure --prefix=$pkgdir/usr
make || return 1
make DESTDIR=$pkgdir install || return 1
diff --git a/community-staging/onboard/PKGBUILD b/community-staging/onboard/PKGBUILD
new file mode 100644
index 000000000..236f0046b
--- /dev/null
+++ b/community-staging/onboard/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 77541 2012-10-12 02:28:37Z bgyorgy $
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
+
+pkgname=onboard
+pkgver=0.98.1
+pkgrel=1
+pkgdesc="On-screen keyboard useful on tablet PCs or for mobility impaired users"
+arch=('i686' 'x86_64')
+url="https://launchpad.net/onboard"
+license=('GPL')
+depends=('python-dbus' 'python-gobject' 'gtk3' 'python-virtkey' 'librsvg' 'gsettings-desktop-schemas' 'desktop-file-utils' 'dconf' 'hicolor-icon-theme' 'xdg-utils')
+makedepends=('python-distutils-extra')
+optdepends=('at-spi2-atk: auto-show when editing text'
+ 'mousetweaks: hover click with mouse')
+options=('!emptydirs')
+install=$pkgname.install
+source=(http://launchpad.net/$pkgname/${pkgver%.*}/$pkgver/+download/$pkgname-$pkgver.tar.gz)
+md5sums=('107e031b429329b71deb67c9b90195d6')
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # Do not set getpreferredencoding, because it breaks getstatusoutput() in the setup script
+ sed -i '/getpreferredencoding =/ d' setup.py
+
+ python3 setup.py install --root=$pkgdir/ --optimize=1
+}
diff --git a/community-staging/onboard/onboard.install b/community-staging/onboard/onboard.install
new file mode 100644
index 000000000..aa4c3e059
--- /dev/null
+++ b/community-staging/onboard/onboard.install
@@ -0,0 +1,13 @@
+post_install() {
+ glib-compile-schemas usr/share/glib-2.0/schemas
+ update-desktop-database -q
+ xdg-icon-resource forceupdate
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/community-testing/gambas3/PKGBUILD b/community-testing/gambas3/PKGBUILD
index 920256d85..ab1b4cde6 100644
--- a/community-testing/gambas3/PKGBUILD
+++ b/community-testing/gambas3/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 77275 2012-10-08 14:02:58Z lcarlier $
+# $Id: PKGBUILD 77485 2012-10-11 08:10:27Z lcarlier $
# Maintainer: Laurent Carlier <lordheavym@gmail.com>
# Contributor : sebikul <sebikul@gmail.com>
@@ -14,8 +14,8 @@ pkgname=('gambas3-runtime' 'gambas3-devel' 'gambas3-ide' 'gambas3-script' 'gamba
'gambas3-gb-qt4-opengl' 'gambas3-gb-qt4-webkit' 'gambas3-gb-report' 'gambas3-gb-sdl' 'gambas3-gb-sdl-sound' 'gambas3-gb-settings'
'gambas3-gb-signal' 'gambas3-gb-v4l' 'gambas3-gb-vb' 'gambas3-gb-xml' 'gambas3-gb-xml-html' 'gambas3-gb-xml-rpc'
'gambas3-gb-xml-xslt' 'gambas3-gb-web')
-pkgver=3.3.2
-pkgrel=3.1
+pkgver=3.3.3
+pkgrel=1
pkgdesc="A free development environment based on a Basic interpreter."
arch=('i686' 'x86_64')
url="http://gambas.sourceforge.net/"
@@ -31,7 +31,7 @@ makedepends=('intltool' 'mysql' 'postgresql' 'libffi' 'bzip2' 'glib2' 'v4l-utils
options=('!emptydirs')
source=("http://downloads.sourceforge.net/gambas/${pkgbase}-${pkgver}.tar.bz2"
'gambas3-script.install' 'gambas3-runtime.install')
-md5sums=('2d148d3fbdff7a063157073d555f343c'
+md5sums=('18902ae2bbd0d66d165503aba7e89474'
'b284be39d147ec799f1116a6abc068b4'
'6d9e080b66443e7246387b1716d24e31')
diff --git a/community-testing/gigi/PKGBUILD b/community-testing/gigi/PKGBUILD
index 6dffc34e1..4a5bb74b8 100644
--- a/community-testing/gigi/PKGBUILD
+++ b/community-testing/gigi/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 73754 2012-07-15 13:18:27Z ibiru $
+# $Id: PKGBUILD 77537 2012-10-11 22:30:20Z lcarlier $
# Maintainer: Alexander Rødseth <rodseth@gmail.com>
# Contributor: Sven-Hendrik Haase <sh@lutzhaase.com>
# Contributor: fana-m <geminin@gmx.net>
@@ -7,15 +7,14 @@
pkgname=gigi
pkgver=0.8.0
-pkgrel=11
-_fixedrevision=1074
-pkgdesc="Small, efficient and feature rich GUI for C++ and OpenGL"
+pkgrel=13
+_fixedrevision=5208
+pkgdesc="Small, efficient and feature rich GUI for C++ and OpenGL (freeorion fork)"
url="http://gigi.sourceforge.net/"
arch=('x86_64' 'i686')
license=('LGPL')
-depends=('boost' 'mesa' 'libpng' 'libjpeg' 'libtiff' 'freetype2' 'ogre' 'sdl' 'ois' 'python')
-makedepends=('subversion' 'cmake' 'setconf' 'doxygen')
-conflicts=('gigi-svn' 'mesa-full')
+depends=('boost' 'libpng' 'libtiff' 'ogre' 'sdl' 'python')
+makedepends=('subversion' 'cmake' 'setconf' 'doxygen' 'mesa')
build() {
cd "$srcdir"
@@ -24,7 +23,8 @@ build() {
if [ -d gigi/.svn ]; then
(cd gigi && svn up -r "$_fixedrevision")
else
- svn co https://gigi.svn.sourceforge.net/svnroot/gigi/trunk/GG/ \
+ #svn co https://gigi.svn.sourceforge.net/svnroot/gigi/trunk/GG/ \
+ svn co https://freeorion.svn.sourceforge.net/svnroot/freeorion/trunk/FreeOrion/GG/ \
--config-dir ./ -r "$_fixedrevision" gigi
fi
@@ -32,12 +32,6 @@ build() {
svn export gigi gigi-build
cd gigi-build
- msg2 "Patching..."
- sed -i 's/move_backward(/adobe::move_backward(/g' GG/adobe/vector.hpp
- sed -i 's/__GNUC_MINOR__ <= 6/__GNUC_MINOR__ <= 999/g' GG/adobe/cmath.hpp
- sed -i 's/insert(adobe/this->insert(adobe/g' GG/adobe/closed_hash.hpp
- sed -i 's:TIME_UTC:TIME_UTC_:' src/GUI.cpp
-
msg2 "Configuring..."
setconf cmake/GiGiOgre.pc.in prefix /usr
setconf cmake/GiGi.pc.in prefix /usr
diff --git a/community-testing/megaglest/PKGBUILD b/community-testing/megaglest/PKGBUILD
index 2740642d2..d05435549 100644
--- a/community-testing/megaglest/PKGBUILD
+++ b/community-testing/megaglest/PKGBUILD
@@ -1,16 +1,16 @@
-# $Id: PKGBUILD 74516 2012-07-29 21:15:52Z ebelanger $
+# $Id: PKGBUILD 77508 2012-10-11 12:20:33Z svenstaro $
# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
# Contributor: Larry Hajali <larryhaja [at] gmail [dot] com>
pkgname=megaglest
pkgver=3.6.0.3
-pkgrel=3
+pkgrel=4
pkgdesc="Fork of Glest, a 3D real-time strategy game in a fantastic world."
arch=('i686' 'x86_64')
url="http://sourceforge.net/projects/megaglest/"
license=('GPL3')
depends=('curl' 'megaglest-data' 'xerces-c' 'sdl' 'libvorbis' 'openal' 'libgl' 'lua' 'icu' 'ftgl' 'glew'
-'libircclient' 'miniupnpc' 'wxgtk')
+'libircclient' 'miniupnpc' 'wxgtk' 'glu')
makedepends=('ftjam' 'cmake' 'mesa')
source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-source-${pkgver}.tar.xz"
lol.patch)
diff --git a/community-testing/openimageio/PKGBUILD b/community-testing/openimageio/PKGBUILD
index a2bda3f75..b62f5f71f 100644
--- a/community-testing/openimageio/PKGBUILD
+++ b/community-testing/openimageio/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 74517 2012-07-29 21:15:55Z ebelanger $
+# $Id: PKGBUILD 77494 2012-10-11 11:31:19Z svenstaro $
# Contributor: SpepS <dreamspepser at yahoo dot it>
# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
pkgname=openimageio
-pkgver=1.0.8
+pkgver=1.0.9
pkgrel=1
pkgdesc="A library for reading and writing images, including classes, utilities, and applications."
arch=(i686 x86_64)
@@ -14,7 +14,7 @@ makedepends=('cmake' 'qt' 'python2' 'boost')
optdepends=('qt: iv image viewer'
'python2: bindings support')
source=(https://github.com/OpenImageIO/oiio/tarball/Release-$pkgver)
-md5sums=('7d8ee962f29cea749d02ab992e2874df')
+md5sums=('4b98a057515cc95fc954743c987f19ba')
build() {
cd "$srcdir"/$_pkgname*/src
diff --git a/community-testing/scorched3d/PKGBUILD b/community-testing/scorched3d/PKGBUILD
new file mode 100644
index 000000000..0ae9d7dcb
--- /dev/null
+++ b/community-testing/scorched3d/PKGBUILD
@@ -0,0 +1,62 @@
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Seppo Porspakka <sporspak@paju.oulu.fi>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgname=scorched3d
+pkgver=43.3.d
+_pkgver=43.3d
+pkgrel=4
+pkgdesc="3D artillery combat game"
+arch=('i686' 'x86_64')
+url="http://www.scorched3d.co.uk/"
+license=('GPL')
+depends=('sdl_net' 'wxgtk' 'freealut>=1.0.0-3' 'libvorbis' 'glu' 'fftw' 'libjpeg>=8' 'xdg-utils')
+makedepends=('gendesk' 'mesa')
+install=scorched3d.install
+source=("http://downloads.sourceforge.net/${pkgname}/Scorched3D-${_pkgver}-src.tar.gz"
+ 'scorched3d.png::http://cdn.portableapps.com/Scorched3DPortable_128.png'
+ 'scorched3d-42.1-gcc43.patch'
+ 'scorched3d-42.1-fixups.patch'
+ 'scorched3d-libpng1.5.patch'
+ 'libpng14.patch')
+md5sums=('9c3043282a9e7451468ff325bef3b04c'
+ '0f7e570f586c227873e909ebbc17c84d'
+ '053769f77a38c252eef1d967b18e93e6'
+ 'dfde556559d95bca07c4a390c60790b4'
+ 'ec6958191751b5a2c44aa15abfc75269'
+ 'c8c03855fd3693122fd39427fa3638c1')
+
+build() {
+ cd "$srcdir/scorched"
+
+# patch -Np1 -i ${srcdir}/scorched3d-42.1-gcc43.patch
+# patch -Np1 -i ${srcdir}/scorched3d-42.1-fixups.patch
+ patch -Np1 -i ${srcdir}/scorched3d-libpng1.5.patch
+# patch -Np0 -i ${srcdir}/libpng14.patch
+
+ WANT_WXGTK=gtk2
+ sh autogen.sh \
+ --prefix=/usr \
+ --datadir=/usr/share/scorched3d \
+ --disable-openaltest \
+ --with-wx-config=wx-config
+
+ sed -i '1 i #include <unistd.h>' src/client/client/SecureID.cpp
+ #sed -i 's/-lz/-lz -lalut/g' src/scorched/Makefile || return 1
+ #sed -i 's|/usr/local/lib/libwx_gtk-2.4.a||' src/scorched/Makefile || return 1
+
+ make
+}
+
+package() {
+ cd "$srcdir"
+ gendesk
+
+ cd scorched
+ make DESTDIR=${pkgdir} install
+ cd ..
+
+ install -D -m644 scorched3d.png "$pkgdir/usr/share/icons/hicolor/48x48/apps/$pkgname.png"
+ install -D -m644 scorched3d.png "$pkgdir/usr/share/pixmaps/$pkgname.png"
+ install -D -m644 scorched3d.desktop "$pkgdir/usr/share/applications/$pkgname.desktop"
+}
diff --git a/community-testing/scorched3d/libpng14.patch b/community-testing/scorched3d/libpng14.patch
new file mode 100644
index 000000000..7a5a9434c
--- /dev/null
+++ b/community-testing/scorched3d/libpng14.patch
@@ -0,0 +1,38 @@
+--- src/common/image/ImagePng.cpp 2009-02-23 04:14:20.000000000 +0100
++++ src/common/image/ImagePng.cpp_patched 2010-01-24 22:01:04.000000000 +0100
+@@ -189,7 +189,7 @@
+ info_ptr = png_create_info_struct(png_ptr);
+ if (info_ptr == NULL)
+ {
+- png_destroy_read_struct(&png_ptr, png_infopp_NULL, png_infopp_NULL);
++ png_destroy_read_struct(&png_ptr, NULL, NULL);
+ return false;
+ }
+
+@@ -200,7 +200,7 @@
+ if (setjmp(png_jmpbuf(png_ptr)))
+ {
+ /* Free all of the memory associated with the png_ptr and info_ptr */
+- png_destroy_read_struct(&png_ptr, &info_ptr, png_infopp_NULL);
++ png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+ /* If we get here, we had a problem reading the file */
+ return false;
+ }
+@@ -258,7 +258,7 @@
+ }
+ else
+ {
+- png_destroy_read_struct(&png_ptr, &info_ptr, png_infopp_NULL);
++ png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+
+ Logger::log(S3D::formatStringBuffer(
+ "Invalid PNG format.\n"
+@@ -272,7 +272,7 @@
+ // END NEW CODE
+
+ /* clean up after the read, and free any memory allocated - REQUIRED */
+- png_destroy_read_struct(&png_ptr, &info_ptr, png_infopp_NULL);
++ png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+
+ /* that's it */
+ return true;
diff --git a/community-testing/scorched3d/scorched3d-42.1-fixups.patch b/community-testing/scorched3d/scorched3d-42.1-fixups.patch
new file mode 100644
index 000000000..36a027cb6
--- /dev/null
+++ b/community-testing/scorched3d/scorched3d-42.1-fixups.patch
@@ -0,0 +1,58 @@
+diff -ru scorched.orig/configure-al.m4 scorched/configure-al.m4
+--- scorched.orig/configure-al.m4 2008-03-03 16:17:18.000000000 -0500
++++ scorched/configure-al.m4 2009-02-15 20:43:35.000000000 -0500
+@@ -7,25 +7,9 @@
+ [ --disable-openaltest Do not try to compile and run a test OpenAL program],
+ , enable_openaltest=yes)
+ AC_MSG_CHECKING(for OpenAL support)
+-AC_PATH_PROG(OPENAL_CONFIG, openal-config, no)
+-if test x$OPENAL_CONFIG = xno; then
+- echo "*** The openal-config script installed by OpenAL could not be found"
+- echo "*** Make sure openal-config is in your path, or set the OPENAL_CONFIG"
+- echo "*** environment variable to the full path to openal-config."
+-
+- AC_MSG_ERROR([*** Can't find the openal library. Try: http://www.openal.org/])
+-else
+-
+- if test x"$use_static_openal" = x"yes"; then
+- AL_LIBS="/usr/local/lib/libopenal.a"
+- else
+- AL_LIBS="`$OPENAL_CONFIG --libs`"
+- fi
+-
+- AL_CFLAGS="`$OPENAL_CONFIG --cflags`"
+-
+- AC_MSG_RESULT(yes)
+-fi
++AL_LIBS="-lopenal"
++AL_CFLAGS="-I/usr/include/AL"
++AC_MSG_RESULT(yes)
+
+ AC_MSG_CHECKING(for Freealut support)
+ AC_PATH_PROG(FREEALUT_CONFIG, freealut-config, no)
+diff -ru scorched.orig/configure.ac scorched/configure.ac
+--- scorched.orig/configure.ac 2008-03-03 16:17:18.000000000 -0500
++++ scorched/configure.ac 2009-02-15 20:40:30.000000000 -0500
+@@ -13,22 +13,6 @@
+ AC_PROG_INSTALL
+ AC_PROG_RANLIB
+
+-LDFLAGS="-L/usr/X11R6/lib -L/usr/X11R6"
+-CPPFLAGS="-I/usr/X11R6/include -I/usr/X11R6"
+-
+-if test `uname` == Darwin; then
+-LDFLAGS="$LDFLAGS -lmx"
+-CPPFLAGS="$CPPFLAGS -DFFTW_USE_DOUBLE -D__DARWIN__ -D__MACOSX__"
+-else
+-LDFLAGS="$LDFLAGS -L/usr/local/lib"
+-CPPFLAGS="$CPPFLAGS -I/usr/local/include"
+-fi
+-
+-AC_CHECK_LIB(fridge, beer, echo "Hmm?!",[
+- echo "Warning: No beer found in fridge!";
+- echo "We highly suggest that you rectify this situation immediately."
+-])
+-
+ AC_ARG_ENABLE(serveronly,
+ [ --enable-serveronly Enable server only compilation],
+ , enable_serveronly=no,
diff --git a/community-testing/scorched3d/scorched3d-42.1-gcc43.patch b/community-testing/scorched3d/scorched3d-42.1-gcc43.patch
new file mode 100644
index 000000000..b235f07c5
--- /dev/null
+++ b/community-testing/scorched3d/scorched3d-42.1-gcc43.patch
@@ -0,0 +1,24 @@
+diff -ur scorched.old/src/common/common/main.h scorched/src/common/common/main.h
+--- scorched.old/src/common/common/main.h 2009-02-18 20:06:22.000000000 +0200
++++ scorched/src/common/common/main.h 2009-02-18 20:07:18.000000000 +0200
+@@ -40,7 +40,7 @@
+ void _no_storage()
+ {
+ printf("Failed to allocate memory!!");
+- std::exit(1);
++ exit(1);
+ }
+
+ void run_main(int argc, char *argv[], OptionsParameters &params)
+diff -ur scorched.old/src/common/porting/windows.h scorched/src/common/porting/windows.h
+--- scorched.old/src/common/porting/windows.h 2009-02-18 20:06:22.000000000 +0200
++++ scorched/src/common/porting/windows.h 2009-02-18 20:06:46.000000000 +0200
+@@ -20,7 +20,7 @@
+ typedef unsigned short WORD;
+ typedef unsigned char BYTE;
+
+-typedef int HWND;
++// typedef int HWND;
+ typedef void * HINSTANCE;
+ typedef int WPARAM;
+ typedef int LPARAM;
diff --git a/community-testing/scorched3d/scorched3d-libpng1.5.patch b/community-testing/scorched3d/scorched3d-libpng1.5.patch
new file mode 100644
index 000000000..4e8f003b8
--- /dev/null
+++ b/community-testing/scorched3d/scorched3d-libpng1.5.patch
@@ -0,0 +1,74 @@
+--- ./src/common/image/ImagePngFactory.cpp.old 2011-09-12 12:34:30.114461019 +0200
++++ ./src/common/image/ImagePngFactory.cpp 2011-09-12 12:39:28.566425593 +0200
+@@ -104,7 +104,7 @@
+
+ static void user_png_error(png_structp png_ptr, png_const_charp msg)
+ {
+- longjmp(png_ptr->jmpbuf,1);
++ longjmp(png_jmpbuf(png_ptr),1);
+ }
+
+ static void user_png_warning(png_structp png_ptr, png_const_charp msg)
+--- ./src/client/client/LoadPNG.cpp.old 2011-09-12 12:45:49.167380419 +0200
++++ ./src/client/client/LoadPNG.cpp 2011-09-12 14:11:14.961772024 +0200
+@@ -28,6 +28,8 @@
+ int row, i;
+ volatile int ckey = -1;
+ png_color_16 *transv;
++ png_colorp png_palette;
++ int num_palette;
+
+ if ( !src ) {
+ /* The error message has been set in SDL_RWFromFile */
+@@ -58,7 +60,7 @@
+ * the normal method of doing things with libpng). REQUIRED unless you
+ * set up your own error handlers in png_create_read_struct() earlier.
+ */
+- if ( setjmp(png_ptr->jmpbuf) ) {
++ if ( setjmp(png_jmpbuf(png_ptr)) ) {
+ error = "Error reading the PNG file.";
+ goto done;
+ }
+@@ -127,9 +129,9 @@
+ Rmask = 0x000000FF;
+ Gmask = 0x0000FF00;
+ Bmask = 0x00FF0000;
+- Amask = (info_ptr->channels == 4) ? 0xFF000000 : 0;
++ Amask = (png_get_channels(png_ptr, info_ptr) == 4) ? 0xFF000000 : 0;
+ } else {
+- int s = (info_ptr->channels == 4) ? 0 : 8;
++ int s = (png_get_channels(png_ptr, info_ptr) == 4) ? 0 : 8;
+ Rmask = 0xFF000000 >> s;
+ Gmask = 0x00FF0000 >> s;
+ Bmask = 0x0000FF00 >> s;
+@@ -137,7 +139,7 @@
+ }
+ }
+ surface = SDL_AllocSurface(SDL_SWSURFACE, width, height,
+- bit_depth*info_ptr->channels, Rmask,Gmask,Bmask,Amask);
++ bit_depth*png_get_channels(png_ptr, info_ptr), Rmask,Gmask,Bmask,Amask);
+ if ( surface == NULL ) {
+ error = "Out of memory";
+ goto done;
+@@ -185,12 +187,15 @@
+ palette->colors[i].g = i;
+ palette->colors[i].b = i;
+ }
+- } else if (info_ptr->num_palette > 0 ) {
+- palette->ncolors = info_ptr->num_palette;
+- for( i=0; i<info_ptr->num_palette; ++i ) {
+- palette->colors[i].b = info_ptr->palette[i].blue;
+- palette->colors[i].g = info_ptr->palette[i].green;
+- palette->colors[i].r = info_ptr->palette[i].red;
++ } else {
++ png_get_PLTE(png_ptr, info_ptr, &png_palette, &num_palette);
++ if (num_palette > 0 ) {
++ palette->ncolors = num_palette;
++ for( i=0; i<num_palette; ++i ) {
++ palette->colors[i].b = png_palette[i].blue;
++ palette->colors[i].g = png_palette[i].green;
++ palette->colors[i].r = png_palette[i].red;
++ }
+ }
+ }
+ }
diff --git a/community-testing/scorched3d/scorched3d.install b/community-testing/scorched3d/scorched3d.install
new file mode 100644
index 000000000..c5571196e
--- /dev/null
+++ b/community-testing/scorched3d/scorched3d.install
@@ -0,0 +1,11 @@
+post_install() {
+ which xdg-icon-resource 1>/dev/null 2>/dev/null && xdg-icon-resource forceupdate || true
+}
+
+post_upgrade() {
+ which xdg-icon-resource 1>/dev/null 2>/dev/null && xdg-icon-resource forceupdate || true
+}
+
+post_remove() {
+ which xdg-icon-resource 1>/dev/null 2>/dev/null && xdg-icon-resource forceupdate || true
+}
diff --git a/community-testing/xmoto/PKGBUILD b/community-testing/xmoto/PKGBUILD
new file mode 100644
index 000000000..6cfbb2db3
--- /dev/null
+++ b/community-testing/xmoto/PKGBUILD
@@ -0,0 +1,48 @@
+# $Id: PKGBUILD 77535 2012-10-11 21:34:16Z lcarlier $
+# Maintainer: Ronald van Haren <ronald.archlinux.org>
+# Contributor: Travis Willard <travisw@wmpub.ca>
+# Contributor: Denis (dtonator@gmail.com)
+
+pkgname=xmoto
+pkgver=0.5.10
+pkgrel=2
+pkgdesc="A challenging 2D motocross platform game, where physics play an important role."
+arch=('i686' 'x86_64')
+url="http://xmoto.tuxfamily.org"
+license=('GPL')
+depends=('libjpeg' 'libpng' 'lua' 'sdl_mixer' 'ode' 'curl'
+ 'sqlite3' 'sdl_ttf' 'desktop-file-utils' 'sdl_net' 'glu'
+ 'libxdg-basedir' 'libxml++')
+makedepends=('mesa')
+install=xmoto.install
+source=("http://download.tuxfamily.org/${pkgname}/${pkgname}/${pkgver}/${pkgname}-${pkgver}-src.tar.gz"
+ 'xmoto-0.5.10-libpng15.patch'
+ 'system.cpp.patch')
+sha1sums=('692d50a9c91791cd06ee84846632651b44544fcc'
+ '9d13fa09f1c558a0fc504f7e7b1ceac6b4b7b20d'
+ 'e741f769d1fc5779a6688970ee97e2a61a50c7ae')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ patch -Np1 -i "${srcdir}/xmoto-0.5.10-libpng15.patch"
+ patch -Np1 -i "${srcdir}/system.cpp.patch"
+
+ # build and install
+ ./configure LDFLAGS="-L/usr/lib" --prefix=/usr --disable-sdltest
+
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make DESTDIR=${pkgdir} mangdir=/usr/share/man/man6 install
+
+ # install desktop file
+ install -Dm0644 ${srcdir}/${pkgname}-${pkgver}/extra/xmoto.desktop \
+ ${pkgdir}/usr/share/applications/xmoto.desktop
+
+ # install icon for desktop file
+ install -Dm0644 ${srcdir}/${pkgname}-${pkgver}/extra/xmoto.xpm \
+ ${pkgdir}/usr/share/pixmaps/xmoto.xpm
+}
diff --git a/community-testing/xmoto/system.cpp.patch b/community-testing/xmoto/system.cpp.patch
new file mode 100644
index 000000000..df42e3a7c
--- /dev/null
+++ b/community-testing/xmoto/system.cpp.patch
@@ -0,0 +1,10 @@
+--- a/src/helpers/System.cpp 2011-10-11 22:18:14.000000000 +0200
++++ b/src/helpers/System.cpp 2012-07-21 21:28:40.000000000 +0200
+@@ -24,6 +24,7 @@
+ #include "Log.h"
+ #include "VExcept.h"
+ #include <sstream>
++#include <unistd.h>
+
+ std::vector<std::string>* System::getDisplayModes(int windowed) {
+ std::vector<std::string>* modes = new std::vector<std::string>;
diff --git a/community-testing/xmoto/xmoto-0.5.10-libpng15.patch b/community-testing/xmoto/xmoto-0.5.10-libpng15.patch
new file mode 100644
index 000000000..aed175c7c
--- /dev/null
+++ b/community-testing/xmoto/xmoto-0.5.10-libpng15.patch
@@ -0,0 +1,10 @@
+--- a/src/image/tim_png.cpp 2011-12-29 22:13:37.000000000 +0100
++++ b/src/image/tim_png.cpp 2012-07-21 21:36:34.000000000 +0200
+@@ -24,6 +24,7 @@
+ */
+ #include <stdio.h>
+ #include <string.h>
++#include <zlib.h>
+ #include "tim.h"
+ #include <png.h>
+ #include <zlib.h>
diff --git a/community-testing/xmoto/xmoto.install b/community-testing/xmoto/xmoto.install
new file mode 100644
index 000000000..e111ef946
--- /dev/null
+++ b/community-testing/xmoto/xmoto.install
@@ -0,0 +1,11 @@
+post_install() {
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/community/bullet/PKGBUILD b/community/bullet/PKGBUILD
index d864ec291..3bf0dafea 100644
--- a/community/bullet/PKGBUILD
+++ b/community/bullet/PKGBUILD
@@ -1,10 +1,11 @@
-# $Id: PKGBUILD 68719 2012-04-01 00:16:22Z svenstaro $
+# $Id: PKGBUILD 77520 2012-10-11 13:39:07Z svenstaro $
# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
# Contributor: Christoph Zeiler <archNOSPAM_at_moonblade.dot.org>
pkgbase=bullet
pkgname=('bullet' 'bullet-docs')
-pkgver=2.80
+_rev=2613
+pkgver=2.81
pkgrel=1
pkgdesc="A 3D Collision Detection and Rigid Body Dynamics Library for games and animation"
arch=('i686' 'x86_64')
@@ -12,13 +13,13 @@ url="http://www.bulletphysics.com/Bullet/"
license=('custom:zlib')
depends=('freeglut')
makedepends=('cmake' 'doxygen' 'graphviz' 'ttf-dejavu')
-source=(http://bullet.googlecode.com/files/${pkgbase}-${pkgver}-rev2531.tgz
+source=(http://bullet.googlecode.com/files/${pkgbase}-${pkgver}-rev${_rev}.tgz
${pkgbase}.pc)
-md5sums=('d1eec0332110264a21d0fc0f2fb127c3'
+md5sums=('cec9c9a79c2804dbf6385dd7d061346c'
'd1da06deba3b08b884d2212f6838905c')
build() {
- cd ${pkgbase}-${pkgver}-rev2531
+ cd ${pkgbase}-${pkgver}-rev${_rev}
# get a clean build dir
[[ -d build ]] && rm -rf build
@@ -46,15 +47,11 @@ build() {
package_bullet() {
optdepends=('bullet-docs: documentation')
- cd ${pkgbase}-${pkgver}-rev2531/build
+ cd ${pkgbase}-${pkgver}-rev${_rev}/build
# install it
make DESTDIR=${pkgdir} install
- # fix #29012
- install -Dm644 ../Extras/HACD/hacdVector.inl ${pkgdir}/usr/include/bullet/HACD/hacdVector.inl
- install -Dm644 ../Extras/HACD/hacdCircularList.inl ${pkgdir}/usr/include/bullet/HACD/hacdCircularList.inl
-
# manually handle pkgconfig file
mkdir -p "${pkgdir}"/usr/lib/pkgconfig
sed "s|VERSION|${pkgver}|g" ${srcdir}/bullet.pc > ${pkgdir}/usr/lib/pkgconfig/bullet.pc
@@ -67,7 +64,7 @@ package_bullet-docs() {
pkgdesc="Documentation for bullet"
depends=()
- cd ${pkgbase}-${pkgver}-rev2531
+ cd ${pkgbase}-${pkgver}-rev${_rev}
# install docs
install -Dm644 Bullet_User_Manual.pdf ${pkgdir}/usr/share/doc/bullet/Bullet_User_Manual.pdf
diff --git a/community/connman/PKGBUILD b/community/connman/PKGBUILD
index 3d02d9512..b6ca46685 100644
--- a/community/connman/PKGBUILD
+++ b/community/connman/PKGBUILD
@@ -1,9 +1,9 @@
-$Id: PKGBUILD 76664 2012-09-25 22:41:38Z dwallace $
+#$Id: PKGBUILD 77533 2012-10-11 21:23:35Z dwallace $
# Maintainer: Daniel Wallace <danielwallace at gtmanfred dot com>
# Contributor: Lucas De Marchi <lucas.de.marchi@gmail.com>
pkgname=connman
-pkgver=1.7
+pkgver=1.8
pkgrel=1
pkgdesc="Wireless LAN network manager"
url="http://connman.net/"
@@ -18,10 +18,10 @@ options=('!libtool')
source=('connmand-daemon'
"http://www.kernel.org/pub/linux/network/${pkgname}/${pkgname}-${pkgver}.tar.bz2"
'allow_group_network.diff')
+
md5sums=('88ece7cbf1d0d289545ce4f8553fdab8'
- '9c6cf5a95989ae72d90b270ac7c6e38c'
+ '689468f92a1dcb2c0e30d7d00410ad87'
'a8d22ee089fb0ed725130d16ad393047')
-
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/community/enet/PKGBUILD b/community/enet/PKGBUILD
index 41b97c012..a3557237a 100644
--- a/community/enet/PKGBUILD
+++ b/community/enet/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 71720 2012-06-01 18:47:54Z ebelanger $
+# $Id: PKGBUILD 77516 2012-10-11 13:14:20Z svenstaro $
# Maintainer: Mateusz Herych <heniekk@gmail.com>
# Contributor: Bj?indeijer <bjorn@lindeijer.nl>
pkgname=enet
-pkgver=1.3.4
+pkgver=1.3.5
pkgrel=1
pkgdesc='A relatively thin, simple and robust network communication layer on top of UDP.'
arch=('i686' 'x86_64')
@@ -12,7 +12,7 @@ license=('custom')
depends=('glibc')
options=('!libtool')
source=("http://enet.bespin.org/download/${pkgname}-${pkgver}.tar.gz")
-md5sums=('e5fb0ca3fd3a9fe7eadbcde4d6af1517')
+md5sums=('c75d0be31b6f23330839a68ee66e00f9')
build() {
cd "${pkgname}-${pkgver}"
diff --git a/community/glabels/PKGBUILD b/community/glabels/PKGBUILD
index 37d4a74fb..baad6680c 100644
--- a/community/glabels/PKGBUILD
+++ b/community/glabels/PKGBUILD
@@ -1,30 +1,27 @@
-# $Id: PKGBUILD 69806 2012-04-23 09:47:01Z ibiru $
+# $Id: PKGBUILD 77545 2012-10-12 03:02:27Z bgyorgy $
# Maintainer: Balló György <ballogyor+arch at gmail dot com>
# Contributor: yugrotavele <yugrotavele at archlinux dot us>
# Contributor: Damir Perisa <damir@archlinux.org>
pkgname=glabels
-pkgver=3.0.0
-pkgrel=3
+pkgver=3.0.1
+pkgrel=1
pkgdesc="Creating labels and business cards the very easy way"
arch=('i686' 'x86_64')
-url="http://glabels.sourceforge.net/"
+url="http://glabels.org/"
license=('GPL' 'LGPL')
depends=('librsvg' 'evolution-data-server>=3.4.0' 'qrencode' 'iec16022' 'dconf' 'desktop-file-utils' 'xdg-utils')
makedepends=('barcode' 'intltool' 'gnome-doc-utils')
options=('!libtool')
install=$pkgname.install
-source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.bz2
- fix-gschema.patch)
-sha256sums=('a3a3db4dd25bfb1a03f4008f01c5d9045174e78e13ae77438b81bfe4bf14e64a'
- 'ef4f368b49fe66fb7e9c1c4edabb96e1f10fd3e8502d695aef6b89388c38cd94')
+source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz)
+sha256sums=('99810705b9fcb234f085ed4ac6dbea50cc5b232c6d8ca05ab2c0634673fb9bd2')
build() {
cd "$srcdir/$pkgname-$pkgver"
- patch -Np1 -i "$srcdir/fix-gschema.patch"
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
- --disable-static --disable-scrollkeeper --disable-schemas-compile
+ --disable-static --disable-schemas-compile
make
}
diff --git a/community/hitori/PKGBUILD b/community/hitori/PKGBUILD
index 99afb9dd3..9a8053373 100644
--- a/community/hitori/PKGBUILD
+++ b/community/hitori/PKGBUILD
@@ -1,18 +1,18 @@
-# $Id: PKGBUILD 69054 2012-04-08 19:56:12Z bgyorgy $
+# $Id: PKGBUILD 77547 2012-10-12 03:16:10Z bgyorgy $
# Maintainer: Balló György <ballogyor+arch at gmail dot com>
pkgname=hitori
-pkgver=0.3.2
+pkgver=0.4.0
pkgrel=1
pkgdesc="GTK+ application to generate and let you play games of Hitori"
arch=('i686' 'x86_64')
url="https://live.gnome.org/Hitori"
license=('GPL')
depends=('gtk3' 'hicolor-icon-theme' 'xdg-utils')
-makedepends=('intltool' 'gnome-doc-utils')
+makedepends=('intltool' 'itstool')
install=$pkgname.install
source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz)
-sha256sums=('9e72bb0c84b0e0b66a96fcee6918cf15832f45458df4d8dd5f8091a20bba4350')
+sha256sums=('5d9e1c0f5d33c960167a126242bf57ff4865a6aaf6602da4a25aae56dc491030')
build() {
cd "$srcdir/$pkgname-$pkgver"
diff --git a/community/lazarus/PKGBUILD b/community/lazarus/PKGBUILD
index d7d070855..b686bad3d 100644
--- a/community/lazarus/PKGBUILD
+++ b/community/lazarus/PKGBUILD
@@ -1,13 +1,13 @@
-# $Id: PKGBUILD 76459 2012-09-18 17:57:53Z spupykin $
+# $Id: PKGBUILD 77496 2012-10-11 11:35:28Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Jens Adam (byte/jra) <j_adam@web.de>
# Contributor: BlackIkeEagle <ike DOT devolder AT gmail DOT com>
pkgbase=lazarus
pkgname=('lazarus' 'lazarus-gtk2' 'lazarus-qt')
-pkgver=1.0
+pkgver=1.0.2
_pkgsubver=0
-pkgrel=2
+pkgrel=1
url='http://www.lazarus.freepascal.org/'
license=('GPL2' 'MPL' 'custom:LGPL')
arch=('i686' 'x86_64')
@@ -15,7 +15,7 @@ makedepends=('fpc' 'fpc-src' 'gtk2' 'qt4pas' 'rsync')
options=('!emptydirs' '!makeflags')
source=("http://downloads.sourceforge.net/project/lazarus/Lazarus%20Zip%20_%20GZip/Lazarus%20$pkgver/lazarus-$pkgver-${_pkgsubver}.tar.gz"
'lazcontrols2.diff')
-md5sums=('2412545d740059d006485f5d17ef0eca'
+md5sums=('738ee29686de71cd599b468eabf034e8'
'288bca6ad5ade79deec34c3602daaaa9')
build() {
diff --git a/community/libcryptui/PKGBUILD b/community/libcryptui/PKGBUILD
index cae4d802c..6e0e849f2 100644
--- a/community/libcryptui/PKGBUILD
+++ b/community/libcryptui/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 69509 2012-04-17 14:38:21Z bgyorgy $
+# $Id: PKGBUILD 77551 2012-10-12 03:46:14Z bgyorgy $
# Maintainer: Balló György <ballogyor+arch at gmail dot com>
pkgname=libcryptui
-pkgver=3.4.1
+pkgver=3.6.0
pkgrel=1
pkgdesc="Library for OpenPGP prompts"
arch=('i686' 'x86_64')
@@ -13,7 +13,7 @@ makedepends=('intltool' 'gobject-introspection')
options=('!libtool')
install=$pkgname.install
source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz)
-sha256sums=('fad4addf5c5b6588f492a720edce59f925190e4cdf3672984f53b25327f10fd5')
+sha256sums=('0a4a747fff33acd03d1381d27454f8aa5eaca026b7475e24c4b8f8272bbe1c87')
build() {
cd "$srcdir/$pkgname-$pkgver"
diff --git a/community/lilypond/PKGBUILD b/community/lilypond/PKGBUILD
index 9617be403..4a58cd269 100644
--- a/community/lilypond/PKGBUILD
+++ b/community/lilypond/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 75534 2012-08-26 20:38:31Z spupykin $
+# $Id: PKGBUILD 77506 2012-10-11 12:11:13Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: Geoffroy Carrier <geoffroy@archlinux.org>
# Contributor: William Rea <sillywilly@gmail.com>
@@ -6,7 +6,7 @@
pkgname=lilypond
pkgver=2.16.0
-pkgrel=1
+pkgrel=2
pkgdesc="An automated music engraving system"
arch=('i686' 'x86_64')
url="http://lilypond.org"
@@ -39,5 +39,5 @@ build() {
package() {
cd "$srcdir/$pkgname-$pkgver"
- make DESTDIR="$pkgdir" install
+ make DESTDIR="$pkgdir" vimdir="/usr/share/vim/vimfiles" install
}
diff --git a/community/oath-toolkit/PKGBUILD b/community/oath-toolkit/PKGBUILD
index a1a5bedf9..7e4fcd265 100644
--- a/community/oath-toolkit/PKGBUILD
+++ b/community/oath-toolkit/PKGBUILD
@@ -1,19 +1,19 @@
-# $Id: PKGBUILD 75890 2012-09-04 18:45:38Z seblu $
+# $Id: PKGBUILD 77539 2012-10-11 23:18:29Z seblu $
# Maintainer: Sébastien Luttringer <seblu@aur.archlinux.org>
# Contributor: Christian Hesse <mail@eworm.de>
# Contributor: L42y <423300@gmail.com>
pkgname=oath-toolkit
-pkgver=1.12.6
+pkgver=2.0.0
pkgrel=1
pkgdesc='OATH one-time password toolkit'
arch=('i686' 'x86_64')
url='http://www.nongnu.org/oath-toolkit/'
license=('GPL3')
-depends=('pam')
+depends=('glibc' 'pam' 'libxml2')
options=('!libtool')
source=("http://download.savannah.nongnu.org/releases/$pkgname/$pkgname-$pkgver.tar.gz")
-md5sums=('7c8c4231aecfc5d74467b2a9e6bf054c')
+md5sums=('2da5d9211062dfd746539c783185fae1')
build() {
cd $pkgname-$pkgver
@@ -24,7 +24,6 @@ build() {
package() {
cd $pkgname-$pkgver
make DESTDIR="$pkgdir" install
-
# Install basic docs too
install -D -m 644 pam_oath/README "$pkgdir/usr/share/doc/$pkgname/PAM_README"
install -D -m 644 README "$pkgdir/usr/share/doc/$pkgname/README"
diff --git a/community/pam_mount/PKGBUILD b/community/pam_mount/PKGBUILD
index 9b226e9f2..d652fe0c3 100644
--- a/community/pam_mount/PKGBUILD
+++ b/community/pam_mount/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id$
+# $Id: PKGBUILD 77500 2012-10-11 11:40:42Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributors: Sirius Bakke <sirius\at/nonline.org>
pkgname=pam_mount
pkgver=2.13
-pkgrel=3
+pkgrel=4
pkgdesc="A PAM module that can mount volumes for a user session"
arch=('i686' 'x86_64')
url="http://pam-mount.sourceforge.net/"
@@ -13,11 +13,18 @@ depends=('util-linux' 'libhx>=3.12.1' 'libxml2>=2.6' 'openssl>0.9.7' 'cryptsetup
optdepends=('hxtools: If you have something like <logout wait="1000" hup="0" term="1" kill="1" /> in your config')
backup=('etc/security/pam_mount.conf.xml')
options=(!emptydirs !libtool)
-source=("http://downloads.sourceforge.net/project/pam-mount/$pkgname/$pkgver/$pkgname-$pkgver.tar.xz")
-md5sums=('9f75fc8e84ea9cde619cdd6a62c7de33')
+source=("http://downloads.sourceforge.net/project/pam-mount/$pkgname/$pkgver/$pkgname-$pkgver.tar.xz"
+ "$pkgname-git.patch")
+md5sums=('9f75fc8e84ea9cde619cdd6a62c7de33'
+ 'f018cb901eb6a18447a3a1b0a50c14dd')
build() {
cd -- "$srcdir/$pkgname-$pkgver"
+ patch -p1 <$srcdir/$pkgname-git.patch
+ aclocal
+ automake --add-missing
+ libtoolize
+ autoreconf
./configure \
--prefix=/usr \
--with-ssbindir=/usr/sbin \
diff --git a/community/pam_mount/pam_mount-git.patch b/community/pam_mount/pam_mount-git.patch
new file mode 100644
index 000000000..5890d83f3
--- /dev/null
+++ b/community/pam_mount/pam_mount-git.patch
@@ -0,0 +1,1345 @@
+diff -wbBurN pam_mount-2.13/configure.ac pam-mount/configure.ac
+--- pam_mount-2.13/configure.ac 2011-12-15 16:12:10.000000000 +0400
++++ pam-mount/configure.ac 2012-10-11 15:28:24.848220631 +0400
+@@ -13,9 +13,10 @@
+ AC_CONFIG_HEADERS([config.h])
+ AC_CONFIG_MACRO_DIR([m4])
+ AC_PROG_INSTALL
+-AM_INIT_AUTOMAKE([-Wall no-dist foreign subdir-objects])
++AM_INIT_AUTOMAKE([-Wall foreign subdir-objects tar-pax no-dist-gzip dist-xz])
+ AC_PROG_CC
+ AM_PROG_CC_C_O
++m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
+ AC_DISABLE_STATIC
+ AM_PROG_LIBTOOL
+ AC_PROG_LN_S
+diff -wbBurN pam_mount-2.13/doc/changelog.txt pam-mount/doc/changelog.txt
+--- pam_mount-2.13/doc/changelog.txt 2011-12-15 16:12:10.000000000 +0400
++++ pam-mount/doc/changelog.txt 2012-10-11 15:28:24.851553965 +0400
+@@ -3,6 +3,15 @@
+
+ HEAD
+ ====
++Fixes:
++- fix "feature 1 already set to zero"
++- pmt-ehd: avoid miscalculating blockdev size obtained from BLKGETSIZE64
++- pam_mount: give more verbose output on "unknown digest/cipher"
++- pam_mount: fix crash when an unknown digest/cipher was specified
++- pam_mount: correctly mkdir mountpoint if requested
++- pam_mount: only remove mountpoint if actually created
++Changes:
++- Complain louder when EUID is not 0
+
+
+ v2.13 (2011-12-15)
+diff -wbBurN pam_mount-2.13/doc/Makefile.am pam-mount/doc/Makefile.am
+--- pam_mount-2.13/doc/Makefile.am 2011-12-15 16:12:10.000000000 +0400
++++ pam-mount/doc/Makefile.am 2012-10-11 15:28:24.848220631 +0400
+@@ -5,8 +5,9 @@
+ pmvarrun.8 pmt-ehd.8 \
+ umount.crypt.8 umount.crypt_LUKS.8 \
+ umount.crypto_LUKS.8
+-dist_noinst_DATA = pam_mount.txt
+-EXTRA_DIST = bugs.txt changelog.txt faq.txt install.txt options.txt todo.txt
++EXTRA_DIST = bugs.txt changelog.txt faq.txt install.txt options.txt todo.txt \
++ pam_mount.8.in pam_mount.conf.5.in
++DISTCLEANFILES = pam_mount.txt
+ CLEANFILES = ${man_MANS}
+
+ replcmd = perl -lpe 's/\@''PACKAGE\@/@PACKAGE@/g;s/\@''PACKAGE_VERSION\@/@PACKAGE_VERSION@/g;s/\@''PACKAGE_RELDATE\@/@PACKAGE_RELDATE@/g;'
+diff -wbBurN pam_mount-2.13/doc/mount.crypt.8 pam-mount/doc/mount.crypt.8
+--- pam_mount-2.13/doc/mount.crypt.8 2011-12-15 16:12:10.000000000 +0400
++++ pam-mount/doc/mount.crypt.8 2012-10-11 15:28:24.851553965 +0400
+@@ -37,10 +37,6 @@
+ Select the name for the crypto device (optional). This option is currently
+ only usable with dm-crypt systems.
+ .TP
+-\fBdm\-timeout=\fP\fIseconds\fP
+-Wait at most this many seconds for udev to create /dev/mapper/\fIname\fP after
+-calling cryptsetup(8). The default value is 0 seconds.
+-.TP
+ \fBfsck\fP
+ Run fsck on the container before mounting it.
+ .TP
+diff -wbBurN pam_mount-2.13/doc/options.txt pam-mount/doc/options.txt
+--- pam_mount-2.13/doc/options.txt 2011-12-15 16:12:10.000000000 +0400
++++ pam-mount/doc/options.txt 2012-10-11 15:28:24.851553965 +0400
+@@ -4,6 +4,11 @@
+
+ auth optional pam_mount.so debug
+
++Options are to be separated by whitespace, hence specifying more than
++one is to look like:
++
++ auth optional pam_mount.so debug disable_interactive
++
+
+ enable_pam_password (default)
+ disable_pam_password
+diff -wbBurN pam_mount-2.13/doc/pam_mount.conf.5.in pam-mount/doc/pam_mount.conf.5.in
+--- pam_mount-2.13/doc/pam_mount.conf.5.in 2011-12-15 16:12:10.000000000 +0400
++++ pam-mount/doc/pam_mount.conf.5.in 2012-10-11 15:28:24.851553965 +0400
+@@ -171,35 +171,33 @@
+ processes and optionally wait before sending signals.
+ .TP
+ \fB<luserconf name="\fP\fI.pam_mount.conf.xml\fP\fB" />\fP
+-Individual users may define additional volumes (usually in
+-~/.pam_mount.conf.xml) to mount if allowed by the master configuration file by
+-the presence of the \fB<luserconf>\fP element. With it, users may mount and
+-unmount any volumes they specify that they have ownership of (in case of
+-local mounts) - the mount process is called \fBas
+-superuser\fP. On some filesystem configurations this may be a security risk so
+-user-defined volumes are not allowed by the default pam_mount.conf.xml
+-distributed with pam_mount. Luserconfigs are parsed after any volumes from
+-the global configuration file are mounted, so mounting home directories with a
+-global config and then mounting further volumes from luserconfigs is possible.
++Individual users may define additional volumes in a file by the specified
++\fIname\fP relative to their home directory. The presence of \fB<luserconf>\fP
++in the master config file enables this feature. If turned on, users may mount
++and unmount any volumes they specify and that they have ownership of (in case
++of local mounts). The mount process is executed \fBas superuser\fP. This may
++have security implications, so this feature is disabled by default.
++Luserconfigs are parsed after any volumes from the global configuration file
++have been mounted, so that first mounting home directories with a global config
++and then mounting further volumes from luserconfigs is possible.
+ .TP
+ \fB<mntoptions allow="\fP\fIoptions,...\fP\fB" />\fP
+-The <mntoptions> elements determine which options may be specified in per\-user
+-configuration files (see <luserconf>). It does not apply to the master file.
+-Specifying <mntoptions> is forbidden and ignored in per\-user configs.
+-It defaults to \fIallow="nosuid,nodev"\fP, and the default is cleared when the
+-first <mntoptions allow="..."> tag is seen. All further <mntoptions> are
+-additive, though.
++The <mntoptions> elements determine which options may be specified in <volumes>
++in per-user configuration files (see <luserconf>). It does not apply to the
++master file. Specifying <mntoptions> is forbidden and ignored in per-user
++configs. The default allowed list consists of "\fInosuid,nodev\fP", and this
++default is cleared when the first allow="..." attribute is seen by the config
++parser. All further allow="..." are additive, though.
+ .TP
+ \fB<mntoptions deny="\fP\fIoptions,...\fP\fB" />\fP
+-Any options listed in deny may not appear in the option list of per\-user
+-mounts. (Does not apply to the master file.)
++Any options listed in deny may not appear in the option list of per-user
++mounts. The default deny list is empty.
+ .TP
+ \fB<mntoptions require="\fP\fIoptions,...\fP\fB" />\fP
+-All options listed in require must appear in the option list of per\-user
+-mounts. (Does not apply to the master file.)
+-It defaults to \fInosuid,nodev\fP, and the default is cleared when the
+-first <mntoptions require="..."> tag is seen. All further <mntoptions> are
+-additive, though.
++All options listed in require must appear in the option list of per-user
++mounts. The default require list consists of "\fInosuid,nodev\fP", and like
++allow="", is cleared when first encountered by the parser, and is otherwise
++additive.
+ .TP
+ \fB<path>\fP\fIdirectories...\fP\fB</path>\fP
+ The default for the PATH environmental variable is not consistent across
+diff -wbBurN pam_mount-2.13/Makefile.am pam-mount/Makefile.am
+--- pam_mount-2.13/Makefile.am 2011-12-15 16:12:10.000000000 +0400
++++ pam-mount/Makefile.am 2012-10-11 15:28:24.848220631 +0400
+@@ -24,14 +24,11 @@
+ tar --use=${packer} -C ${tmpdir} -cf ${PACKAGE_NAME}-${PACKAGE_VERSION}${packext} --owner=root --group=root ${PACKAGE_NAME}-${PACKAGE_VERSION}/;
+ rm -Rf ${tmpdir};
+
+-dist-hook:
+- tar --use=${packer} -cf ${PACKAGE_NAME}-${PACKAGE_VERSION}${packext} --owner=root --group=root ${distdir}
+-
+ DISTCHECK_CONFIGURE_FLAGS = \
+ --with-ssbindir='$${abs_builddir}/ssbin' \
+ --with-slibdir='$${abs_builddir}/slib' \
+ --enable-la
+
+ DISTCLEANFILES = ${PACKAGE_NAME}-${PACKAGE_VERSION}${packext}
+-EXTRA_DIST = autogen.sh dist/pam_mount.spec LICENSE.GPL2 LICENSE.GPL3 \
++EXTRA_DIST = LICENSE.GPL2 LICENSE.GPL3 \
+ LICENSE.LGPL2 LICENSE.LGPL3
+diff -wbBurN pam_mount-2.13/src/cmt-internal.h pam-mount/src/cmt-internal.h
+--- pam_mount-2.13/src/cmt-internal.h 2011-12-15 16:12:10.000000000 +0400
++++ pam-mount/src/cmt-internal.h 2012-10-11 15:28:24.851553965 +0400
+@@ -3,6 +3,7 @@
+
+ #include <stdbool.h>
+ #include <libHX/string.h>
++#include "libcryptmount.h"
+
+ /**
+ * struct ehd_mount - EHD mount info
+@@ -12,6 +13,7 @@
+ * @loop_device: loop device that was created, if any
+ * @crypto_name: crypto device that was created (basename only)
+ * @crypto_device: full path to the crypto device
++ * @mountpoint: assigned mountpoint
+ */
+ struct ehd_mount_info {
+ char *container;
+@@ -19,25 +21,36 @@
+ char *loop_device;
+ hxmc_t *crypto_name;
+ hxmc_t *crypto_device;
++ hxmc_t *mountpoint;
+ };
+
+ /**
+ * struct ehd_mount_request - mapping and mount request for EHD
+ * @container: path to disk image
++ * @fstype: filesystem type
++ * @mount_opts: mount options for fs
+ * @mountpoint: where to mount the volume on
+ * @fs_cipher: cipher used for filesystem, if any. (cryptsetup name)
+ * @fs_hash: hash used for filesystem, if any. (cryptsetup name)
+ * @key_data: key material/password
+ * @key_size: size of key data, in bytes
+ * @trunc_keysize: extra cryptsetup instruction for truncation (in bytes)
++ * @loop_hook: hook function to run after loop device setup
++ * @crypto_hook: hook function to run after crypto device setup
++ * @hook_priv: user data
+++ * @last_stage: stop after setup of given component
+ * @readonly: whether to create a readonly vfsmount
++ * @allow_discards: allow fs trim requests
+ */
+ struct ehd_mount_request {
+- char *container, *crypto_name, *mountpoint;
++ char *container, *crypto_name, *fstype, *mount_opts, *mountpoint;
+ char *fs_cipher, *fs_hash;
+ void *key_data;
++ ehd_hook_fn_t loop_hook, crypto_hook;
++ void *hook_priv;
+ unsigned int key_size, trunc_keysize;
+- bool readonly;
++ enum ehd_mtreq_stage last_stage;
++ bool readonly, allow_discards;
+ };
+
+ struct ehd_crypto_ops {
+diff -wbBurN pam_mount-2.13/src/crypto.c pam-mount/src/crypto.c
+--- pam_mount-2.13/src/crypto.c 2011-12-15 16:12:10.000000000 +0400
++++ pam-mount/src/crypto.c 2012-10-11 15:28:24.851553965 +0400
+@@ -100,6 +100,9 @@
+ case EHD_MTINFO_LOOPDEV:
+ *static_cast(const char **, ptr) = mt->loop_device;
+ break;
++ case EHD_MTINFO_LOWERDEV:
++ *static_cast(const char **, ptr) = mt->lower_device;
++ break;
+ default:
+ return 0;
+ }
+@@ -129,6 +132,7 @@
+ rq = calloc(1, sizeof(*rq));
+ if (rq == NULL)
+ return NULL;
++ rq->last_stage = EHD_MTREQ_STAGE_MOUNT;
+ return rq;
+ }
+
+@@ -147,7 +151,7 @@
+ {
+ va_list args;
+ const void *orig;
+- void *nv;
++ void *nv = NULL;
+
+ va_start(args, opt);
+ switch (opt) {
+@@ -156,6 +160,8 @@
+ case EHD_MTREQ_MOUNTPOINT:
+ case EHD_MTREQ_FS_CIPHER:
+ case EHD_MTREQ_FS_HASH:
++ case EHD_MTREQ_FSTYPE:
++ case EHD_MTREQ_MOUNT_OPTS:
+ orig = va_arg(args, const char *);
+ nv = HX_strdup(orig);
+ if (nv == NULL && orig != NULL)
+@@ -178,6 +184,21 @@
+ case EHD_MTREQ_READONLY:
+ rq->readonly = va_arg(args, unsigned int);
+ break;
++ case EHD_MTREQ_LOOP_HOOK:
++ rq->loop_hook = va_arg(args, ehd_hook_fn_t);
++ break;
++ case EHD_MTREQ_HOOK_PRIV:
++ rq->hook_priv = va_arg(args, void *);
++ break;
++ case EHD_MTREQ_CRYPTO_HOOK:
++ rq->crypto_hook = va_arg(args, ehd_hook_fn_t);
++ break;
++ case EHD_MTREQ_LAST_STAGE:
++ rq->last_stage = va_arg(args, enum ehd_mtreq_stage);
++ break;
++ case EHD_MTREQ_ALLOW_DISCARDS:
++ rq->allow_discards = va_arg(args, unsigned int);
++ break;
+ }
+ switch (opt) {
+ case EHD_MTREQ_CONTAINER:
+@@ -200,6 +221,14 @@
+ free(rq->fs_hash);
+ rq->fs_hash = nv;
+ break;
++ case EHD_MTREQ_FSTYPE:
++ free(rq->fstype);
++ rq->fstype = nv;
++ break;
++ case EHD_MTREQ_MOUNT_OPTS:
++ free(rq->mount_opts);
++ rq->mount_opts = nv;
++ break;
+ default:
+ break;
+ }
+@@ -210,25 +239,52 @@
+ return -errno;
+ }
+
++static int ehd_wait_for_file(const char *path)
++{
++ static const struct timespec delay = {0, 100000000};
++ unsigned int retries = 50;
++ struct stat sb;
++ bool done = false;
++ int ret;
++
++ /* Nicer way to do these wait loops? libudev? */
++ while (retries-- > 0) {
++ ret = stat(path, &sb);
++ if (ret == 0)
++ break;
++ ret = -errno;
++ if (ret != -ENOENT)
++ return -errno;
++ if (!done) {
++ w4rn("Waiting for %s to appear\n", path);
++ done = true;
++ }
++ fprintf(stderr, ".");
++ nanosleep(&delay, NULL);
++ }
++ if (ret == -ENOENT)
++ w4rn("Device node %s was not created\n", path);
++ return (ret == 0) ? 1 : ret;
++}
++
+ /**
+ * ehd_load - set up crypto device for an EHD container
+ * @req: parameters for setting up the mount
+ * @mt: EHD mount state
+ */
+-EXPORT_SYMBOL int ehd_load(const struct ehd_mount_request *req,
++EXPORT_SYMBOL int ehd_load(struct ehd_mount_request *req,
+ struct ehd_mount_info **mtp)
+ {
+ struct stat sb;
+ int saved_errno, ret;
+ struct ehd_mount_info *mt;
+
+- *mtp = mt = malloc(sizeof(*mt));
+ if (stat(req->container, &sb) < 0) {
+ l0g("Could not stat %s: %s\n", req->container, strerror(errno));
+ return -errno;
+ }
+
+- *mtp = mt = malloc(sizeof(*mt));
++ *mtp = mt = calloc(1, sizeof(*mt));
+ if (mt == NULL)
+ goto out_err;
+ if ((mt->container = HX_strdup(req->container)) == NULL)
+@@ -252,7 +308,19 @@
+ w4rn("Using %s\n", mt->loop_device);
+ mt->lower_device = mt->loop_device;
+ }
++
++ ret = ehd_wait_for_file(mt->loop_device);
++ if (ret <= 0)
++ goto out_ser;
++ }
++
++ if (req->loop_hook != NULL) {
++ ret = req->loop_hook(req, mt, req->hook_priv);
++ if (ret <= 0)
++ goto out_ser;
+ }
++ if (req->last_stage == EHD_MTREQ_STAGE_LOOP)
++ return 1;
+
+ #ifdef HAVE_LIBCRYPTSETUP
+ ret = ehd_dmcrypt_ops.load(req, mt);
+@@ -264,6 +332,18 @@
+ if (ret <= 0)
+ goto out_ser;
+
++ ret = ehd_wait_for_file(mt->crypto_device);
++ if (ret <= 0)
++ goto out_ser;
++
++ if (req->crypto_hook != NULL) {
++ ret = req->crypto_hook(req, mt, req->hook_priv);
++ if (ret <= 0)
++ goto out_ser;
++ }
++ if (req->last_stage == EHD_MTREQ_STAGE_CRYPTO)
++ return 1;
++
+ return ret;
+
+ out_err:
+@@ -294,6 +374,7 @@
+ {
+ int ret, ret2;
+
++ if (mt->crypto_device != NULL) {
+ #ifdef HAVE_LIBCRYPTSETUP
+ ret = ehd_dmcrypt_ops.unload(mt);
+ #elif defined(HAVE_DEV_CGDVAR_H)
+@@ -301,6 +382,9 @@
+ #else
+ ret = -EOPNOTSUPP;
+ #endif
++ } else {
++ ret = 1;
++ }
+ /* Try to free loop device even if cryptsetup remove failed */
+ if (mt->loop_device != NULL) {
+ ret2 = ehd_loop_release(mt->loop_device);
+@@ -445,7 +529,7 @@
+ {
+ va_list args;
+ const void *orig;
+- void *nv;
++ void *nv = NULL;
+
+ va_start(args, opt);
+ switch (opt) {
+diff -wbBurN pam_mount-2.13/src/crypto-dmc.c pam-mount/src/crypto-dmc.c
+--- pam_mount-2.13/src/crypto-dmc.c 2011-12-15 16:12:10.000000000 +0400
++++ pam-mount/src/crypto-dmc.c 2012-10-11 15:28:24.851553965 +0400
+@@ -97,6 +97,14 @@
+ }
+ if (req->readonly)
+ flags |= CRYPT_ACTIVATE_READONLY;
++ if (req->allow_discards) {
++#ifdef CRYPT_ACTIVATE_ALLOW_DISCARDS
++ flags |= CRYPT_ACTIVATE_ALLOW_DISCARDS;
++#else
++ fprintf(stderr, "CRYPT_ACTIVATE_ALLOW_DISCARDS requested, "
++ "but not provided by your libcryptsetup.\n");
++#endif
++ }
+
+ ret = crypt_load(cd, CRYPT_LUKS1, NULL);
+ if (ret == 0) {
+diff -wbBurN pam_mount-2.13/src/ehd.c pam-mount/src/ehd.c
+--- pam_mount-2.13/src/ehd.c 2011-12-15 16:12:10.000000000 +0400
++++ pam-mount/src/ehd.c 2012-10-11 15:28:24.851553965 +0400
+@@ -41,8 +41,6 @@
+ /**
+ * @size: container size in bytes
+ * @path: store container at this path
+- * @loop_dev: loop device in use (may be %NULL)
+- * @device: pointer to either @path or @loop_dev as crypto demands
+ * @fstype: initialize container with this filesystem
+ * @cipher: cipher specification as understood by cryptsetup
+ * @keybits: block size, as understood by cryptsetup and the cipher
+@@ -51,7 +49,7 @@
+ */
+ struct container_ctl {
+ unsigned long long size;
+- char *path, *loop_dev, *device, *fstype, *cipher, *hash, *user;
++ char *path, *fstype, *cipher, *hash, *user;
+ unsigned int keybits, skip_random, uid;
+ bool blkdev;
+ };
+@@ -61,11 +59,12 @@
+ * @force_level: number of "-f"s passed
+ * @interactive: if stdin is a tty
+ * @cont: container control substructure
+- * @fskey: fskey control substructure
++ * @password: master key password
+ */
+ struct ehd_ctl {
+ unsigned int force_level;
+ struct container_ctl cont;
++ const char *password;
+ bool interactive;
+ };
+
+@@ -239,16 +238,23 @@
+ return ret;
+ }
+
+-static bool ehd_mkfs(const struct ehd_ctl *pg, const hxmc_t *crypto_device)
++static bool ehd_mkfs(struct ehd_mount_request *rq,
++ struct ehd_mount_info *mtinfo, void *priv)
+ {
++ const struct ehd_ctl *pg = priv;
+ const struct container_ctl *cont = &pg->cont;
++ const char *crypto_device = NULL;
++ int ret;
++
++ ehd_mtinfo_get(mtinfo, EHD_MTINFO_CRYPTODEV, &crypto_device);
++ if (!cont->skip_random)
++ ehd_xfer2(crypto_device, cont->size);
+
+ hxmc_t *fsprog = HXmc_strinit("mkfs.");
+ HXmc_strcat(&fsprog, cont->fstype);
+ const char *const argv[] = {fsprog, crypto_device, NULL};
+- int ret;
+
+- fprintf(stderr, "-- Calling %s\n", fsprog);
++ fprintf(stderr, "-- Calling %s %s\n", fsprog, crypto_device);
+ if ((ret = HXproc_run_sync(argv, HXPROC_VERBOSE)) < 0 || ret != 0)
+ fprintf(stderr, "%s failed with run_sync status %d\n",
+ fsprog, ret);
+@@ -273,24 +279,34 @@
+ HX_strlcpy(cipher_mode, p, cm_size);
+ }
+
+-static int ehd_init_volume_luks(struct ehd_ctl *pg, const char *password)
++static int ehd_init_volume_luks(struct ehd_mount_request *rq,
++ struct ehd_mount_info *mtinfo, void *priv)
+ {
+ /*
+ * Pick what? WP specifies that XTS has a wider support range than
+ * ESSIV. But XTS is also double complexity due to the double key,
+ * without adding anything of value.
+ */
++ struct ehd_ctl *pg = priv;
+ struct container_ctl *cont = &pg->cont;
+ char cipher[32], cipher_mode[32];
+ struct crypt_params_luks1 format_params = {.hash = cont->hash};
+ struct crypt_device *cd = NULL;
++ const char *lower_dev = NULL;
+ int ret;
+
++ BUILD_BUG_ON(!__builtin_types_compatible_p(
++ __typeof__(&ehd_init_volume_luks), ehd_hook_fn_t));
++
+ ehd_parse_name(cont->cipher, cipher, sizeof(cipher),
+ cipher_mode, sizeof(cipher_mode));
+- ret = crypt_init(&cd, cont->device);
++ ret = ehd_mtinfo_get(mtinfo, EHD_MTINFO_LOWERDEV, &lower_dev);
++ if (ret <= 0 || lower_dev == NULL)
++ goto out;
++ ret = crypt_init(&cd, lower_dev);
+ if (ret < 0) {
+- fprintf(stderr, "crypt_init: %s\n", strerror(-ret));
++ fprintf(stderr, "crypt_init: %s: %s\n",
++ lower_dev, strerror(-ret));
+ goto out;
+ }
+ ret = crypt_format(cd, CRYPT_LUKS1, cipher, cipher_mode, NULL, NULL,
+@@ -300,7 +316,7 @@
+ goto out2;
+ }
+ ret = crypt_keyslot_add_by_volume_key(cd, CRYPT_ANY_SLOT, NULL, 0,
+- password, strlen(password));
++ pg->password, strlen(pg->password));
+ if (ret < 0) {
+ fprintf(stderr, "add_by_volume_key: %s\n", strerror(-ret));
+ goto out2;
+@@ -315,70 +331,53 @@
+ /**
+ * ehd_init_volume - set up loop device association if necessary
+ */
+-static bool ehd_init_volume(struct ehd_ctl *pg, const char *password)
++static bool ehd_init_volume(struct ehd_ctl *pg)
+ {
+ struct container_ctl *cont = &pg->cont;
+ struct ehd_mount_info *mount_info;
+ struct ehd_mount_request *mount_request;
+- bool f_ret = false;
+ int ret;
+
+- if (cont->blkdev) {
+- cont->device = cont->path;
+- } else {
+- /*
+- * Need manual setup of loop device here, since ehd_load
+- * always does a crypt mount too, which we do not have yet.
+- */
+- ret = ehd_loop_setup(cont->path, &cont->loop_dev, EHD_LOSETUP_RW);
+- if (ret == 0) {
+- fprintf(stderr, "loop_setup: error: no free loop "
+- "devices\n");
+- return false;
+- } else if (ret < 0) {
+- fprintf(stderr, "loop_setup: error: %s\n",
+- strerror(-ret));
+- return false;
+- }
+- cont->device = cont->loop_dev;
+- }
+-
+- ehd_init_volume_luks(pg, password);
+- ret = ehd_loop_release(cont->device);
+- if (ret <= 0)
+- fprintf(stderr, "loop_release: warning: %s\n", strerror(-ret));
+-
+ mount_request = ehd_mtreq_new();
+ if (mount_request == NULL)
+ return -errno;
+ ret = ehd_mtreq_set(mount_request, EHD_MTREQ_CONTAINER, cont->path);
+ if (ret < 0)
+ goto out;
+- ret = ehd_mtreq_set(mount_request, EHD_MTREQ_KEY_SIZE, strlen(password));
++ ret = ehd_mtreq_set(mount_request, EHD_MTREQ_KEY_SIZE,
++ strlen(pg->password));
+ if (ret < 0)
+ goto out;
+- ret = ehd_mtreq_set(mount_request, EHD_MTREQ_KEY_DATA, password);
++ ret = ehd_mtreq_set(mount_request, EHD_MTREQ_KEY_DATA, pg->password);
+ if (ret < 0)
+ goto out;
+ ret = ehd_mtreq_set(mount_request, EHD_MTREQ_READONLY, EHD_LOSETUP_RW);
+ if (ret < 0)
+ goto out;
++ ret = ehd_mtreq_set(mount_request, EHD_MTREQ_LOOP_HOOK,
++ ehd_init_volume_luks);
++ if (ret < 0)
++ goto out;
++ ret = ehd_mtreq_set(mount_request, EHD_MTREQ_HOOK_PRIV, pg);
++ if (ret < 0)
++ goto out;
++ ret = ehd_mtreq_set(mount_request, EHD_MTREQ_CRYPTO_HOOK, ehd_mkfs);
++ if (ret < 0)
++ goto out;
++ /* We don't need to mount it */
++ ret = ehd_mtreq_set(mount_request, EHD_MTREQ_LAST_STAGE,
++ EHD_MTREQ_STAGE_CRYPTO);
++ if (ret < 0)
++ goto out;
+
+- if (ehd_load(mount_request, &mount_info) > 0) {
+- const char *crypto_device = NULL;
+- ehd_mtinfo_get(mount_info, EHD_MTINFO_CRYPTODEV, &crypto_device);
+- if (!cont->skip_random)
+- ehd_xfer2(crypto_device, cont->size);
+- f_ret = ehd_mkfs(pg, crypto_device);
++ ret = ehd_load(mount_request, &mount_info);
++ if (ret > 0) {
+ ret = ehd_unload(mount_info);
+- /* If mkfs failed, use its code. */
+ ehd_mtinfo_free(mount_info);
+- if (f_ret)
+- f_ret = ret > 0;
+ }
+ out:
+ ehd_mtreq_free(mount_request);
+- return f_ret;
++ return ret > 0;
+ }
+
+ static void ehd_final_printout(const struct ehd_ctl *pg)
+@@ -463,16 +462,15 @@
+ HX_getl(&tmp, stdin);
+ HX_chomp(tmp);
+ s = strtoul(tmp, NULL, 0);
++ s <<= 20; /* megabytes -> bytes */
+ } while (*tmp == '\0' || s == 0);
+ cont->size = s;
+ }
+
+- if (strcmp(cont->fstype, "xfs") == 0 && cont->size < 16)
++ if (strcmp(cont->fstype, "xfs") == 0 && cont->size < 16*1048576)
+ fprintf(stderr, "Warning: XFS volumes need to be "
+ "at least 16 MB\n");
+
+- cont->size <<= 20; /* megabytes -> bytes */
+-
+ if (cont->cipher == NULL) {
+ cont->cipher = HX_strdup(ehd_default_dmcipher);
+ if (cont->keybits == 0)
+@@ -544,6 +542,7 @@
+ HXOPT_ERR_SUCCESS)
+ return false;
+
++ cont->size <<= 20; /* mb -> b */
+ pg->interactive = isatty(fileno(stdin));
+ return ehd_fill_options_container(pg);
+ }
+@@ -574,8 +573,8 @@
+ goto out;
+ }
+
+- ret = ehd_init_volume(pg, password != NULL ? password : "") ?
+- EXIT_SUCCESS : EXIT_FAILURE;
++ pg->password = (password != NULL) ? password : "";
++ ret = ehd_init_volume(pg) ? EXIT_SUCCESS : EXIT_FAILURE;
+ if (ret == EXIT_SUCCESS)
+ ehd_final_printout(pg);
+
+diff -wbBurN pam_mount-2.13/src/ismnt.c pam-mount/src/ismnt.c
+--- pam_mount-2.13/src/ismnt.c 2011-12-15 16:12:10.000000000 +0400
++++ pam-mount/src/ismnt.c 1970-01-01 03:00:00.000000000 +0300
+@@ -1,45 +0,0 @@
+-/*
+- * Internal diagnostic tool to debug pmt mtab.c
+- * Copyright © Jan Engelhardt, 2009
+- *
+- * This file is part of pam_mount; you can redistribute it and/or
+- * modify it under the terms of the GNU Lesser General Public License
+- * as published by the Free Software Foundation; either version 2.1
+- * of the License, or (at your option) any later version.
+- */
+-#include <errno.h>
+-#include <stdio.h>
+-#include <stdlib.h>
+-#include <string.h>
+-#include <libHX/init.h>
+-#include "pam_mount.h"
+-
+-int main(int argc, const char **argv)
+-{
+- int ret;
+-
+- ret = HX_init();
+- if (ret <= 0) {
+- fprintf(stderr, "HX_init: %s\n", strerror(errno));
+- abort();
+- }
+-
+- if (argc < 3) {
+- fprintf(stderr, "Usage: %s dev mountpoint\n", *argv);
+- return EXIT_FAILURE;
+- }
+-
+- ret = pmt_cmtab_mounted(argv[1], argv[2]);
+- if (ret < 0) {
+- fprintf(stderr, "%s\n", strerror(-ret));
+- ret = 2;
+- } else if (ret == 0) {
+- printf("Not mounted\n");
+- ret = EXIT_FAILURE;
+- } else {
+- printf("Mounted\n");
+- ret = EXIT_SUCCESS;
+- }
+- HX_exit();
+- return ret;
+-}
+diff -wbBurN pam_mount-2.13/src/libcryptmount.h pam-mount/src/libcryptmount.h
+--- pam_mount-2.13/src/libcryptmount.h 2011-12-15 16:12:10.000000000 +0400
++++ pam-mount/src/libcryptmount.h 2012-10-11 15:28:24.851553965 +0400
+@@ -69,6 +69,13 @@
+ EHD_MTREQ_TRUNC_KEYSIZE,
+ EHD_MTREQ_READONLY,
+ EHD_MTREQ_CRYPTONAME,
++ EHD_MTREQ_LOOP_HOOK,
++ EHD_MTREQ_HOOK_PRIV,
++ EHD_MTREQ_CRYPTO_HOOK,
++ EHD_MTREQ_LAST_STAGE,
++ EHD_MTREQ_FSTYPE,
++ EHD_MTREQ_MOUNT_OPTS,
++ EHD_MTREQ_ALLOW_DISCARDS,
+ };
+
+ enum ehd_mtinfo_opt {
+@@ -76,11 +83,22 @@
+ EHD_MTINFO_CRYPTONAME,
+ EHD_MTINFO_CRYPTODEV,
+ EHD_MTINFO_LOOPDEV,
++ EHD_MTINFO_LOWERDEV,
++};
++
++enum ehd_mtreq_stage {
++ EHD_MTREQ_STAGE_NONE,
++ EHD_MTREQ_STAGE_LOOP,
++ EHD_MTREQ_STAGE_CRYPTO,
++ EHD_MTREQ_STAGE_MOUNT,
+ };
+
+ struct ehd_mount_info;
+ struct ehd_mount_request;
+
++typedef int (*ehd_hook_fn_t)(struct ehd_mount_request *,
++ struct ehd_mount_info *, void *);
++
+ extern int cryptmount_init(void);
+ extern void cryptmount_exit(void);
+
+@@ -91,7 +109,7 @@
+ extern int ehd_mtinfo_get(struct ehd_mount_info *, enum ehd_mtinfo_opt, void *);
+ extern void ehd_mtinfo_free(struct ehd_mount_info *);
+
+-extern int ehd_load(const struct ehd_mount_request *, struct ehd_mount_info **);
++extern int ehd_load(struct ehd_mount_request *, struct ehd_mount_info **);
+ extern int ehd_unload(struct ehd_mount_info *);
+ extern int ehd_is_luks(const char *, bool);
+
+diff -wbBurN pam_mount-2.13/src/Makefile.am pam-mount/src/Makefile.am
+--- pam_mount-2.13/src/Makefile.am 2011-12-15 16:12:10.000000000 +0400
++++ pam-mount/src/Makefile.am 2012-10-11 15:28:24.851553965 +0400
+@@ -8,9 +8,11 @@
+ moduledir = @PAM_MODDIR@
+ module_LTLIBRARIES = pam_mount.la
+ sbin_PROGRAMS = pmvarrun
++if HAVE_LIBCRYPTSETUP
+ sbin_PROGRAMS += pmt-ehd
++endif
+ ssbin_PROGRAMS = mount.crypt
+-noinst_PROGRAMS = autoloop ismnt
++noinst_PROGRAMS = autoloop
+ noinst_SCRIPTS = umount.crypt
+
+ lib_LTLIBRARIES = libcryptmount.la
+@@ -64,10 +66,6 @@
+ autoloop_SOURCES = autoloop.c
+ autoloop_LDADD = libcryptmount.la ${libHX_LIBS}
+
+-ismnt_SOURCES = ismnt.c log.c
+-ismnt_CFLAGS = ${AM_CFLAGS}
+-ismnt_LDADD = libpmt_mtab.la
+-
+ #
+ # mount helpers
+ #
+@@ -75,7 +73,7 @@
+ mount_crypt_LDADD = libcryptmount.la libpmt_mtab.la ${libHX_LIBS}
+
+ pmt_ehd_SOURCES = ehd.c bdev.c misc.c spawn.c
+-pmt_ehd_LDADD = libcryptmount.la ${libHX_LIBS}
++pmt_ehd_LDADD = libcryptmount.la ${libHX_LIBS} ${libcryptsetup_LIBS}
+
+ #
+ # runtime helpers
+@@ -83,10 +81,10 @@
+ pmvarrun_SOURCES = pmvarrun.c
+ pmvarrun_LDADD = libcryptmount.la ${libHX_LIBS}
+
+-EXTRA_DIST = misc.h mount.h pam_mount.h readconfig.h spawn.h
++EXTRA_DIST = cmt-internal.h libcryptmount.h pam_mount.h libcryptmount.map
+
+ umount.crypt${EXEEXT}: mount.crypt${EXEEXT}
+- -${LN_S} $^ $@;
++ -${LN_S} -f $^ $@;
+
+ if !KEEP_LA
+ install-data-hook:
+diff -wbBurN pam_mount-2.13/src/misc.c pam-mount/src/misc.c
+--- pam_mount-2.13/src/misc.c 2011-12-15 16:12:10.000000000 +0400
++++ pam-mount/src/misc.c 2012-10-11 15:28:24.851553965 +0400
+@@ -28,18 +28,6 @@
+ struct HXbtree;
+
+ /**
+- * misc_dump_id - print user IDs
+- */
+-void misc_dump_id(const char *where)
+-{
+- w4rn("%s: (ruid/rgid=%u/%u, e=%u/%u)\n", where,
+- static_cast(unsigned int, getuid()),
+- static_cast(unsigned int, getgid()),
+- static_cast(unsigned int, geteuid()),
+- static_cast(unsigned int, getegid()));
+-}
+-
+-/**
+ * pmt_fileop_exists -
+ * @file: file to check
+ *
+@@ -47,7 +35,7 @@
+ * non-zero if that was successful. Returns 0 for error. %errno will be set
+ * in case of error.
+ */
+-int pmt_fileop_exists(const char *file)
++bool pmt_fileop_exists(const char *file)
+ {
+ struct stat sb;
+ assert(file != NULL);
+@@ -61,7 +49,7 @@
+ * Check if a path is a regular file and return positive non-zero if that was
+ * successful. Returns 0 for error. %errno will be set in case of error.
+ */
+-int pmt_fileop_isreg(const char *path)
++bool pmt_fileop_isreg(const char *path)
+ {
+ struct stat sb;
+
+@@ -75,11 +63,10 @@
+ * @user: user to check for
+ * @file: file to check
+ *
+- * Checks whether @user owns @file. Returns positive non-zero if this is the
+- * case, otherwise zero. If an error occurred, zero is returned and %errno
+- * is set. (For the success case, %errno is undefined.)
++ * Checks whether @user owns @file. If an error occurred, false is returned and
++ * %errno is set. (For the success case, %errno is undefined.)
+ */
+-int pmt_fileop_owns(const char *user, const char *file)
++bool pmt_fileop_owns(const char *user, const char *file)
+ {
+ struct stat filestat;
+ struct passwd *userinfo;
+@@ -90,12 +77,12 @@
+ if ((userinfo = getpwnam(user)) == NULL) {
+ l0g("user %s could not be translated to UID\n",
+ user);
+- return 0;
++ return false;
+ }
+
+ if (stat(file, &filestat) != 0) {
+ w4rn("file %s could not be stat'ed\n", file);
+- return 0;
++ return false;
+ }
+
+ return filestat.st_uid == userinfo->pw_uid &&
+diff -wbBurN pam_mount-2.13/src/mount.c pam-mount/src/mount.c
+--- pam_mount-2.13/src/mount.c 2011-12-15 16:12:10.000000000 +0400
++++ pam-mount/src/mount.c 2012-10-11 15:28:24.851553965 +0400
+@@ -295,6 +295,7 @@
+ dtmp = HXmc_strinit(d);
+ if (dtmp == NULL || (!is_file && HXmc_strcat(&dtmp, "/") == NULL)) {
+ l0g("HXmc_strinit: %s\n", strerror(errno));
++ HXmc_free(dtmp);
+ return false;
+ }
+
+@@ -350,6 +351,7 @@
+ w4rn("chown %s -> %ld:%ld\n", dtmp,
+ static_cast(long, pe->pw_uid),
+ static_cast(long, pe->pw_gid));
++ *last = '/';
+ }
+ HXmc_free(dtmp);
+
+@@ -435,10 +437,11 @@
+ ret = proc.p_exited && proc.p_status == 0;
+
+ out:
+- if (config->mkmntpoint && config->rmdir_mntpt && vpt->created_mntpt)
++ if (vpt->created_mntpt && config->rmdir_mntpt)
+ if (rmdir(vpt->mountpoint) < 0)
+ /* non-fatal, but warn */
+- w4rn("could not remove %s\n", vpt->mountpoint);
++ w4rn("could not remove %s: %s\n", vpt->mountpoint,
++ strerror(errno));
+ return ret;
+ }
+
+@@ -577,9 +580,14 @@
+ if (ret < 0)
+ goto out;
+ ret = ehd_keydec_run(dp, result);
+- if (ret != EHD_KEYDEC_SUCCESS)
+- l0g("ehd_keydec_run: %s\n",
+- ehd_keydec_strerror(ret));
++ if (ret == EHD_KEYDEC_NODIGEST)
++ l0g("ehd_keydec_run: %s: \"%s\"\n", ehd_keydec_strerror(ret),
++ vol->fs_key_hash);
++ else if (ret == EHD_KEYDEC_NOCIPHER)
++ l0g("ehd_keydec_run: %s: \"%s\"\n", ehd_keydec_strerror(ret),
++ vol->fs_key_cipher);
++ else if (ret != EHD_KEYDEC_SUCCESS)
++ l0g("ehd_keydec_run: %s\n", ehd_keydec_strerror(ret));
+ out:
+ ehd_kdreq_free(dp);
+ return ret;
+@@ -601,7 +609,7 @@
+ struct HXdeque *argv;
+ struct HXproc proc;
+ const char *mount_user;
+- hxmc_t *ll_password;
++ hxmc_t *ll_password = NULL;
+ int ret;
+
+ assert(vinfo != NULL);
+@@ -642,8 +650,11 @@
+ * any openssl decryption. Without %CMD_CRYPTMOUNT however,
+ * we have to do this ourselves.
+ */
++ w4rn("Not a crypto-type volume. Will decode OpenSSL key.\n");
+ ret = pmt_decrypt_keyfile(vpt, password, &ll_password);
+ } else {
++ w4rn("This is a crypto-type volume. "
++ "Key decoding deferred to mount.crypt.\n");
+ ll_password = HXmc_strinit(password);
+ }
+ if (ll_password == NULL)
+@@ -698,7 +709,8 @@
+ return 0;
+ }
+
+- if (!proc.p_exited || proc.p_status != 0) {
++ if ((!proc.p_exited || proc.p_status != 0) &&
++ vpt->created_mntpt && config->rmdir_mntpt) {
+ /*
+ * Remove mountpoint if mount failed, to flag unavailability
+ * of service (e.g. when mntpt is the user's home directory).
+diff -wbBurN pam_mount-2.13/src/mtab.c pam-mount/src/mtab.c
+--- pam_mount-2.13/src/mtab.c 2011-12-15 16:12:10.000000000 +0400
++++ pam-mount/src/mtab.c 2012-10-11 15:28:24.851553965 +0400
+@@ -35,6 +35,7 @@
+ #include <libHX/defs.h>
+ #include <libHX/io.h>
+ #include <libHX/string.h>
++#include "cmt-internal.h"
+ #include "libcryptmount.h"
+ #include "pam_mount.h"
+
+@@ -191,28 +192,27 @@
+ return ret;
+ }
+
+-int pmt_cmtab_add(const char *mountpoint, const char *container,
+- const char *loop_device, const char *crypto_device)
++int pmt_cmtab_add(struct ehd_mount_info *mt)
+ {
++ const char *loop_device, *crypto_device;
+ hxmc_t *line;
+ int ret;
+
+- if (container == NULL)
++ if (mt->container == NULL)
+ return -EINVAL;
+- if (loop_device == NULL)
+- loop_device = "-";
+- if (crypto_device == NULL)
+- crypto_device = "-";
++ loop_device = (mt->loop_device == NULL) ? "-" : mt->loop_device;
++ crypto_device = (mt->crypto_device == NULL) ? "-" : mt->crypto_device;
+
+ /* Preallocate just the normal size */
+- line = HXmc_meminit(NULL, strlen(mountpoint) + strlen(container) +
+- strlen(loop_device) + strlen(crypto_device) + 5);
++ line = HXmc_meminit(NULL, strlen(mt->mountpoint) +
++ strlen(mt->container) + strlen(loop_device) +
++ strlen(crypto_device) + 5);
+ if (line == NULL)
+ return -errno;
+
+- mt_esccat(&line, mountpoint);
++ mt_esccat(&line, mt->mountpoint);
+ HXmc_strcat(&line, "\t");
+- mt_esccat(&line, container);
++ mt_esccat(&line, mt->container);
+ HXmc_strcat(&line, "\t");
+ mt_esccat(&line, loop_device);
+ HXmc_strcat(&line, "\t");
+diff -wbBurN pam_mount-2.13/src/mtcrypt.c pam-mount/src/mtcrypt.c
+--- pam_mount-2.13/src/mtcrypt.c 2011-12-15 16:12:10.000000000 +0400
++++ pam-mount/src/mtcrypt.c 2012-10-11 15:28:24.851553965 +0400
+@@ -44,6 +44,7 @@
+ * @blkdev: true if @container is a block device
+ * @fsck: true if fsck should be performed
+ * @remount: issue a remount
++ * @allow_discards: allow fs trim requests
+ */
+ struct mount_options {
+ hxmc_t *object, *container, *mountpoint;
+@@ -53,11 +54,11 @@
+ hxmc_t *fsk_password, *extra_opts, *crypto_device;
+ char *loop_device;
+ unsigned int no_update, readonly, trunc_keysize;
+- int dm_timeout;
+ bool is_cont;
+ bool blkdev;
+ bool fsck;
+ bool remount;
++ bool allow_discards;
+ };
+
+ /**
+@@ -120,9 +121,7 @@
+ else if (ret < EHD_SECURITY_UNSPEC)
+ fprintf(stderr, "Hash \"%s\" is considered "
+ "insecure.\n", value);
+- } else if (strcmp(key, "dm-timeout") == 0)
+- mo->dm_timeout = strtoul(value, NULL, 0);
+- else if (strcmp(key, "fstype") == 0)
++ } else if (strcmp(key, "fstype") == 0)
+ mo->fstype = value;
+ else if (strcmp(key, "keyfile") == 0)
+ mo->fsk_file = value;
+@@ -165,6 +164,8 @@
+ mo->readonly = EHD_LOSETUP_RO;
+ else if (strcmp(key, "rw") == 0)
+ mo->readonly = EHD_LOSETUP_RW;
++ else if (strcmp(key, "discard") == 0)
++ mo->allow_discards = true;
+ }
+
+ if (*passthru != '\0') {
+@@ -397,6 +398,26 @@
+ return ret;
+ }
+
++static int mtcr_fsck(struct ehd_mount_request *rq,
++ struct ehd_mount_info *mtinfo)
++{
++ const char *const fsck_args[4] =
++ {"fsck", "-p", mtinfo->crypto_device, NULL};
++ int ret;
++
++ arglist_llog(fsck_args);
++ ret = HXproc_run_sync(fsck_args, HXPROC_VERBOSE);
++ /*
++ * Return codes higher than 1 indicate that manual intervention
++ * is required, therefore abort the mount/login.
++ * Lower than 0: internal error (e.g. fork).
++ */
++ if (ret != 0 && ret != 1)
++ fprintf(stderr, "Automatic fsck failed, manual intervention "
++ "required, run_status/exit status %d\n", ret);
++ return ret == 0;
++}
++
+ /**
+ * mtcr_mount
+ *
+@@ -405,8 +426,6 @@
+ static int mtcr_mount(struct mount_options *opt)
+ {
+ const char *mount_args[8];
+- const char *fsck_args[4];
+- struct stat sb;
+ hxmc_t *key = NULL;
+ int ret, argk;
+ struct ehd_mount_info *mount_info;
+@@ -433,6 +452,10 @@
+ ret = ehd_mtreq_set(mount_request, EHD_MTREQ_READONLY, opt->readonly);
+ if (ret < 0)
+ goto out_r;
++ ret = ehd_mtreq_set(mount_request, EHD_MTREQ_ALLOW_DISCARDS,
++ opt->allow_discards);
++ if (ret < 0)
++ goto out_r;
+ /* Hack for CRYPT_PLAIN: default to 256 */
+ trunc_keysize = 256 / CHAR_BIT;
+ ret = ehd_mtreq_set(mount_request, EHD_MTREQ_TRUNC_KEYSIZE, trunc_keysize);
+@@ -482,6 +505,12 @@
+ if (ret < 0)
+ goto out_r;
+ }
++ if (opt->fsck) {
++ ret = ehd_mtreq_set(mount_request, EHD_MTREQ_CRYPTO_HOOK,
++ mtcr_fsck);
++ if (ret < 0)
++ goto out_r;
++ }
+
+ w4rn("keysize=%u trunc_keysize=%u\n", key_size, trunc_keysize);
+ if ((ret = ehd_load(mount_request, &mount_info)) < 0) {
+@@ -490,44 +519,6 @@
+ } else if (ret == 0) {
+ goto out_z;
+ }
+- if (mount_info->crypto_device == NULL) {
+- if (mtcr_debug)
+- fprintf(stderr, "No crypto device assigned\n");
+- ehd_unload(mount_info);
+- ehd_mtinfo_free(mount_info);
+- goto out_z;
+- }
+-
+- opt->dm_timeout *= 3;
+- while (stat(mount_info->crypto_device, &sb) < 0 && errno == ENOENT &&
+- opt->dm_timeout-- > 0)
+- usleep(333333);
+-
+- if (opt->fsck) {
+- argk = 0;
+- fsck_args[argk++] = "fsck";
+- fsck_args[argk++] = "-p";
+- fsck_args[argk++] = mount_info->crypto_device;
+- fsck_args[argk] = NULL;
+- assert(argk < ARRAY_SIZE(fsck_args));
+-
+- arglist_llog(fsck_args);
+- ret = HXproc_run_sync(fsck_args, HXPROC_VERBOSE);
+-
+- /*
+- * Return codes higher than 1 indicate that manual intervention
+- * is required, therefore abort the mount/login.
+- * Lower than 0: internal error (e.g. fork).
+- */
+- if (ret != 0 && ret != 1) {
+- fprintf(stderr, "Automatic fsck failed, manual "
+- "intervention required, run_sync status %d\n",
+- ret);
+- ehd_unload(mount_info);
+- ehd_mtinfo_free(mount_info);
+- goto out_z;
+- }
+- }
+
+ /* candidate for replacement by some libmount calls, I guess. */
+ argk = 0;
+@@ -550,19 +541,24 @@
+ fprintf(stderr, "mount failed with run_sync status %d\n", ret);
+ ehd_unload(mount_info);
+ ret = 0;
+- } else if ((ret = pmt_cmtab_add(opt->mountpoint,
+- mount_info->container, mount_info->loop_device,
+- mount_info->crypto_device)) <= 0) {
++ goto out_i;
++ }
++ ret = HX_realpath(&mount_info->mountpoint, opt->mountpoint,
++ HX_REALPATH_DEFAULT | HX_REALPATH_ABSOLUTE);
++ if (ret <= 0)
++ goto out_i;
++ if ((ret = pmt_cmtab_add(mount_info)) <= 0) {
+ fprintf(stderr, "pmt_cmtab_add: %s\n", strerror(errno));
+ /* ignore error on cmtab - let user have his crypto */
+ } else if (opt->no_update) {
+ /* awesome logic */;
+ } else {
+- pmt_smtab_add(mount_info->container, opt->mountpoint,
++ pmt_smtab_add(mount_info->container, mount_info->mountpoint,
+ "crypt", (opt->extra_opts != NULL) ?
+ opt->extra_opts : "defaults");
+ }
+
++ out_i:
+ ehd_mtinfo_free(mount_info);
+ return ret;
+
+diff -wbBurN pam_mount-2.13/src/pam_mount.c pam-mount/src/pam_mount.c
+--- pam_mount-2.13/src/pam_mount.c 2011-12-15 16:12:10.000000000 +0400
++++ pam-mount/src/pam_mount.c 2012-10-11 15:28:24.851553965 +0400
+@@ -526,6 +526,20 @@
+ return ret;
+ }
+
++static void assert_root(void)
++{
++ /*
++ * I know checking for 0 is rather unflexible, but it does - so far -
++ * account for all the bugreports involving insufficient permissions.
++ */
++ if (geteuid() == 0)
++ return;
++ l0g("*** PAM_MOUNT WAS INVOKED WITH INSUFFICIENT PRIVILEGES. (euid=%ld)\n",
++ static_cast(long, geteuid()));
++ l0g("*** THIS IS A BUG OF THE CALLER. CONSULT YOUR DISTRO.\n");
++ l0g("*** Also see bugs.txt in the pam_mount source tarball/website documentation.\n");
++}
++
+ /**
+ * pam_sm_open_session -
+ * @pamh: PAM handle
+@@ -589,7 +603,7 @@
+ /* There are some volumes, so grab a password. */
+ system_authtok = ses_grab_authtok(pamh);
+
+- misc_dump_id("Session open");
++ assert_root();
+ envpath_init(Config.path);
+ ret = process_volumes(&Config, system_authtok);
+
+@@ -690,12 +704,12 @@
+ l0g("libHX init failed: %s\n", strerror(errno));
+ ret = PAM_SUCCESS;
+ w4rn("received order to close things\n");
++ assert_root();
+ if (Config.volume_list.items == 0) {
+ w4rn("No volumes to umount\n");
+ goto out;
+ }
+
+- misc_dump_id("Session close");
+ /*
+ * call pam_get_user() again because ssh calls PAM fns from seperate
+ * processes.
+diff -wbBurN pam_mount-2.13/src/pam_mount.h pam-mount/src/pam_mount.h
+--- pam_mount-2.13/src/pam_mount.h 2011-12-15 16:12:10.000000000 +0400
++++ pam-mount/src/pam_mount.h 2012-10-11 15:28:24.851553965 +0400
+@@ -156,10 +156,9 @@
+ extern void kvplist_genocide(struct HXclist_head *);
+ extern hxmc_t *kvplist_to_str(const struct HXclist_head *);
+ extern void misc_add_ntdom(struct HXformat_map *, const char *);
+-extern void misc_dump_id(const char *);
+-extern int pmt_fileop_exists(const char *);
+-extern int pmt_fileop_isreg(const char *);
+-extern int pmt_fileop_owns(const char *, const char *);
++extern bool pmt_fileop_exists(const char *);
++extern bool pmt_fileop_isreg(const char *);
++extern bool pmt_fileop_owns(const char *, const char *);
+ extern char *relookup_user(const char *);
+ extern long str_to_long(const char *);
+ extern char *xstrdup(const char *);
+@@ -187,13 +186,14 @@
+ PMT_BY_CRYPTODEV = 1 << 1,
+ };
+
++struct ehd_mount_info;
++
+ extern int pmt_smtab_add(const char *, const char *,
+ const char *, const char *);
+ extern int pmt_smtab_remove(const char *, enum smtab_field);
+ extern int pmt_smtab_mounted(const char *, const char *,
+ int (*)(const char *, const char *));
+-extern int pmt_cmtab_add(const char *, const char *,
+- const char *, const char *);
++extern int pmt_cmtab_add(struct ehd_mount_info *);
+ extern int pmt_cmtab_get(const char *, enum cmtab_field,
+ char **, char **, char **, char **);
+ extern int pmt_cmtab_remove(const char *);
+diff -wbBurN pam_mount-2.13/src/rdconf1.c pam-mount/src/rdconf1.c
+--- pam_mount-2.13/src/rdconf1.c 2011-12-15 16:12:10.000000000 +0400
++++ pam-mount/src/rdconf1.c 2012-10-11 15:28:24.851553965 +0400
+@@ -340,6 +340,7 @@
+ char options_require[] = "nosuid,nodev";
+
+ memset(config, 0, sizeof(*config));
++ ehd_logctl(EHD_LOGFT_DEBUG, EHD_LOG_SET);
+ config->debug = true;
+ config->mkmntpoint = true;
+
+@@ -1355,6 +1356,10 @@
+ }
+
+ //-----------------------------------------------------------------------------
++/*
++ * This list has no linear relation to vpt->command. Instead, what is done:
++ * config->command[default_command[i].type] = <command>
++ */
+ static const struct pmt_command default_command[] = {
+ {CMD_SMBMOUNT, "smbfs", {"smbmount", "%(COMBOPATH)", "%(MNTPT)", "-o", "username=%(USER),uid=%(USERUID),gid=%(USERGID)%(if %(OPTIONS),\",%(OPTIONS)\")", NULL}},
+ {CMD_SMBUMOUNT, "smbfs", {"smbumount", "%(MNTPT)", NULL}},
+@@ -1368,6 +1373,8 @@
+ {CMD_NFSMOUNT, "nfs4"},
+ {CMD_LCLMOUNT, NULL, {"mount", "-p0", "%(if %(OPTIONS),-o%(OPTIONS))", "-t%(FSTYPE)", "%(VOLUME)", "%(MNTPT)", NULL}},
+ {CMD_CRYPTMOUNT, "crypt", {"mount", "-t", "crypt", "%(if %(CIPHER),-ocipher=%(CIPHER))", "%(if %(FSKEYCIPHER),-ofsk_cipher=%(FSKEYCIPHER))", "%(if %(FSKEYHASH),-ofsk_hash=%(FSKEYHASH))", "%(if %(FSKEYPATH),-okeyfile=%(FSKEYPATH))", "%(if %(OPTIONS),-o%(OPTIONS))", "%(VOLUME)", "%(MNTPT)", NULL}},
++ {CMD_CRYPTMOUNT, "crypt_LUKS"},
++ {CMD_CRYPTMOUNT, "crypto_LUKS"},
+ {CMD_CRYPTUMOUNT, "crypt", {"umount.crypt", "%(MNTPT)", NULL}},
+ {CMD_UMOUNT, NULL, {"umount", "%(MNTPT)", NULL}},
+ {CMD_FSCK, NULL, {"fsck", "-p", "%(FSCKTARGET)", NULL}},
+diff -wbBurN pam_mount-2.13/src/spawn.c pam-mount/src/spawn.c
+--- pam_mount-2.13/src/spawn.c 2011-12-15 16:12:10.000000000 +0400
++++ pam-mount/src/spawn.c 2012-10-11 15:28:24.851553965 +0400
+@@ -6,10 +6,12 @@
+ * as published by the Free Software Foundation; either version 2.1
+ * of the License, or (at your option) any later version.
+ */
++#include <errno.h>
+ #include <pthread.h>
+ #include <signal.h>
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <string.h>
+ #include <unistd.h>
+ #include <libHX/defs.h>
+ #include <libHX/deque.h>
+@@ -124,9 +126,8 @@
+ if (chdir("/") < 0)
+ ;
+ if (user == NULL) {
+- misc_dump_id("set_myuid<pre>");
+ if (setuid(0) < 0) {
+- l0g("error setting uid to 0\n");
++ l0g("error setting uid to 0: %s\n", strerror(errno));
+ return;
+ }
+ } else {
+@@ -151,7 +152,6 @@
+ setenv("HOME", real_user->pw_dir, 1);
+ setenv("USER", real_user->pw_name, 1);
+ }
+- misc_dump_id("set_myuid<post>");
+ }
+
+ const struct HXproc_ops pmt_dropprivs_ops = {
diff --git a/community/puzzles/PKGBUILD b/community/puzzles/PKGBUILD
index 45255c407..24cf8cd24 100644
--- a/community/puzzles/PKGBUILD
+++ b/community/puzzles/PKGBUILD
@@ -3,7 +3,7 @@
# Maintainer: schuay <jakob.gruber@gmail.com>
pkgname=puzzles
-pkgver=9660
+pkgver=9682
pkgrel=1
pkgdesc="Simon Tatham's Portable Puzzle Collection"
arch=('i686' 'x86_64')
@@ -38,4 +38,4 @@ package() {
mv ${pkgdir}/usr/bin/blackbox ${pkgdir}/usr/bin/puzzles-blackbox
}
-md5sums=('06f88f737158a1d7912b20010b75d1b1')
+md5sums=('2a592b4c43d24504be327367008807f7')
diff --git a/community/rsyslog/PKGBUILD b/community/rsyslog/PKGBUILD
index cf349549d..0a40f4aae 100644
--- a/community/rsyslog/PKGBUILD
+++ b/community/rsyslog/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 77466 2012-10-10 16:19:43Z spupykin $
+# $Id: PKGBUILD 77498 2012-10-11 11:39:59Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
pkgname=rsyslog
pkgver=6.4.2
-pkgrel=1
+pkgrel=2
pkgdesc="An enhanced multi-threaded syslogd with a focus on security and reliability"
url="http://www.rsyslog.com/"
arch=('i686' 'x86_64')
@@ -25,7 +25,7 @@ source=("http://www.rsyslog.com/files/download/rsyslog/rsyslog-$pkgver.tar.gz"
md5sums=('7de0124ec7d67ce2bfda0009ab1263ee'
'a18bbcbb6ebdaa13a6ec6d9f3d9eb2da'
'8065db4bef3061a4f000ba58779f6829'
- '1a0cd4530dd5d1439456d5ae230574d9')
+ '18565f38a4445136446a31a3c95ffc3e')
build() {
cd ${srcdir}/${pkgname}-${pkgver}
diff --git a/community/rsyslog/rsyslog.conf.d b/community/rsyslog/rsyslog.conf.d
index e39f8c3b9..fc0770666 100644
--- a/community/rsyslog/rsyslog.conf.d
+++ b/community/rsyslog/rsyslog.conf.d
@@ -3,4 +3,4 @@
# This should almost certainly include at least the current compatability
# level, e.g. -c4
#
-RSYSLOGD_ARGS="-c4"
+RSYSLOGD_ARGS="-c6"
diff --git a/community/scummvm/PKGBUILD b/community/scummvm/PKGBUILD
new file mode 100644
index 000000000..7ac13cb3a
--- /dev/null
+++ b/community/scummvm/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 160945 2012-06-07 12:04:14Z juergen $
+# Maintainer: juergen <juergen@archlinux.org>
+# Contributor: Manolis Tzanidakis, Petter Gundersen
+
+pkgname=scummvm
+pkgver=1.5.0
+pkgrel=1
+pkgdesc="A 'virtual machine' for several classic graphical point-and-click adventure games."
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://www.scummvm.org/"
+depends=('libmad' 'sdl' 'fluidsynth' 'flac' 'faad2' 'libvorbis' 'libmad')
+source=(http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.bz2)
+md5sums=('d71d1df5c8262556fedbe885972fbf6e')
+
+build() {
+ cd "${srcdir}"/${pkgname}-${pkgver}
+ ./configure --disable-debug \
+ --enable-release \
+ --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}"/${pkgname}-${pkgver}
+ make DESTDIR=${pkgdir} install
+ install -Dm644 dists/${pkgname}.desktop "${pkgdir}"/usr/share/applications/${pkgname}.desktop
+}
diff --git a/community/warsow/PKGBUILD b/community/warsow/PKGBUILD
index 9a08f17a3..f44ddc603 100644
--- a/community/warsow/PKGBUILD
+++ b/community/warsow/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 74467 2012-07-29 03:46:52Z svenstaro $
+# $Id: PKGBUILD 77523 2012-10-11 13:44:25Z svenstaro $
# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
# Contributor: Slash <demodevil5[at]yahoo[dot]com>
# Contributor: Babets
# Contributor: Vain
pkgname=warsow
-pkgver=1.0
+pkgver=1.01
pkgrel=1
pkgdesc="Free online multiplayer competitive FPS based on the Qfusion engine"
url="http://www.warsow.net/"
@@ -15,13 +15,13 @@ depends=('curl' 'libjpeg' 'libvorbis' 'libxinerama' 'libxxf86dga' 'libxxf86vm' '
makedepends=('mesa' 'openal' 'imagemagick' 'gendesk')
optdepends=('openal: for openal audio support')
source=('warsow.launcher' 'wsw-server.launcher' 'wswtv-server.launcher' \
- "http://funpark.warsow-esport.net/~warsow/1.0/warsow_${pkgver}_sdk.tar.gz")
+ "http://wsw.null.so/warsow_${pkgver}_sdk.tar.gz")
_genericname=('First person shooter')
_comment=('Online Mulitiplayer Competitive FPS')
md5sums=('ec00081d81ad9802a8ca42fc2eac5498'
'f73e10c26197178df71b941b10bf83d7'
'd7e4a69835bbcf801e58307e9d6b951e'
- '35b9a8f530b51cda15c660b3a73f377e')
+ '9901ef17b4faf03d2b05e52ac3d189d5')
build() {
cd "$srcdir"
diff --git a/core/dnsutils/PKGBUILD b/core/dnsutils/PKGBUILD
index 72eeb78ec..03ae9a15a 100644
--- a/core/dnsutils/PKGBUILD
+++ b/core/dnsutils/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 166636 2012-09-13 23:21:14Z bisson $
+# $Id: PKGBUILD 168406 2012-10-11 06:22:42Z bisson $
# Maintainer: Gaetan Bisson <bisson@archlinux.org>
# Contributor: kevin <kevin@archlinux.org>
# Contributor: mario <mario_vazq@hotmail.com>
pkgname=dnsutils
-_pkgver=9.9.1-P3
+_pkgver=9.9.2
pkgver=${_pkgver//-/.}
pkgrel=1
pkgdesc='DNS utilities: dig host nslookup'
@@ -15,8 +15,8 @@ options=('!makeflags')
depends=('openssl' 'krb5' 'idnkit' 'dnssec-anchors')
source=("http://ftp.isc.org/isc/bind9/${_pkgver}/bind-${_pkgver}.tar.gz"
'remove-bind.patch')
-sha1sums=('1c890f69f627ffbc76460c766bafefde408ed799'
- 'b465ef6160b004838f04de9978fe1be8422af777')
+sha1sums=('eb9fa7b497d67ce61a120cb96c302381bc385324'
+ 'bb13bd54134e4d787469be25461a3cc3f5cb57f4')
replaces=('bind-tools' 'host')
diff --git a/core/dnsutils/remove-bind.patch b/core/dnsutils/remove-bind.patch
index 19d650964..8d4b49848 100644
--- a/core/dnsutils/remove-bind.patch
+++ b/core/dnsutils/remove-bind.patch
@@ -6,7 +6,7 @@ diff -aur old/bin/Makefile.in new/bin/Makefile.in
top_srcdir = @top_srcdir@
-SUBDIRS = named rndc dig dnssec tests tools nsupdate \
-- check confgen @PKCS11_TOOLS@
+- check confgen @PYTHON_TOOLS@ @PKCS11_TOOLS@
+SUBDIRS = dig
TARGETS =
diff --git a/extra/bluedevil/PKGBUILD b/extra/bluedevil/PKGBUILD
index d26d78b21..b8107fcaa 100644
--- a/extra/bluedevil/PKGBUILD
+++ b/extra/bluedevil/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 157804 2012-04-29 17:06:36Z andrea $
+# $Id: PKGBUILD 168408 2012-10-11 07:00:11Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
pkgname=bluedevil
-pkgver=1.2.3
+pkgver=1.2.4
pkgrel=1
pkgdesc='KDE bluetooth framework'
arch=('i686' 'x86_64')
@@ -12,10 +12,9 @@ depends=('kdebase-workspace' 'libbluedevil' 'obex-data-server' 'obexd-client')
makedepends=('cmake' 'automoc4')
install="${pkgname}.install"
source=("http://download.kde.org/stable/${pkgname}/${pkgver}/src/${pkgname}-${pkgver}.tar.bz2")
-md5sums=('e792576d34956d27cd0c3eb3c81a5923')
+md5sums=('e0be81bb13a3aa90d521ab96347ed305')
build(){
- cd "${srcdir}"
mkdir build
cd build
cmake ../${pkgname}-${pkgver} \
@@ -25,6 +24,6 @@ build(){
}
package() {
- cd "${srcdir}"/build
+ cd build
make DESTDIR="${pkgdir}" install
}
diff --git a/extra/claws-mail/PKGBUILD b/extra/claws-mail/PKGBUILD
index c2dc3040a..da1602db0 100644
--- a/extra/claws-mail/PKGBUILD
+++ b/extra/claws-mail/PKGBUILD
@@ -1,15 +1,15 @@
-# $Id: PKGBUILD 162656 2012-06-27 15:37:01Z andyrtr $
+# $Id: PKGBUILD 168432 2012-10-11 16:05:02Z andyrtr $
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
pkgname=claws-mail
pkgver=3.8.1
-pkgrel=1
+pkgrel=2
pkgdesc="A GTK+ based e-mail client."
arch=('i686' 'x86_64')
license=('GPL3')
url="http://www.claws-mail.org"
depends=('gtk2' 'gnutls' 'startup-notification' 'pilot-link' 'enchant'
- 'gpgme' 'libetpan' 'libsm' 'db' 'dbus-glib' 'hicolor-icon-theme' 'desktop-file-utils')
+ 'gpgme' 'libetpan>=1.1' 'libsm' 'db' 'dbus-glib' 'hicolor-icon-theme' 'desktop-file-utils')
makedepends=('compface' 'spamassassin' 'bogofilter' 'valgrind')
optdepends=('python2: needed for some tools'
'perl: needed for some tools'
diff --git a/extra/ecasound/PKGBUILD b/extra/ecasound/PKGBUILD
index 04a9e1793..60b4b177b 100644
--- a/extra/ecasound/PKGBUILD
+++ b/extra/ecasound/PKGBUILD
@@ -1,18 +1,18 @@
-# $Id: PKGBUILD 150935 2012-02-24 01:43:21Z tdziedzic $
+# $Id: PKGBUILD 168410 2012-10-11 09:44:14Z schiv $
# Maintainer: Ray Rashif <schiv@archlinux.org>
# Contributor: Eric Belanger <eric@archlinux.org>
# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
pkgname=ecasound
-pkgver=2.8.1
-pkgrel=3
+pkgver=2.9.0
+pkgrel=1
pkgdesc="A software package designed for multitrack audio processing"
arch=('i686' 'x86_64')
url="http://www.eca.cx/ecasound/"
license=('GPL' 'LGPL')
-depends=('gcc-libs' 'readline>=6.0.00' 'audiofile'
- 'jack' 'liblo' 'liboil')
-makedepends=('pkg-config' 'python2' 'ruby')
+depends=('audiofile' 'liblo'
+ 'liboil' 'lilv')
+makedepends=('python2' 'ruby')
optdepends=('python2: ecamonitor, ECI API'
'ruby: ECI API'
'mpg123: MP3 decoding'
@@ -24,7 +24,7 @@ optdepends=('python2: ecamonitor, ECI API'
'libmikmod: tracker module')
options=('!libtool')
source=(http://ecasound.seul.org/download/$pkgname-$pkgver.tar.gz)
-md5sums=('d9ded0074a8eeb59dd507c248220d010')
+md5sums=('05e7d4664cdf4c7a138c098e9506a551')
build() {
cd "$srcdir/$pkgname-$pkgver"
diff --git a/extra/gparted/PKGBUILD b/extra/gparted/PKGBUILD
index 1709a553f..be00fc49c 100644
--- a/extra/gparted/PKGBUILD
+++ b/extra/gparted/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 165018 2012-08-08 23:33:07Z giovanni $
+# $Id: PKGBUILD 168428 2012-10-11 16:00:51Z giovanni $
# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
# Contributor: Andrew Simmons <andrew.simmons@gmail.com>
# Contributor: György Balló <ballogy@freestart.hu>
pkgname=gparted
-pkgver=0.13.1
+pkgver=0.14.0
pkgrel=1
pkgdesc="A Partition Magic clone, frontend to GNU Parted"
arch=('i686' 'x86_64')
@@ -24,7 +24,7 @@ optdepends=('dosfstools: for FAT16 and FAT32 partitions'
install=gparted.install
source=("http://downloads.sourceforge.net/project/${pkgname}/${pkgname}/${pkgname}-${pkgver}/${pkgname}-${pkgver}.tar.bz2"
'org.archlinux.pkexec.gparted.policy')
-md5sums=('2c3f88fbdd0b43bfe4d843f6dc8063f2'
+md5sums=('fc3507479e930967a2049c533907384d'
'27c264cfad8fa413d75954dda7a2dd50')
build() {
diff --git a/extra/kdebindings-python/PKGBUILD b/extra/kdebindings-python/PKGBUILD
index 4ede68181..86373e429 100644
--- a/extra/kdebindings-python/PKGBUILD
+++ b/extra/kdebindings-python/PKGBUILD
@@ -1,31 +1,36 @@
-# $Id: PKGBUILD 167774 2012-10-03 14:39:54Z andrea $
+# $Id: PKGBUILD 168439 2012-10-11 21:49:14Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
pkgbase=kdebindings-python
pkgname=('kdebindings-python'
'kdebindings-python2')
pkgver=4.9.2
-pkgrel=1
+pkgrel=2
url='https://projects.kde.org/projects/kde/kdebindings/pykde4'
arch=('i686' 'x86_64')
license=('GPL' 'LGPL' 'FDL')
groups=('kdebindings')
makedepends=('cmake' 'automoc4' 'boost' 'kdepim-runtime' 'python2-pyqt'
'pyqt' 'qscintilla' 'python2-sip' 'python-sip')
-source=("http://download.kde.org/stable/${pkgver}/src/pykde4-${pkgver}.tar.xz")
-sha1sums=('44b3f02797c43a59f8c3a91131a2488a733cfa11')
+source=("http://download.kde.org/stable/${pkgver}/src/pykde4-${pkgver}.tar.xz"
+ 'pyqt495.patch')
+sha1sums=('44b3f02797c43a59f8c3a91131a2488a733cfa11'
+ '0935c32e55806873f2d088613594559285da7e9c')
build() {
export PYTHONDONTWRITEBYTECODE="TRUE"
- cd "${srcdir}"
+ cd pykde4-${pkgver}
+ patch -p1 -i "${srcdir}"/pyqt495.patch
+ cd ../
+
mkdir build
cd build
cmake ../pykde4-${pkgver} \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DPYTHON_EXECUTABLE=/usr/bin/python \
- -DPYTHON_LIBRARY=/usr/lib/libpython3.2mu.so.1.0
+ -DPYTHON_EXECUTABLE=/usr/bin/python3 \
+ -DPYTHON_LIBRARY=/usr/lib/libpython3.3m.so.1.0
make
cd ..
diff --git a/extra/kdebindings-python/pyqt495.patch b/extra/kdebindings-python/pyqt495.patch
new file mode 100644
index 000000000..b8a9df258
--- /dev/null
+++ b/extra/kdebindings-python/pyqt495.patch
@@ -0,0 +1,95 @@
+From: Luca Beltrame <lbeltrame@kde.org>
+Date: Mon, 01 Oct 2012 18:47:56 +0000
+Subject: Remove duplicated QVector<int> definition, since it's in PyQt now.
+X-Git-Url: http://quickgit.kde.org/?p=pykde4.git&amp;a=commitdiff&amp;h=017822bd0dfc83fe9a7a483ecc33f4aab839a3c6
+---
+Remove duplicated QVector<int> definition, since it's in PyQt now.
+Simon, if you have time, please review if everything is OK.
+
+CCMAIL: simon@simonzone.com
+---
+
+
+--- a/sip/kdecore/typedefs.sip
++++ b/sip/kdecore/typedefs.sip
+@@ -951,78 +951,4 @@
+ %End
+ };
+
+-%MappedType QVector<int>
+-{
+-%TypeHeaderCode
+-#include <qvector.h>
+-%End
+-
+-%ConvertFromTypeCode
+- // Create the list.
+- PyObject *l;
+-
+- if ((l = PyList_New(sipCpp->size())) == NULL)
+- return NULL;
+-
+- // Set the list elements.
+- for (int i = 0; i < sipCpp->size(); ++i)
+- {
+- int t = (sipCpp->at(i));
+-
+-#if PY_MAJOR_VERSION >= 3
+- PyObject *tobj = PyLong_FromLong(t);
+-#else
+- PyObject *tobj = PyInt_FromLong(t);
+-#endif
+-
+- PyList_SET_ITEM(l, i, tobj);
+- }
+-
+- return l;
+-%End
+-
+-%ConvertToTypeCode
+- // Check the type if that is all that is required.
+- if (sipIsErr == NULL)
+- {
+- if (!PyList_Check(sipPy))
+- return 0;
+-
+- for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i) {
+- PyObject *tobj = PyList_GET_ITEM(sipPy, i);
+-#if PY_MAJOR_VERSION >= 3
+- if (!PyNumber_Check(tobj))
+-#else
+- if (!PyInt_Check(tobj))
+-#endif
+- return 0;
+- }
+- return 1;
+- }
+-
+- QVector<int> *qv = new QVector<int>;
+-
+- for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i)
+- {
+- PyObject *tobj = PyList_GET_ITEM(sipPy, i);
+- #if PY_MAJOR_VERSION >= 3
+- int t = PyLong_AsLong (tobj);
+-#else
+- int t = PyInt_AS_LONG (tobj);
+-#endif
+-
+- if (*sipIsErr)
+- {
+- delete qv;
+- return 0;
+- }
+-
+- qv->append(t);
+- }
+-
+- *sipCppPtr = qv;
+-
+- return sipGetState(sipTransferObj);
+-%End
+-};
+-
++
+
diff --git a/extra/libetpan/PKGBUILD b/extra/libetpan/PKGBUILD
index eccaf4151..482123b31 100644
--- a/extra/libetpan/PKGBUILD
+++ b/extra/libetpan/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 146471 2012-01-11 15:22:10Z stephane $
+# $Id: PKGBUILD 168431 2012-10-11 16:04:57Z andyrtr $
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
pkgname=libetpan
-pkgver=1.0
-pkgrel=4
+pkgver=1.1
+pkgrel=1
pkgdesc="A portable middleware for email access"
arch=('i686' 'x86_64')
url="http://www.etpan.org/"
@@ -11,7 +11,7 @@ license=("custom:etpan")
depends=('db>=5.3.15' 'libsasl>=2.1.23' 'curl>=7.23.1' 'expat>=2.0.1-1')
options=('!libtool')
source=(http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.gz)
-md5sums=('5addc766141a0b1d29ee1ca4ba1b6808')
+md5sums=('6fee60d08506e941642b8fa087e60b07')
build() {
cd ${srcdir}/${pkgname}-${pkgver}
diff --git a/extra/mtdev/PKGBUILD b/extra/mtdev/PKGBUILD
index 7e49b6371..50bf1642f 100644
--- a/extra/mtdev/PKGBUILD
+++ b/extra/mtdev/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 153465 2012-03-14 17:58:06Z andyrtr $
+# $Id: PKGBUILD 168434 2012-10-11 16:11:43Z andyrtr $
# Maintainer: AndyRTR <andyrtr@archlinux.org>
# Contributor: SpepS <dreamspepser at yahoo dot it>
pkgname=mtdev
-pkgver=1.1.2
+pkgver=1.1.3
pkgrel=1
pkgdesc="A stand-alone library which transforms all variants of kernel MT events to the slotted type B protocol"
arch=('i686' 'x86_64')
@@ -12,7 +12,7 @@ license=('custom:MIT')
depends=('glibc')
options=('!libtool')
source=("$url$pkgname-$pkgver.tar.bz2")
-md5sums=('d9c7700918fc392e29da7477ae20c5c2')
+md5sums=('8a236569ad3dd79eaeed45f1935359be')
build() {
cd "$srcdir/$pkgname-$pkgver"
@@ -20,6 +20,11 @@ build() {
make
}
+check() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make -k check
+}
+
package() {
cd "$srcdir/$pkgname-$pkgver"
make DESTDIR="$pkgdir/" install
diff --git a/extra/xterm/PKGBUILD b/extra/xterm/PKGBUILD
index 3c06380ef..a5dc6dcd1 100644
--- a/extra/xterm/PKGBUILD
+++ b/extra/xterm/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 167270 2012-09-29 15:04:11Z andyrtr $
+# $Id: PKGBUILD 168424 2012-10-11 15:38:51Z andyrtr $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Alexander Baldeck <alexander@archlinux.org>
pkgname=xterm
-pkgver=282
+pkgver=283
pkgrel=1
pkgdesc="X Terminal Emulator"
arch=('i686' 'x86_64')
@@ -12,7 +12,7 @@ license=('custom')
depends=('libxft' 'libxaw' 'ncurses' 'xorg-luit' 'xbitmaps')
source=(ftp://invisible-island.net/${pkgname}/${pkgname}-${pkgver}.tgz
LICENSE)
-md5sums=('eeac090c7e56ea573f7691d382a59968'
+md5sums=('678fb45f749216b11d57c4ffc935df65'
'10ecc3f8ee91e3189863a172f68282d2')
build() {
diff --git a/gnome-unstable/pidgin/PKGBUILD b/gnome-unstable/pidgin/PKGBUILD
new file mode 100644
index 000000000..cc41d66a4
--- /dev/null
+++ b/gnome-unstable/pidgin/PKGBUILD
@@ -0,0 +1,100 @@
+# $Id: PKGBUILD 168421 2012-10-11 15:28:56Z foutrelis $
+# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
+# Contributor: Ionut Biru <ibiru@archlinux.org>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Alexander Fehr <pizzapunk gmail com>
+# Contributor: Lucien Immink <l.immink@student.fnt.hvu.nl>
+
+pkgname=('pidgin' 'libpurple' 'finch')
+pkgver=2.10.6
+pkgrel=2
+arch=('i686' 'x86_64')
+url="http://pidgin.im/"
+license=('GPL')
+makedepends=('startup-notification' 'gtkspell' 'libxss' 'nss' 'libsasl' 'libsm'
+ 'libidn' 'python2' 'hicolor-icon-theme' 'gstreamer0.10' 'avahi'
+ 'tk' 'ca-certificates' 'intltool'
+ 'networkmanager')
+options=('!libtool')
+source=(http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.bz2)
+sha256sums=('3e25a633b97cbfa8326999a30282e7a662a9b9bbf2853be84af0b8fb60392c96')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # Use Python 2
+ sed -i 's/env python$/&2/' */plugins/*.py \
+ libpurple/purple-{remote,notifications-example,url-handler}
+
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --disable-schemas-install \
+ --disable-meanwhile \
+ --disable-gnutls \
+ --enable-cyrus-sasl \
+ --disable-doxygen \
+ --enable-nm \
+ --disable-vv \
+ --with-python=/usr/bin/python2 \
+ --with-system-ssl-certs=/etc/ssl/certs
+ make
+}
+
+package_pidgin(){
+ pkgdesc="Multi-protocol instant messaging client"
+ depends=('libpurple' 'startup-notification' 'gtkspell' 'libxss' 'libsm'
+ 'hicolor-icon-theme')
+ optdepends=('aspell: for spelling correction')
+ install=pidgin.install
+
+ cd "$srcdir/pidgin-$pkgver"
+
+ # For linking
+ make -C libpurple DESTDIR="$pkgdir" install-libLTLIBRARIES
+
+ make -C pidgin DESTDIR="$pkgdir" install
+ make -C doc DESTDIR="$pkgdir" install
+
+ # Remove files that are packaged in libpurle
+ make -C libpurple DESTDIR="$pkgdir" uninstall-libLTLIBRARIES
+
+ install -Dm644 pidgin.desktop "$pkgdir"/usr/share/applications/pidgin.desktop
+
+ rm "$pkgdir/usr/share/man/man1/finch.1"
+}
+
+package_libpurple(){
+ pkgdesc="IM library extracted from Pidgin"
+ depends=('gstreamer0.10' 'libsasl' 'libidn' 'dbus-glib' 'nss')
+ optdepends=('avahi: Bonjour protocol support'
+ 'ca-certificates: SSL CA certificates'
+ 'python2-dbus: for purple-remote and purple-url-handler'
+ 'tk: Tcl/Tk scripting support')
+
+ cd "$srcdir/pidgin-$pkgver"
+
+ for _dir in libpurple share/sounds share/ca-certs m4macros po; do
+ make -C "$_dir" DESTDIR="$pkgdir" install
+ done
+}
+
+package_finch(){
+ pkgdesc="A ncurses-based messaging client"
+ depends=("libpurple=$pkgver-$pkgrel" 'libx11' 'python2')
+
+ cd "$srcdir/pidgin-$pkgver"
+
+ # For linking
+ make -C libpurple DESTDIR="$pkgdir" install-libLTLIBRARIES
+
+ make -C finch DESTDIR="$pkgdir" install
+ make -C doc DESTDIR="$pkgdir" install
+
+ # Remove files that are packaged in libpurle
+ make -C libpurple DESTDIR="$pkgdir" uninstall-libLTLIBRARIES
+
+ rm "$pkgdir"/usr/share/man/man1/pidgin.1
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/gnome-unstable/pidgin/pidgin.install b/gnome-unstable/pidgin/pidgin.install
new file mode 100644
index 000000000..1a05f573e
--- /dev/null
+++ b/gnome-unstable/pidgin/pidgin.install
@@ -0,0 +1,11 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/libre/blender-libre/PKGBUILD b/libre/blender-libre/PKGBUILD
index 6e3228359..f7005d739 100644
--- a/libre/blender-libre/PKGBUILD
+++ b/libre/blender-libre/PKGBUILD
@@ -3,8 +3,8 @@
_pkgname=blender
pkgname=blender-libre
-pkgver=2.63a
-pkgrel=5
+pkgver=2.64
+pkgrel=1
pkgdesc="A fully integrated 3D graphics creation suite (without nonfree cuda-toolkit support)"
arch=('i686' 'x86_64' 'mips64el')
license=('GPL')
@@ -21,17 +21,17 @@ install=${_pkgname}.install
source=(http://download.${_pkgname}.org/source/${_pkgname}-${pkgver}.tar.gz
ffmpeg-0.11.patch
boost-1.50.patch)
-md5sums=('31a60b3ce5466d965cb7e2648995e092'
+md5sums=('caec080d2a3dcd57fe1ca20c51c00e53'
'9e5649403e51654615d30b10bc460217'
'0bab80da07d980c47b8ce3cb998edaef')
build() {
cd "${srcdir}/${_pkgname}-${pkgver}"
- patch -Np1 < "${srcdir}"/ffmpeg-0.11.patch
- patch -Np1 < "${srcdir}"/boost-1.50.patch
- sed -i "/<libavcodec\/opt.h>/d" intern/ffmpeg/ffmpeg_compat.h
- sed -i "/<libavcodec\/opt.h>/d" source/blender/blenkernel/intern/writeffmpeg.c
+ #patch -Np1 < "${srcdir}"/ffmpeg-0.11.patch
+ #patch -Np1 < "${srcdir}"/boost-1.50.patch
+ #sed -i "/<libavcodec\/opt.h>/d" intern/ffmpeg/ffmpeg_compat.h
+ #sed -i "/<libavcodec\/opt.h>/d" source/blender/blenkernel/intern/writeffmpeg.c
mkdir build
cd build
diff --git a/libre/iceweasel-libre/Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch b/libre/iceweasel-libre/Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch
index 240c3d4e8..a5fe02165 100644
--- a/libre/iceweasel-libre/Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch
+++ b/libre/iceweasel-libre/Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch
@@ -139,7 +139,7 @@ index 21cf405..f3c1a6b 100644
<!ENTITY noMigrationSources.label "No programs that contain bookmarks, history or password data could be found.">
diff --git a/browser/locales/en-US/chrome/browser/migration/migration.properties b/browser/locales/en-US/chrome/browser/migration/migration.properties
-index ab82d85..915f6b8 100644
+index 260bc29..52b32cc 100644
--- a/browser/locales/en-US/chrome/browser/migration/migration.properties
+++ b/browser/locales/en-US/chrome/browser/migration/migration.properties
@@ -8,7 +8,6 @@ profileName_format=%S %S
@@ -150,7 +150,7 @@ index ab82d85..915f6b8 100644
importedBookmarksFolder=From %S
-@@ -22,22 +21,22 @@ importedSafariReadingList=Reading List (From Safari)
+@@ -24,22 +23,22 @@ importedSafariReadingList=Reading List (From Safari)
2_ie=Cookies
2_safari=Cookies
2_chrome=Cookies
@@ -177,25 +177,25 @@ index ab82d85..915f6b8 100644
32_ie=Favorites
32_safari=Bookmarks
-@@ -46,4 +45,4 @@ importedSafariReadingList=Reading List (From Safari)
+@@ -48,4 +47,4 @@ importedSafariReadingList=Reading List (From Safari)
64_ie=Other Data
64_safari=Other Data
64_chrome=Other Data
-64_firefox=Bookmarks Backups
+64_self=Bookmarks Backups
diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn
-index 697b217..b6e1709 100644
+index 339ffda..6999b26 100644
--- a/toolkit/content/jar.mn
+++ b/toolkit/content/jar.mn
@@ -38,7 +38,7 @@ toolkit.jar:
+ content/global/mozilla.xhtml (mozilla.xhtml)
- *+ content/global/nsDragAndDrop.js (nsDragAndDrop.js)
+ content/global/nsDragAndDrop.js (nsDragAndDrop.js)
content/global/resetProfile.css (resetProfile.css)
-* content/global/resetProfile.js (resetProfile.js)
+ content/global/resetProfile.js (resetProfile.js)
- * content/global/resetProfile.xul (resetProfile.xul)
- * content/global/resetProfileProgress.xul (resetProfileProgress.xul)
- * content/global/treeUtils.js (treeUtils.js)
+ content/global/resetProfile.xul (resetProfile.xul)
+ content/global/resetProfileProgress.xul (resetProfileProgress.xul)
+ content/global/treeUtils.js (treeUtils.js)
diff --git a/toolkit/content/resetProfile.js b/toolkit/content/resetProfile.js
index dcb4065..09c1146 100644
--- a/toolkit/content/resetProfile.js
@@ -267,10 +267,10 @@ index f35c227..7062886 100644
%{C++
diff --git a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp
-index e5d3042..6de3390 100644
+index 60348b5..c240c4f 100644
--- a/toolkit/xre/nsAppRunner.cpp
+++ b/toolkit/xre/nsAppRunner.cpp
-@@ -3650,7 +3650,7 @@ XREMain::XRE_mainRun()
+@@ -3651,7 +3651,7 @@ XREMain::XRE_mainRun()
if (gDoProfileReset) {
// Automatically migrate from the current application if we just
// reset the profile.
diff --git a/libre/iceweasel-libre/PKGBUILD b/libre/iceweasel-libre/PKGBUILD
index 8eb6ef769..4e177229c 100644
--- a/libre/iceweasel-libre/PKGBUILD
+++ b/libre/iceweasel-libre/PKGBUILD
@@ -14,7 +14,7 @@ _pgo=false
# We're getting this from Debian Experimental
_debname=iceweasel
-_debver=15.0.1
+_debver=16.0.1
_debrel=1
_debrepo=http://ftp.debian.org/debian/pool/main/
debfile() { echo $@|sed -r 's@(.).*@\1/&/&@'; }
@@ -52,16 +52,16 @@ source=("${_debrepo}/`debfile ${_debname}`_${_debver}.orig.tar.bz2"
vendor.js
shared-libs.patch
Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch)
-md5sums=('0936242388cd4c75930c1d2487e15216'
- 'ce37c76476b8edf40780d00cf79d0d62'
+md5sums=('33e50f7ddfa7274e5a3bd393c37fb3b3'
+ 'ddfcf225ea0e3d7b4b377f4a63d5e8c4'
'eab149c1994ab14392e55af3abb08e80'
'ac29b01c189f20abae2f3eef1618ffc0'
'a485a2b5dc544a8a2bd40c985d2e5813'
- '6d8816d2577263556d76f1aa4527b55b'
- 'e529742c0a425648087bc3ce537fe4c5'
+ '8768dfc39e9f1057c2956bf4405ae58e'
+ 'cc5c68c8851eeed694e7e933779a0f16'
'0d053487907de4376d67d8f499c5502b'
'52e52f840a49eb1d14be1c0065b03a93'
- 'c52fac65c1e06290a5108b75c31ace79')
+ '0a31239f1008038df5057982fe745dec')
if [ "$_pkgname" != "$pkgname" ]; then
provides+=("$_pkgname=$pkgver")
diff --git a/libre/iceweasel-libre/iceweasel-install-dir.patch b/libre/iceweasel-libre/iceweasel-install-dir.patch
index f80a3eca9..e9ca4aa38 100644
--- a/libre/iceweasel-libre/iceweasel-install-dir.patch
+++ b/libre/iceweasel-libre/iceweasel-install-dir.patch
@@ -1,28 +1,30 @@
-diff -Nur iceweasel-9.0.1.orig/config/autoconf.mk.in iceweasel-9.0.1/config/autoconf.mk.in
---- iceweasel-9.0.1.orig/config/autoconf.mk.in 2011-12-31 17:07:52.000000000 -0500
-+++ iceweasel-9.0.1/config/autoconf.mk.in 2011-12-31 17:11:18.000000000 -0500
-@@ -68,8 +68,8 @@
- mandir = @mandir@
- idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_BASE_VERSION)
+diff -Nur iceweasel-16.0.1.orig/config/baseconfig.mk iceweasel-16.0.1/config/baseconfig.mk
+--- iceweasel-16.0.1.orig/config/baseconfig.mk 2012-10-10 19:42:45.000000000 -0200
++++ iceweasel-16.0.1/config/baseconfig.mk 2012-10-12 05:07:39.393233306 -0200
+@@ -1,9 +1,9 @@
+ INCLUDED_AUTOCONF_MK = 1
--installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_BASE_VERSION)
--sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_BASE_VERSION)
-+installdir = $(libdir)/$(MOZ_APP_NAME)
-+sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel
+-includedir := $(includedir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
+-idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
+-installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
+-sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION)
++includedir := $(includedir)/$(MOZ_APP_NAME)
++idldir = $(datadir)/idl/$(MOZ_APP_NAME)
++installdir = $(libdir)/$(MOZ_APP_NAME)
++sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel
+ DIST = $(DEPTH)/dist
- DIST = $(DEPTH)/dist
- LIBXUL_SDK = @LIBXUL_SDK@
-diff -Nur iceweasel-9.0.1.orig/js/src/config/autoconf.mk.in iceweasel-9.0.1/js/src/config/autoconf.mk.in
---- iceweasel-9.0.1.orig/js/src/config/autoconf.mk.in 2011-12-20 18:28:21.000000000 -0500
-+++ iceweasel-9.0.1/js/src/config/autoconf.mk.in 2011-12-31 17:11:43.000000000 -0500
-@@ -60,8 +60,8 @@
- datadir = @datadir@
- mandir = @mandir@
+ # We do magic with OBJ_SUFFIX in config.mk, the following ensures we don't
+diff -Nur iceweasel-16.0.1.orig/js/src/config/baseconfig.mk iceweasel-16.0.1/js/src/config/baseconfig.mk
+--- iceweasel-16.0.1.orig/js/src/config/baseconfig.mk 2012-10-10 19:43:05.000000000 -0200
++++ iceweasel-16.0.1/js/src/config/baseconfig.mk 2012-10-12 05:08:23.064066227 -0200
+@@ -1,7 +1,7 @@
+ INCLUDED_AUTOCONF_MK = 1
--installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
--sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION)
-+installdir = $(libdir)/$(MOZ_APP_NAME)
-+sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel
+-installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
+-sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION)
++installdir = $(libdir)/$(MOZ_APP_NAME)
++sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel
- TOP_DIST = @TOP_DIST@
ifneq (,$(filter /%,$(TOP_DIST)))
+ DIST = $(TOP_DIST)
diff --git a/libre/iceweasel-libre/libre.patch b/libre/iceweasel-libre/libre.patch
index 9ffaf3a9a..7e7b7290f 100644
--- a/libre/iceweasel-libre/libre.patch
+++ b/libre/iceweasel-libre/libre.patch
@@ -1,7 +1,7 @@
-diff -urN iceweasel-13.0.orig/browser/app/profile/firefox.js iceweasel-13.0/browser/app/profile/firefox.js
---- mozilla-build.orig/browser/app/profile/firefox.js 2012-06-01 09:03:47.000000000 -0300
-+++ mozilla-build/browser/app/profile/firefox.js 2012-06-05 19:53:08.847012282 -0300
-@@ -64,11 +64,11 @@
+diff -urN iceweasel-16.0.orig/browser/app/profile/firefox.js iceweasel-16.0/browser/app/profile/firefox.js
+--- iceweasel-16.0.orig/browser/app/profile/firefox.js 2012-10-05 20:01:58.000000000 -0300
++++ iceweasel-16.0/browser/app/profile/firefox.js 2012-10-11 17:19:44.984225170 -0200
+@@ -37,11 +37,11 @@
// Preferences for AMO integration
pref("extensions.getAddons.cache.enabled", true);
pref("extensions.getAddons.maxResults", 15);
@@ -18,16 +18,7 @@ diff -urN iceweasel-13.0.orig/browser/app/profile/firefox.js iceweasel-13.0/brow
// Blocklist preferences
pref("extensions.blocklist.enabled", true);
-@@ -92,7 +92,7 @@
- pref("extensions.autoDisableScopes", 15);
-
- // Dictionary download preference
--pref("browser.dictionaries.download.url", "https://addons.mozilla.org/%LOCALE%/firefox/dictionaries/");
-+pref("browser.dictionaries.download.url", "about:blank");
-
- // The minimum delay in seconds for the timer to fire.
- // default=2 minutes
-@@ -218,7 +218,7 @@
+@@ -194,7 +194,7 @@
pref("extensions.update.interval", 86400); // Check for updates to Extensions and
// Themes every day
// Non-symmetric (not shared by extensions) extension-specific [update] preferences
@@ -36,25 +27,16 @@ diff -urN iceweasel-13.0.orig/browser/app/profile/firefox.js iceweasel-13.0/brow
pref("extensions.dss.enabled", false); // Dynamic Skin Switching
pref("extensions.dss.switchPending", false); // Non-dynamic switch pending after next
// restart.
-@@ -252,7 +252,7 @@
- // 0 = blank, 1 = home (browser.startup.homepage), 2 = last visited page, 3 = resume previous browser session
- // The behavior of option 3 is detailed at: http://wiki.mozilla.org/Session_Restore
- pref("browser.startup.page", 1);
--pref("browser.startup.homepage", "chrome://branding/locale/browserconfig.properties");
-+pref("browser.startup.homepage", "about:home");
-
- // This url, if changed, MUST continue to point to an https url. Pulling arbitrary content to inject into
- // this page over http opens us up to a man-in-the-middle attack that we'd rather not face. If you are a downstream
-@@ -345,7 +345,7 @@
- pref("browser.download.manager.resumeOnWakeDelay", 10000);
+@@ -327,7 +327,7 @@
+ pref("browser.download.panel.removeFinishedDownloads", false);
// search engines URL
-pref("browser.search.searchEnginesURL", "https://addons.mozilla.org/%LOCALE%/firefox/search-engines/");
-+pref("browser.search.searchEnginesURL", "http://www.gnu.org/software/gnuzilla/addons.html");
++pref("browser.search.searchEnginesURL", "http://www.gnu.org/software/gnuzilla/addons.html#search%20engines");
// pointer to the default engine name
pref("browser.search.defaultenginename", "chrome://browser-region/locale/region.properties");
-@@ -593,7 +593,7 @@
+@@ -584,7 +584,7 @@
pref("accessibility.typeaheadfind.flashBar", 1);
// plugin finder service url
diff --git a/libre/parabola-keyring/PKGBUILD b/libre/parabola-keyring/PKGBUILD
index 7a95abd0b..9d77543ce 100644
--- a/libre/parabola-keyring/PKGBUILD
+++ b/libre/parabola-keyring/PKGBUILD
@@ -2,7 +2,7 @@
# Maintainer: André Silva <emulatorman@lavabit.com>
pkgname=parabola-keyring
-pkgver=20120816
+pkgver=20121012
pkgrel=1
pkgdesc='Parabola GNU/Linux-libre PGP keyring'
arch=('any')
@@ -16,5 +16,5 @@ package() {
cd "${srcdir}/${pkgname}-${pkgver}"
make PREFIX=/usr DESTDIR=${pkgdir} install
}
-md5sums=('4163ebfce3ccc32e2398e18c19158fc1'
- 'b4b1b532657eb754ef2e9f7cf4d0a09a')
+md5sums=('386550a6b179ebd158bc7469362bf0b8'
+ '4794d17dd40d51069eca315c2243528b')
diff --git a/multilib/lib32-libtasn1/PKGBUILD b/multilib/lib32-libtasn1/PKGBUILD
index 5e5d04580..0020a2816 100644
--- a/multilib/lib32-libtasn1/PKGBUILD
+++ b/multilib/lib32-libtasn1/PKGBUILD
@@ -3,8 +3,8 @@
_pkgbase=libtasn1
pkgname=lib32-${_pkgbase}
-pkgver=2.13
-pkgrel=2
+pkgver=2.14
+pkgrel=1
pkgdesc="The ASN.1 library used in GNUTLS (32 bit)"
arch=('x86_64')
license=('GPL3' 'LGPL')
@@ -13,7 +13,7 @@ depends=('lib32-glibc' ${_pkgbase})
makedepends=('gcc-multilib')
options=('!libtool')
source=("http://ftp.gnu.org/gnu/libtasn1/${_pkgbase}-${pkgver}.tar.gz")
-sha1sums=('89120584bfedd244dab92df99e955a174c481851')
+sha1sums=('22f9e0b15f870c8e03ac9cc1ead969d4d84eb931')
build() {
export CC='gcc -m32'
diff --git a/testing/curl/PKGBUILD b/testing/curl/PKGBUILD
index 218b910f8..8b6373338 100644
--- a/testing/curl/PKGBUILD
+++ b/testing/curl/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 164228 2012-07-27 22:56:01Z dreisner $
+# $Id: PKGBUILD 168414 2012-10-11 14:27:49Z dreisner $
# Maintainer: Dave Reisner <dreisner@archlinux.org>
# Contributor: Angel Velasquez <angvp@archlinux.org>
# Contributor: Eric Belanger <eric@archlinux.org>
@@ -6,9 +6,9 @@
# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
pkgname=curl
-pkgver=7.27.0
+pkgver=7.28.0
pkgrel=1
-pkgdesc="An URL retrival utility and library"
+pkgdesc="An URL retrieval utility and library"
arch=('i686' 'x86_64')
url="http://curl.haxx.se"
license=('MIT')
@@ -16,8 +16,8 @@ depends=('ca-certificates' 'libssh2' 'openssl' 'zlib')
options=('!libtool')
source=("http://curl.haxx.se/download/$pkgname-$pkgver.tar.gz"{,.asc}
curlbuild.h)
-md5sums=('f0e48fdb635b5939e02a9291b89e5336'
- 'b5d6d54f97adcaf5c871174e5460f081'
+md5sums=('cbdc0a79bdf6e657dd387c3d88d802e3'
+ '7359e07276cdaff6317bbc39e6d5899c'
'751bd433ede935c8fae727377625a8ae')
ptrsize=$(cpp <<<'__SIZEOF_POINTER__' | sed '/^#/d')
diff --git a/testing/openldap/PKGBUILD b/testing/openldap/PKGBUILD
index 4e7c93414..ba6380387 100644
--- a/testing/openldap/PKGBUILD
+++ b/testing/openldap/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 164499 2012-08-01 08:04:05Z eric $
+# $Id: PKGBUILD 168437 2012-10-11 21:32:47Z eric $
# Maintainer:
pkgbase=openldap
pkgname=('libldap' 'openldap')
-pkgver=2.4.32
+pkgver=2.4.33
pkgrel=1
arch=('i686' 'x86_64')
url="http://www.openldap.org/"
@@ -13,7 +13,7 @@ options=('!makeflags')
source=(ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/${pkgbase}-${pkgver}.tgz
slapd slapd.default slapd.service slapd.tmpfiles
ntlm.patch)
-sha1sums=('294d5e9711bcb6850188ed895eeb986d43b62664'
+sha1sums=('0cea642ba2dae1eb719da41bfedb9eba72ad504d'
'b684038a7f5bc7d2ba470b2d16ee47b5aae64c65'
'd89b8a533045123f1ab46c9c430cf132d58a20a4'
'a2cdab7e800a9f0c8b1e319a68598a12f4af27a4'