aboutsummaryrefslogtreecommitdiffstats
path: root/main/xfburn
diff options
context:
space:
mode:
Diffstat (limited to 'main/xfburn')
-rw-r--r--main/xfburn/APKBUILD47
-rw-r--r--main/xfburn/fix_empty_dir_segfault.patch48
2 files changed, 95 insertions, 0 deletions
diff --git a/main/xfburn/APKBUILD b/main/xfburn/APKBUILD
new file mode 100644
index 0000000000..a729e0e65f
--- /dev/null
+++ b/main/xfburn/APKBUILD
@@ -0,0 +1,47 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=xfburn
+pkgver=0.4.3
+pkgrel=1
+pkgdesc="a simple CD/DVD burning tool based on libburnia libraries"
+url="http://goodies.xfce.org/projects/applications/xfburn"
+arch="all"
+license="GPL2"
+depends="desktop-file-utils hicolor-icon-theme"
+makedepends="libburn-dev libisofs-dev libxfcegui4-dev thunar-dev librsvg-dev
+ gst-plugins-base-dev exo-dev"
+install=
+subpackages="$pkgname-doc $pkgname-lang"
+source="http://archive.xfce.org/src/apps/xfburn/${pkgver%.*}/xfburn-$pkgver.tar.bz2
+ fix_empty_dir_segfault.patch"
+
+_builddir="$srcdir"/$pkgname-$pkgver
+prepare() {
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+ # fix build issue
+ sed -i '1 i\
+ #include <glib-object.h>' \
+ xfburn/xfburn-settings.h
+}
+
+build ()
+{
+ cd "$_builddir"
+ ./configure --prefix=/usr \
+ --enable-gstreamer \
+ --enable-thunar-vfs \
+ --enable-dbus
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+md5sums="147cdc2d909e751125be16103b8dc81f xfburn-0.4.3.tar.bz2
+7e04ba806e3a0d945d5921dc5d875bdd fix_empty_dir_segfault.patch"
diff --git a/main/xfburn/fix_empty_dir_segfault.patch b/main/xfburn/fix_empty_dir_segfault.patch
new file mode 100644
index 0000000000..93418ae413
--- /dev/null
+++ b/main/xfburn/fix_empty_dir_segfault.patch
@@ -0,0 +1,48 @@
+--- ./xfburn/xfburn-data-composition.c 2011-02-17 16:37:03.000000000 +0100
++++ ./xfburn/xfburn-data-composition_patched.c 2011-02-17 16:40:40.000000000 +0100
+@@ -1874,26 +1874,29 @@
+ g_error ("Failed adding %s as a node to the image: code %X!", src, r);
+ }
+
+- basename = g_path_get_basename (src);
++ /* Check names only for items not manually created (#613563) */
++ if (type != DATA_COMPOSITION_TYPE_DIRECTORY || src != NULL) {
++ basename = g_path_get_basename (src);
++
++ /* check if the file has been renamed */
++ if (strcmp (basename, name) != 0) {
++ /* rename the iso_node */
++ r = iso_node_set_name (node, name);
++
++ if (r == 0) {
++ /* The first string is the renamed name, the second one the original name */
++ xfce_warn (_("Duplicate filename '%s' for '%s'"), name, src);
++
++ g_free (basename);
++ g_free (name);
++ g_free (src);
+
+- /* check if the file has been renamed */
+- if (strcmp (basename, name) != 0) {
+- /* rename the iso_node */
+- r = iso_node_set_name (node, name);
+-
+- if (r == 0) {
+- /* The first string is the renamed name, the second one the original name */
+- xfce_warn (_("Duplicate filename '%s' for '%s'"), name, src);
+-
+- g_free (basename);
+- g_free (name);
+- g_free (src);
+-
+- continue;
++ continue;
++ }
+ }
++ g_free (basename);
+ }
+
+- g_free (basename);
+ g_free (name);
+ g_free (src);
+