summaryrefslogtreecommitdiff
path: root/user/libslirp
diff options
context:
space:
mode:
Diffstat (limited to 'user/libslirp')
-rw-r--r--user/libslirp/APKBUILD39
-rw-r--r--user/libslirp/git-describe.patch24
-rw-r--r--user/libslirp/static.patch14
3 files changed, 77 insertions, 0 deletions
diff --git a/user/libslirp/APKBUILD b/user/libslirp/APKBUILD
new file mode 100644
index 000000000..bd88d3957
--- /dev/null
+++ b/user/libslirp/APKBUILD
@@ -0,0 +1,39 @@
+# Maintainer: Max Rees <maxcrees@me.com>
+pkgname=libslirp
+pkgver=4.3.0
+pkgrel=0
+pkgdesc="A general-purpose TCP/IP emulator"
+url="https://gitlab.freedesktop.org/slirp/libslirp"
+arch="all"
+options="!check" # No test suite.
+license="BSD-3-Clause AND MIT"
+depends=""
+makedepends="glib-dev meson"
+subpackages="$pkgname-dev"
+source="https://elmarco.fedorapeople.org/libslirp-$pkgver.tar.xz
+ git-describe.patch
+ static.patch
+ "
+
+# secfixes:
+# 4.3.0-r0:
+# - CVE-2020-1983
+
+build() {
+ meson \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var \
+ --buildtype=release \
+ . output
+ ninja -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" ninja -C output install
+}
+
+sha512sums="656a57878354b893503af69dfb11ab93dcf4728cc68bd0b6aa352073cbcf1b558924a5932e1996011002f72f5bddfb22ddaffc5a88078a61862c630d908e8beb libslirp-4.3.0.tar.xz
+fb66abe30c7b36c93bf759960275119c6d34e57861efe0cdc147a606a7a13b2d29f0f77dfe99326539800bd4ded9e39c736abd9d4ca9d6f16df2d50fd70fb7f6 git-describe.patch
+bb1bb5443d8083099d2a270b78b7ec74daa26634b2062d2c30460ed118b333942a9a555c96910216bb746311ae021d457f39a304a60fe07a3908a0c315a7c756 static.patch"
diff --git a/user/libslirp/git-describe.patch b/user/libslirp/git-describe.patch
new file mode 100644
index 000000000..9cc66bbad
--- /dev/null
+++ b/user/libslirp/git-describe.patch
@@ -0,0 +1,24 @@
+Otherwise you might get "-dirty" in the pc: version
+
+--- libslirp-4.3.0/build-aux/git-version-gen 2020-04-23 06:09:44.166262600 -0500
++++ libslirp-4.3.0/build-aux/git-version-gen 2020-04-24 15:08:09.450004079 -0500
+@@ -133,19 +133,6 @@ fi
+
+ v=`echo "$v" |sed 's/^v//'`
+
+-# Don't declare a version "dirty" merely because a time stamp has changed.
+-git update-index --refresh > /dev/null 2>&1
+-
+-dirty=`sh -c 'git diff-index --name-only HEAD' 2>/dev/null` || dirty=
+-case "$dirty" in
+- '') ;;
+- *) # Append the suffix only if there isn't one already.
+- case $v in
+- *-dirty) ;;
+- *) v="$v-dirty" ;;
+- esac ;;
+-esac
+-
+ # Omit the trailing newline, so that m4_esyscmd can use the result directly.
+ echo "$v" | tr -d "$nl"
+
diff --git a/user/libslirp/static.patch b/user/libslirp/static.patch
new file mode 100644
index 000000000..46451a168
--- /dev/null
+++ b/user/libslirp/static.patch
@@ -0,0 +1,14 @@
+library = shared
+both_libraries = shared and static (needed by qemu)
+
+--- libslirp-v4.2.0/meson.build 2020-03-17 10:07:35.000000000 +0000
++++ libslirp-v4.2.0/meson.build 2020-03-24 20:41:57.030331048 +0000
+@@ -100,7 +100,7 @@ configure_file(
+ configuration : conf
+ )
+
+-lib = library('slirp', sources,
++lib = both_libraries('slirp', sources,
+ version : lt_version,
+ c_args : cargs,
+ link_args : vflag,