x11-misc/easystroke: Rename internal function abs() (bug #638922).
authorJeroen Roovers <jer@gentoo.org>
Sat, 2 Dec 2017 20:31:46 +0000 (21:31 +0100)
committerJeroen Roovers <jer@gentoo.org>
Sat, 2 Dec 2017 20:32:01 +0000 (21:32 +0100)
Package-Manager: Portage-2.3.16, Repoman-2.3.6

x11-misc/easystroke/Manifest
x11-misc/easystroke/easystroke-0.6.0-r3.ebuild [new file with mode: 0644]
x11-misc/easystroke/files/easystroke-0.6.0-abs.patch [new file with mode: 0644]

index 122843bfc166155d92c9752eba50738834de70d7..86b94c17967f36aca364184740fd3d312c843940 100644 (file)
@@ -1 +1 @@
-DIST easystroke-0.6.0.tar.gz 121358 SHA256 f4c37adbc4dd405a24badb9e6be20d3223b4087ff9caed2c15ff71674051d0fd SHA512 a74cbdfd2b56e6b20d895297e80fb63f3d8ac938235ecf7067f984d087004af22a5ea0116ae20b948e238b02a06b14044a7025d65840f0c8d00542332387c921 WHIRLPOOL d1305449563d599c5159ebddb2fdc6c17f2e79d8a1ea5186cff9f6785545cb2941413fb498347da8801ac665e20f1aa252270bcc88e93d97111ae253924d7b18
+DIST easystroke-0.6.0.tar.gz 121358 BLAKE2B 9a4bec134f44620b10e1af9959ac4d82cb0a7ae8ea1e33ebfdafd2bb8367b7f431e48be4386803dc498b30f11a51b448570331d544fe089523ae710ffa8625ce SHA512 a74cbdfd2b56e6b20d895297e80fb63f3d8ac938235ecf7067f984d087004af22a5ea0116ae20b948e238b02a06b14044a7025d65840f0c8d00542332387c921
diff --git a/x11-misc/easystroke/easystroke-0.6.0-r3.ebuild b/x11-misc/easystroke/easystroke-0.6.0-r3.ebuild
new file mode 100644 (file)
index 0000000..74b4017
--- /dev/null
@@ -0,0 +1,68 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit eutils flag-o-matic toolchain-funcs
+
+DESCRIPTION="a gesture-recognition application for X11"
+HOMEPAGE="https://sourceforge.net/apps/trac/easystroke/"
+SRC_URI="mirror://sourceforge/project/${PN}/${PN}/${PV}/${P}.tar.gz"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+       dev-cpp/gtkmm:3.0
+       dev-libs/boost:=
+       dev-libs/dbus-glib
+       dev-libs/glib:2
+       x11-base/xorg-server
+       x11-libs/libX11
+       x11-libs/libXext
+       x11-libs/libXfixes
+       x11-libs/libXi
+       x11-libs/libXtst
+"
+DEPEND="
+       ${RDEPEND}
+       dev-util/intltool
+       sys-devel/gettext
+"
+PATCHES=(
+       "${FILESDIR}"/${P}-cellrendertextish.patch
+       "${FILESDIR}"/${P}-desktop.patch
+       "${FILESDIR}"/${P}-gentoo.patch
+       "${FILESDIR}"/${P}-reinstate-signal-handlers.patch
+       "${FILESDIR}"/${P}-buttons-scroll-send.patch
+       "${FILESDIR}"/${P}-cxx11.patch
+       "${FILESDIR}"/${P}-abs.patch
+)
+
+src_prepare() {
+       default
+
+       tc-export CC CXX PKG_CONFIG
+
+       if ! [[ -z ${LINGUAS} ]]; then
+               strip-linguas -i po/
+
+               local es_lingua lang
+               for es_lingua in $( printf "%s\n" po/*.po ); do
+                       lang=${es_lingua/po\/}
+                       has ${lang/.po/} ${LINGUAS} || rm ${es_lingua}
+               done
+       fi
+}
+
+src_compile() {
+       append-cxxflags -std=c++11
+       emake \
+               AOFLAGS='' \
+               LDFLAGS="${LDFLAGS}" \
+               PREFIX=/usr
+}
+
+src_install() {
+       emake DESTDIR="${D}" PREFIX=/usr install
+}
diff --git a/x11-misc/easystroke/files/easystroke-0.6.0-abs.patch b/x11-misc/easystroke/files/easystroke-0.6.0-abs.patch
new file mode 100644 (file)
index 0000000..9b4ab63
--- /dev/null
@@ -0,0 +1,45 @@
+--- a/handler.cc
++++ b/handler.cc
+@@ -533,7 +533,7 @@
+       virtual Grabber::State grab_mode() { return parent->grab_mode(); }
+ };
+ 
+-static inline float abs(float x) { return x > 0 ? x : -x; }
++static inline float easystroke_abs(float x) { return x > 0 ? x : -x; }
+ 
+ class AbstractScrollHandler : public Handler {
+       bool have_x, have_y;
+@@ -559,7 +559,7 @@
+                       xstate->fake_click(b2);
+       }
+       static float curve(float v) {
+-              return v * exp(log(abs(v))/3);
++              return v * exp(log(easystroke_abs(v))/3);
+       }
+ protected:
+       void move_back() {
+@@ -597,8 +597,8 @@
+               offset_x += factor * curve(dx/dt)*dt/20.0;
+               offset_y += factor * curve(dy/dt)*dt/10.0;
+               int b1 = 0, n1 = 0, b2 = 0, n2 = 0;
+-              if (abs(offset_x) > 1.0) {
+-                      n1 = (int)floor(abs(offset_x));
++              if (easystroke_abs(offset_x) > 1.0) {
++                      n1 = (int)floor(easystroke_abs(offset_x));
+                       if (offset_x > 0) {
+                               b1 = 7;
+                               offset_x -= n1;
+@@ -607,10 +607,10 @@
+                               offset_x += n1;
+                       }
+               }
+-              if (abs(offset_y) > 1.0) {
+-                      if (abs(offset_y) < 1.0)
++              if (easystroke_abs(offset_y) > 1.0) {
++                      if (easystroke_abs(offset_y) < 1.0)
+                               return;
+-                      n2 = (int)floor(abs(offset_y));
++                      n2 = (int)floor(easystroke_abs(offset_y));
+                       if (offset_y > 0) {
+                               b2 = 5;
+                               offset_y -= n2;