summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorgammy2020-12-18 14:52:01 +0100
committergammy2020-12-18 14:52:01 +0100
commite6b3a9618b6cacaee3c941457874c7be8e2238ee (patch)
tree1e46e8fb6ed33373b05649b11eca8586e05b3a2b
parent7294f9866edc6d2737ae0affe9584386f7d6f885 (diff)
downloadaur-e6b3a9618b6cacaee3c941457874c7be8e2238ee.tar.gz
Updated ucon64 version from 2.2.0 to 2.2.1. Add a minor patch to modify the ucon64rc file to point to the globally installed discmage library. Add auto-pull of post-release patch change_mem2.patch which fixes some crashes on 64-bit sytsems. Apply _FORTIFY_SOURCE=2 (see man 7 feature_test_macros) after discussing this with Daniël.
-rw-r--r--.SRCINFO10
-rw-r--r--PKGBUILD31
-rw-r--r--aur_discmage_path.patch32
3 files changed, 61 insertions, 12 deletions
diff --git a/.SRCINFO b/.SRCINFO
index ddc2e60d609f..e17372bd7398 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,16 +1,18 @@
pkgbase = ucon64
pkgdesc = A ROM backup tool and emulator's Swiss Army knife program.
- pkgver = 2.2.0
+ pkgver = 2.2.1
pkgrel = 1
- url = http://ucon64.sourceforge.net/index.php
+ url = http://ucon64.sourceforge.io/index.php
arch = i686
arch = x86_64
license = GPL
depends = zlib
depends = libusb-compat
optdepends = libieee1284: libcd64 enhancements
- source = https://downloads.sourceforge.net/ucon64/ucon64-2.2.0-src.tar.gz
- sha256sums = 5727e0be9ee878bba84d204135a7ca25662db6b56fee6895301e50c1bdda70af
+ source = https://downloads.sourceforge.net/ucon64/ucon64-2.2.1-src.tar.gz
+ source = https://sourceforge.net/projects/ucon64/files/ucon64/ucon64-2.2.1/patches/change_mem2.patch
+ sha256sums = e814f427a59866e16fe757bf4af51004ac68be29cabd78944590878f1df73f79
+ sha256sums = 65ff85255878e077c2e5fc57565cf0b93833ce8ac03bf81d46ba91ec837accf7
pkgname = ucon64
diff --git a/PKGBUILD b/PKGBUILD
index eef77e9bc2bc..a6681b29558c 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -4,29 +4,44 @@
# Contributor: robb_force <robb_force@holybuffalo.net>
pkgname=ucon64
-pkgver=2.2.0
+pkgver=2.2.1
pkgrel=1
-pkgdesc="A ROM backup tool and emulator's Swiss Army knife program. "
+pkgdesc="A ROM backup tool and emulator's Swiss Army knife program."
arch=('i686' 'x86_64')
-url="http://ucon64.sourceforge.net/index.php"
+url="http://ucon64.sourceforge.io/index.php"
license=('GPL')
depends=('zlib' 'libusb-compat')
optdepends=('libieee1284: libcd64 enhancements')
source=(https://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}-src.tar.gz)
-sha256sums=('5727e0be9ee878bba84d204135a7ca25662db6b56fee6895301e50c1bdda70af')
+sha256sums=('e814f427a59866e16fe757bf4af51004ac68be29cabd78944590878f1df73f79')
-srcroot="${pkgname}-${pkgver}-src/"
+# Apply a minor patch affecting 64-bit systems, the bug of which was found
+# just a few days after the release of 2.2.1. It won't be needed in the next
+# release.
+source+=(https://sourceforge.net/projects/${pkgname}/files/${pkgname}/${pkgname}-${pkgver}/patches/change_mem2.patch)
+sha256sums+=('65ff85255878e077c2e5fc57565cf0b93833ce8ac03bf81d46ba91ec837accf7')
+
+srcroot="${pkgname}-${pkgver}-src/src"
+
+prepare()
+{
+ patch -d "${srcdir}" -p2 < ../aur_discmage_path.patch
+
+ # XXX Remember to remove this patch on the next release (>2.2.1)
+ patch -d "${srcdir}" -p0 < change_mem2.patch
+}
build()
{
- cd "${srcroot}/src"
- ./configure --prefix=/usr --with-libusb --with-libcd64
+ cd "$srcroot"
+ export CFLAGS="$CFLAGS -D_FORTIFY_SOURCE=2"
+ ./configure --prefix=/usr --with-libusb --with-libcd64 --with-libdiscmage
make
}
package()
{
- cd ${pkgname}-${pkgver}-src/src
+ cd "$srcroot"
install -Dm775 ucon64 "${pkgdir}"/usr/bin/ucon64
install -Dm755 libdiscmage/discmage.so "${pkgdir}"/usr/lib/discmage.so
diff --git a/aur_discmage_path.patch b/aur_discmage_path.patch
new file mode 100644
index 000000000000..26749caea5d7
--- /dev/null
+++ b/aur_discmage_path.patch
@@ -0,0 +1,32 @@
+--- ./src/ucon64-2.2.1-src/src/ucon64_misc.orig.c 2020-11-09 19:10:46.000000000 +0100
++++ ./src/ucon64-2.2.1-src/src/ucon64_misc.c 2020-12-16 15:58:02.323205228 +0100
+@@ -58,6 +58,7 @@
+
+
+ #ifdef USE_DISCMAGE
++#define UCON64_AUR_DISCMAGE
+ #ifdef DLOPEN
+ #include "misc/dlopen.h"
+
+@@ -1232,11 +1233,21 @@
+ #elif defined __APPLE__ // Mac OS X actually
+ PROPERTY_MODE_DIR ("ucon64") "discmage.dylib",
+ #elif defined __unix__ || defined __BEOS__
++#ifndef UCON64_AUR_DISCMAGE
+ PROPERTY_MODE_DIR ("ucon64") "discmage.so",
++#else
++ DIR_SEPARATOR_S "usr" DIR_SEPARATOR_S "lib" DIR_SEPARATOR_S "discmage.so",
++#endif
+ #else
+ "",
+ #endif
++#ifndef UCON64_AUR_DISCMAGE
+ "complete path to the discmage library for DISC image support");
++#else
++ "complete path to the discmage library for DISC image support\n"
++ "this path has been modified by the ucon64 AUR package;\n"
++ "the upstream default is: " PROPERTY_MODE_DIR ("ucon64") "discmage.so");
++#endif
+ ucon64_set_property (&props[i++], org_configfile, "ucon64_configdir",
+ PROPERTY_MODE_DIR ("ucon64"),
+ "directory with additional config files");