summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlfredo Ramos2016-07-07 22:46:47 -0500
committerAlfredo Ramos2016-07-07 22:46:47 -0500
commitc82d135a09522056d40e5fd911158f159ad7e622 (patch)
tree5d968dcbbaf810b0ac2b74ab0630c0fb5d2bd2f2
parent3052ae2f19fa0ca19338bf029174d846f582e5d1 (diff)
downloadaur-c82d135a09522056d40e5fd911158f159ad7e622.tar.gz
Add fix for msgpack v2.0.0
-rw-r--r--.SRCINFO6
-rw-r--r--PKGBUILD10
-rw-r--r--fix_msgpack.patch37
3 files changed, 48 insertions, 5 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 4fb3a1f4d622..1070dbb28cb9 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,9 +1,7 @@
-# Generated by mksrcinfo v8
-# Sun Jun 19 01:43:48 UTC 2016
pkgbase = freeminer
pkgdesc = An open source sandbox game inspired by Minecraft.
pkgver = 0.4.14.8
- pkgrel = 1
+ pkgrel = 2
url = http://freeminer.org/
arch = i686
arch = x86_64
@@ -28,8 +26,10 @@ pkgbase = freeminer
conflicts = freeminer-git
source = https://github.com/freeminer/freeminer/releases/download/0.4.14.8/freeminer-0.4.14.8.zip
source = enet_shared_lib.patch
+ source = fix_msgpack.patch
sha512sums = 093c1640c9a070fdbd45074d0a4acc5b7894d23cd436dc3cf794cee8fff92930cf26f8d802b984cb9ce19bac7fccc6e0ce948c816c9e19b9e9551e373e560beb
sha512sums = ac51ee33df27f9fb3bdf16c50b2a9da602d6c55bba7afe21492d0056cdfefa5f84ccfb306c23bd2bcf22066ca3ef2a952110ba0de350602393754f0466383004
+ sha512sums = 4ac827ed4b1185264c6b7df279c40548b7e5dc5957129ee6dc4fe6ff05222844dabab67cf1f8c1932cac0cc691ac040812eca662d7ff36424eb3d3827bb126a0
pkgname = freeminer
diff --git a/PKGBUILD b/PKGBUILD
index e1d5756d2aed..db466c9d5618 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,7 +3,7 @@
pkgname=freeminer
pkgver=0.4.14.8
-pkgrel=1
+pkgrel=2
pkgdesc='An open source sandbox game inspired by Minecraft.'
arch=('i686' 'x86_64')
url='http://freeminer.org/'
@@ -20,17 +20,23 @@ conflicts=("${pkgname}-git")
source=(
"https://github.com/${pkgname}/${pkgname}/releases/download/${pkgver}/${pkgname}-${pkgver}.zip"
'enet_shared_lib.patch'
+ 'fix_msgpack.patch'
)
sha512sums=(
'093c1640c9a070fdbd45074d0a4acc5b7894d23cd436dc3cf794cee8fff92930cf26f8d802b984cb9ce19bac7fccc6e0ce948c816c9e19b9e9551e373e560beb'
'ac51ee33df27f9fb3bdf16c50b2a9da602d6c55bba7afe21492d0056cdfefa5f84ccfb306c23bd2bcf22066ca3ef2a952110ba0de350602393754f0466383004'
+ '4ac827ed4b1185264c6b7df279c40548b7e5dc5957129ee6dc4fe6ff05222844dabab67cf1f8c1932cac0cc691ac040812eca662d7ff36424eb3d3827bb126a0'
)
prepare() {
- # Use Arch's enet lib
cd "${srcdir}"/${pkgname}-${pkgver}
+
+ # Use Arch's enet lib
patch -Np1 < ../enet_shared_lib.patch
+ # Fix msgpack-c v2.0.0
+ patch -Np1 < ../fix_msgpack.patch
+
# Create build directory
mkdir -p "${srcdir}"/build
}
diff --git a/fix_msgpack.patch b/fix_msgpack.patch
new file mode 100644
index 000000000000..c7a6a1d9fcda
--- /dev/null
+++ b/fix_msgpack.patch
@@ -0,0 +1,37 @@
+diff -uprNEBZ --suppress-blank-empty a/src/network/networkpacket.cpp b/src/network/networkpacket.cpp
+--- a/src/network/networkpacket.cpp 2016-05-16 01:59:02.000000000 -0500
++++ b/src/network/networkpacket.cpp 2016-07-07 22:30:52.572633557 -0500
+@@ -539,11 +539,11 @@ Buffer<u8> NetworkPacket::oldForgePacket
+ }
+
+ //freeminer:
+-bool parse_msgpack_packet(char *data, u32 datasize, MsgpackPacket *packet, int *command, msgpack::unpacked *msg) {
++bool parse_msgpack_packet(char *data, u32 datasize, MsgpackPacket *packet, int *command, msgpack::unpacked &msg) {
+ try {
+ //msgpack::unpacked msg;
+ msgpack::unpack(msg, data, datasize);
+- msgpack::object obj = msg->get();
++ msgpack::object obj = msg.get();
+ *packet = obj.as<MsgpackPacket>();
+
+ *command = (*packet)[MSGPACK_COMMAND].as<int>();
+@@ -576,7 +576,7 @@ int NetworkPacket::packet_unpack() {
+ packet = new MsgpackPacketSafe;
+ if (!packet_unpacked)
+ packet_unpacked = new msgpack::unpacked;
+- if (!parse_msgpack_packet(getString(0), datasize, packet, &command, packet_unpacked)) {
++ if (!parse_msgpack_packet(getString(0), datasize, packet, &command, *packet_unpacked)) {
+ //verbosestream<<"Server: Ignoring broken packet from " <<addr_s<<" (peer_id="<<peer_id<<") size="<<datasize<<std::endl;
+ return 0;
+ }
+diff -uprNEBZ --suppress-blank-empty a/src/network/networkpacket.h b/src/network/networkpacket.h
+--- a/src/network/networkpacket.h 2016-05-16 01:59:02.000000000 -0500
++++ b/src/network/networkpacket.h 2016-07-07 22:31:26.005881914 -0500
+@@ -140,6 +140,6 @@ private:
+ };
+
+ #include "../util/msgpack_serialize.h"
+-bool parse_msgpack_packet(char *data, u32 datasize, MsgpackPacket *packet, int *command, msgpack::unpacked *msg);
++bool parse_msgpack_packet(char *data, u32 datasize, MsgpackPacket *packet, int *command, msgpack::unpacked &msg);
+
+ #endif