dev-games/aseprite: version bump to 1.1.7.
authorAzamat H. Hackimov <azamat.hackimov@gmail.com>
Tue, 6 Sep 2016 18:20:11 +0000 (23:20 +0500)
committerPatrice Clement <monsieurp@gentoo.org>
Wed, 14 Sep 2016 11:18:17 +0000 (13:18 +0200)
Added bundled allegro library support for resizing feature.

Gentoo-Bug: https://bugs.gentoo.org/588832

Package-Manager: portage-2.2.28
Closes: https://github.com/gentoo/gentoo/pull/2142

Signed-off-by: Patrice Clement <monsieurp@gentoo.org>
dev-games/aseprite/Manifest
dev-games/aseprite/aseprite-1.1.7.ebuild [new file with mode: 0644]
dev-games/aseprite/files/aseprite-1.1.7_type-punned_pointer.patch [new file with mode: 0644]
dev-games/aseprite/metadata.xml

index 5bdeed5ec65ca560799186d9c96b6ef744c90fa4..095a2768ce5fdcc3ddbcfdd6133bc9a91b0588ad 100644 (file)
@@ -1,3 +1,4 @@
 DIST Aseprite-v1.1.4.1-Source.zip 11723085 SHA256 731ac44259217626dde91cdcae9a24cdd4337540fc91bbe5c05cebcb12869879 SHA512 deeb42c123517e17378498584bb788f375e8aaaf046d5f9732848a5bd794a1af1d8381ff51271f9e30c198478e0f716ae23495972b693db9049ff4c2b8968672 WHIRLPOOL 5c2bd1bf8f5d187c385086a431ab070f55308b01089ce703e54093963402a9300295ea1cbf3602021fea1211ae68c6a2a07391e8e054827ce82ee60462001c4a
 DIST Aseprite-v1.1.6-Source.zip 11801981 SHA256 259c6418d5bc48a04f63a27f4a8c5a0aa44ce759403ba976ebbfad293eab08e8 SHA512 d87bcc5ece64cbc772ea5d4dc1edf29943d9038221905c0263511852afbb4e9119ce82468502a78c286729bb91389d08e3a8b7f358e4f6f8fe88507e7e69c9ac WHIRLPOOL 8f9168551be29d8c453fc1db27930a87e8228081b837c8c1a608045acdb7968715a8eb3994e04df83288f1fb12c5744f2bbb6c0733e578dd20bc4c4a2a234801
+DIST Aseprite-v1.1.7-Source.zip 11801711 SHA256 7b5b42d301fc37d3b62a50432a0fbff1483857b8f1829bb6fdac3b1a22d19ade SHA512 9a92853042c7de567a7eb33d10ddd38c6d6bd53acfe4b93dc96e11408a7bda39ef7503c159934c483f0455700933c541dfdc0cb4c505d3385778e40686e474e6 WHIRLPOOL 09097fe4784395370c7d8e1af7ee921943e0798c8e0853fdc6491f2daa0e80e1cf6e637041972a05abcfe687581ab1d2d72f99696def6ddbd69e2b8c1220db5e
 DIST aseprite-0.9.5.tar.xz 507744 SHA256 81e0360d9d8a32d6c548775dbacdb1520aac94b54c2d9f1327d52f219737f154 SHA512 fc6df942aefea67fd05e1b688209b70a2d5879a1441f61a6e3ee4d72fcdab4e580e1d4d7392fd493e0a46c45401a3eef759aa3efee17450e4c98df7f310b2d00 WHIRLPOOL 060dcf2754827ab3b30dde55cfcecd25e2d88f6e296b45529737e2194f4a9891d171776d10f9c571890efb9766b64080b85dc3d737102d2ac7be9843d27fdaef
diff --git a/dev-games/aseprite/aseprite-1.1.7.ebuild b/dev-games/aseprite/aseprite-1.1.7.ebuild
new file mode 100644 (file)
index 0000000..418b6cd
--- /dev/null
@@ -0,0 +1,102 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+inherit cmake-utils eutils flag-o-matic
+
+DESCRIPTION="Animated sprite editor & pixel art tool"
+HOMEPAGE="http://www.aseprite.org"
+SRC_URI="https://github.com/aseprite/aseprite/releases/download/v${PV}/Aseprite-v${PV}-Source.zip"
+
+# See https://github.com/aseprite/aseprite#credits
+# Some bundled third-party packages built-in:
+# gtest duktape modp_b64 simpleini
+LICENSE="BSD GPL-2 MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE="bundled-libs debug kde gtk3 test webp"
+
+RDEPEND="dev-libs/tinyxml
+       !bundled-libs? ( media-libs/allegro:0[X,png] )
+       media-libs/freetype
+       media-libs/giflib:=
+       webp? ( media-libs/libwebp )
+       media-libs/libpng:0=
+       net-misc/curl
+       sys-libs/zlib
+       virtual/jpeg:0
+       x11-libs/libX11
+       x11-libs/pixman
+       gtk3? ( dev-cpp/gtkmm:3.0 )
+       kde? (
+               dev-qt/qtcore:5
+               kde-frameworks/kio:5 )"
+DEPEND="${RDEPEND}
+       app-arch/unzip
+       gtk3? ( virtual/pkgconfig )
+       webp? ( virtual/pkgconfig )"
+
+DOCS=( docs/files/ase.txt
+       docs/files/fli.txt
+       docs/files/msk.txt
+       docs/files/pic.txt
+       docs/files/picpro.txt
+       README.md )
+
+S="${WORKDIR}"
+
+PATCHES=( "${FILESDIR}/${P}_type-punned_pointer.patch" )
+
+src_prepare() {
+       cmake-utils_src_prepare
+
+       # Fix to make flag-o-matic work.
+       if use debug ; then
+               sed -i '/-DNDEBUG/d' CMakeLists.txt || die
+       fi
+       # Fix shebang in thumbnailer
+       sed -i -e 's:#!/usr/bin/sh:#!/bin/sh:' desktop/aseprite-thumbnailer || die
+}
+
+src_configure() {
+       use debug && append-cppflags -DDEBUGMODE -D_DEBUG
+
+       local mycmakeargs=(
+               -DENABLE_UPDATER=OFF
+               -DFULLSCREEN_PLATFORM=ON
+               -DUSE_SHARED_ALLEGRO4=$(usex !bundled-libs)
+               -DUSE_SHARED_CURL=ON
+               -DUSE_SHARED_FREETYPE=ON
+               -DUSE_SHARED_GIFLIB=ON
+               -DUSE_SHARED_JPEGLIB=ON
+               -DUSE_SHARED_LIBLOADPNG=ON
+               -DUSE_SHARED_LIBPNG=ON
+               -DUSE_SHARED_PIXMAN=ON
+               -DUSE_SHARED_TINYXML=ON
+               -DUSE_SHARED_ZLIB=ON
+               -DUSE_SHARED_LIBWEBP=ON
+               -DWITH_DESKTOP_INTEGRATION=ON
+               -DWITH_GTK_FILE_DIALOG_SUPPORT="$(usex gtk3)"
+               -DWITH_QT_THUMBNAILER="$(usex kde)"
+               -DWITH_WEBP_SUPPORT="$(usex webp)"
+               -DENABLE_TESTS="$(usex test)"
+               -DKDE_INSTALL_USE_QT_SYS_PATHS=ON
+       )
+       cmake-utils_src_configure
+}
+
+src_install() {
+       newicon -s 64 "${S}/data/icons/ase64.png" "${PN}.png"
+       cmake-utils_src_install
+}
+
+pkg_postinst() {
+       if use !bundled-libs ; then
+               ewarn "Aseprite has been built with system-wide Allegro 4."
+               ewarn "Please note that you will not be able to resize the main window."
+               ewarn "For resizing support enable USE-flag bundled-libs and rebuild package."
+       fi
+}
diff --git a/dev-games/aseprite/files/aseprite-1.1.7_type-punned_pointer.patch b/dev-games/aseprite/files/aseprite-1.1.7_type-punned_pointer.patch
new file mode 100644 (file)
index 0000000..ca09214
--- /dev/null
@@ -0,0 +1,28 @@
+diff --git a/src/allegro/src/x/xkeyboard.c b/src/allegro/src/x/xkeyboard.c
+index f121e62..86fa4f7 100644
+--- a/src/allegro/src/x/xkeyboard.c
++++ b/src/allegro/src/x/xkeyboard.c
+@@ -356,6 +356,14 @@ static int find_unknown_key_assignment (int i)
+    return _xwin.keycode_to_scancode[i];
+ }
+
++/* unicode_getc:
++ * Reads a character from a Unicode string.
++ */
++static int unicode_getc(AL_CONST char *s)
++{
++   return *((unsigned short *)s);
++}
++
+
+
+ /* _xwin_keyboard_handler:
+@@ -412,7 +420,7 @@ void _xwin_keyboard_handler(XKeyEvent *event, int dga2_hack)
+       }
+       buffer[len] = '\0';
+       uconvert(buffer, U_UTF8, buffer2, U_UNICODE, sizeof buffer2);
+-      unicode = *(unsigned short *)buffer2;
++      unicode = unicode_getc(buffer2);
+
+ #ifdef ALLEGRO_XWINDOWS_WITH_XIM
+       r = XFilterEvent((XEvent *)event, _xwin.window);
index dff8a1c937b98ed87dc8dee12e760cee70308c7e..2e97a0b2c15791e7dda9214a62f8e72034da3877 100644 (file)
@@ -14,6 +14,7 @@
     Animated sprite editor and pixel art tool
   </longdescription>
   <use>
+    <flag name="bundled-libs">Use the upstream provided bundled version of allegro 4.4.2</flag>
     <flag name="gtk3">Enable support for the experimental native GTK File Dialog</flag>
     <flag name="memleak">Enable memory-leaks detector (only for developers)</flag>
     <flag name="static">Link against static version of C and C++ runtimes</flag>