summaryrefslogtreecommitdiffstats
path: root/main/fish
diff options
context:
space:
mode:
Diffstat (limited to 'main/fish')
-rw-r--r--main/fish/APKBUILD53
-rw-r--r--main/fish/fish-safe-strerror.patch31
2 files changed, 84 insertions, 0 deletions
diff --git a/main/fish/APKBUILD b/main/fish/APKBUILD
new file mode 100644
index 000000000..edd15a4e7
--- /dev/null
+++ b/main/fish/APKBUILD
@@ -0,0 +1,53 @@
+# Contributor: William Pitcock <nenolod@dereferenced.org>
+# Maintainer: William Pitcock <nenolod@dereferenced.org>
+pkgname=fish
+pkgver=2.0.0
+pkgrel=0
+pkgdesc="a modern interactive commandline shell"
+url="http://www.fishshell.com/"
+arch="all"
+
+# guessed from fish/fish.cpp *gag*
+license="GPL"
+
+depends=""
+depends_dev="libiconv-dev libncurses-dev"
+makedepends="$depends_dev autoconf automake libtool"
+install=""
+subpackages="$pkgname-doc"
+source="http://fishshell.com/files/$pkgver/fish-$pkgver.tar.gz
+
+ fish-safe-strerror.patch"
+
+_builddir="$srcdir"/fish
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+
+ autoconf
+}
+
+build() {
+ cd "$_builddir"
+
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc || return 1
+ make || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make install DESTDIR="$pkgdir" || return 1
+}
+
+md5sums="fe5907e6af61607d4128ce891a1f6501 fish-2.0.0.tar.gz
+f99973e0ed551b4ab592ab7b3bd43343 fish-safe-strerror.patch"
+sha256sums="7e4c4a0b3c518769a3d31b235e743de7a8d52f851ad19d2df9d53534e6238303 fish-2.0.0.tar.gz
+11478ff89e9e775b2934835fc99cf164157dd9c382118fe461951ac43bf6947c fish-safe-strerror.patch"
+sha512sums="a41e1b3737d5b556e08728312f486c55d1405492dd0be8a97694dabc0974b90ecbacfc74d3e427d63e9b3a639a03844b98ecded68cb3060522eee68879c28ce1 fish-2.0.0.tar.gz
+117778f4c3e3f37236aa8a7c01a7993eadab6ff38cd777d6806f4fcf264cc83de054bc42040c294105d1be73b82408fdd241a6a175c8916827577c7da401aa97 fish-safe-strerror.patch"
diff --git a/main/fish/fish-safe-strerror.patch b/main/fish/fish-safe-strerror.patch
new file mode 100644
index 000000000..e596da108
--- /dev/null
+++ b/main/fish/fish-safe-strerror.patch
@@ -0,0 +1,31 @@
+--- fish/wutil.cpp
++++ fish.orig/wutil.cpp
+@@ -319,27 +319,7 @@
+
+ const char *safe_strerror(int err)
+ {
+- if (err >= 0 && err < sys_nerr && sys_errlist[err] != NULL)
+- {
+- return sys_errlist[err];
+- }
+- else
+- {
+- int saved_err = errno;
+-
+- /* Use a shared buffer for this case */
+- static char buff[384];
+- char errnum_buff[64];
+- format_long_safe(errnum_buff, err);
+-
+- buff[0] = '\0';
+- safe_append(buff, "unknown error (errno was ", sizeof buff);
+- safe_append(buff, errnum_buff, sizeof buff);
+- safe_append(buff, ")", sizeof buff);
+-
+- errno = saved_err;
+- return buff;
+- }
++ return strerror(err);
+ }
+
+ void safe_perror(const char *message)