summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-python/pyfltk/Manifest1
-rw-r--r--dev-python/pyfltk/files/pyfltk-1.3.0-format-security.patch74
-rw-r--r--dev-python/pyfltk/files/pyfltk-1.3.0-linux-3.x-detection.patch15
-rw-r--r--dev-python/pyfltk/pyfltk-1.3.0-r2.ebuild50
4 files changed, 140 insertions, 0 deletions
diff --git a/dev-python/pyfltk/Manifest b/dev-python/pyfltk/Manifest
index 44b0eebb2b86..6f52b4468f5b 100644
--- a/dev-python/pyfltk/Manifest
+++ b/dev-python/pyfltk/Manifest
@@ -1 +1,2 @@
+DIST pyFltk-1.3.0.tar.gz 915600 SHA256 c52852d21ee17d495185259b46ac9603d683edde7d7e6d4b6f9268da4ee3de57 SHA512 908a6d9581741454440da92fe921f0a2a01be86a5ec01cbbf2d953eb5f0437efd8e635d7bff6c18015afc877a984872a6592df834709f93a1287307e17fbcc61 WHIRLPOOL 62281ef5c798986f1af82da53887fe40a6cd4f4bcfe7fab8d60fc7f3c4ad9cc2d481ced6b2e2bad7638ef843b9dcf396aa246838f173d2afaeaac530e0236d3b
DIST pyFltk-1.3.3.tar.gz 946763 SHA256 246b92c99b8d5610532456a4c956b355f6140514324916cf35efbe6468c4a188 SHA512 dd4bbef8e82d455237dd085622e78e046ac522449fe63610ee5405c24d759482a89aeab07435fefb5223db78cc1f810f1eca8355afb1d0ff3e4b5e10b73bef8f WHIRLPOOL 8d94349db36cd78eeee722e75c9e1cef088e0f2743bd522eb0496f76faf70a159d6987902f308478a992bd7f2cb62a5bb770a80eee25c3e9feaf08b513956ce1
diff --git a/dev-python/pyfltk/files/pyfltk-1.3.0-format-security.patch b/dev-python/pyfltk/files/pyfltk-1.3.0-format-security.patch
new file mode 100644
index 000000000000..f29b7b3c9221
--- /dev/null
+++ b/dev-python/pyfltk/files/pyfltk-1.3.0-format-security.patch
@@ -0,0 +1,74 @@
+ python/fltk_wrap.cpp | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/python/fltk_wrap.cpp b/python/fltk_wrap.cpp
+index 9c16f59..ad42e89 100644
+--- a/python/fltk_wrap.cpp
++++ b/python/fltk_wrap.cpp
+@@ -5238,13 +5238,13 @@ PyObject *Fl_get_font_sizes_tmp(PyObject *self, PyObject *args)
+
+ const char *fl_vararg_input(const char *label, const char *deflt = 0) {
+ const char* result = 0;
+- result = fl_input(label, deflt);
++ result = fl_input("%s", deflt, label);
+ return result;
+ };
+
+ const char *fl_vararg_password(const char *label, const char *deflt = 0) {
+ const char* result = 0;
+- result = fl_password(label, deflt);
++ result = fl_password("%s", deflt, label);
+ return result;
+ };
+
+@@ -5282,20 +5282,20 @@ PyObject *Fl_get_font_sizes_tmp(PyObject *self, PyObject *args)
+
+ void fl_mt_message(const char* text) {
+ Py_BEGIN_ALLOW_THREADS;
+- fl_message(text);
++ fl_message("%s", text);
+ Py_END_ALLOW_THREADS;
+ };
+
+ void fl_mt_alert(const char* text) {
+ Py_BEGIN_ALLOW_THREADS;
+- fl_alert(text);
++ fl_alert("%s", text);
+ Py_END_ALLOW_THREADS;
+ };
+
+ int fl_mt_ask(const char* text) {
+ int status = 0;
+ Py_BEGIN_ALLOW_THREADS;
+- status = fl_ask(text);
++ status = fl_ask("%s", text);
+ Py_END_ALLOW_THREADS;
+ return status;
+ };
+@@ -5303,7 +5303,7 @@ PyObject *Fl_get_font_sizes_tmp(PyObject *self, PyObject *args)
+ int fl_mt_choice(const char *q,const char *b0,const char *b1,const char *b2) {
+ int status = 0;
+ Py_BEGIN_ALLOW_THREADS;
+- status = fl_choice(q, b0, b1, b2);
++ status = fl_choice("%s", b0, b1, b2, q);
+ Py_END_ALLOW_THREADS;
+ return status;
+ };
+@@ -5311,7 +5311,7 @@ PyObject *Fl_get_font_sizes_tmp(PyObject *self, PyObject *args)
+ const char *fl_mt_input(const char *label, const char *deflt = 0) {
+ const char* result = 0;
+ Py_BEGIN_ALLOW_THREADS;
+- result = fl_input(label, deflt);
++ result = fl_input("%s", deflt, label);
+ Py_END_ALLOW_THREADS;
+ return result;
+ };
+@@ -5319,7 +5319,7 @@ PyObject *Fl_get_font_sizes_tmp(PyObject *self, PyObject *args)
+ const char *fl_mt_password(const char *label, const char *deflt = 0) {
+ const char* result = 0;
+ Py_BEGIN_ALLOW_THREADS;
+- result = fl_password(label, deflt);
++ result = fl_password("%s", deflt, label);
+ Py_END_ALLOW_THREADS;
+ return result;
+ };
diff --git a/dev-python/pyfltk/files/pyfltk-1.3.0-linux-3.x-detection.patch b/dev-python/pyfltk/files/pyfltk-1.3.0-linux-3.x-detection.patch
new file mode 100644
index 000000000000..9b084616c871
--- /dev/null
+++ b/dev-python/pyfltk/files/pyfltk-1.3.0-linux-3.x-detection.patch
@@ -0,0 +1,15 @@
+http://bugs.gentoo.org/show_bug.cgi?id=375253
+
+http://lipyrary.blogspot.com/2011/09/python-and-linux-kernel-30-sysplatform.html
+
+--- setup.py
++++ setup.py
+@@ -76,7 +76,7 @@
+ lib_dir_list = [fltk_lib_dir]
+ lib_list = ["fltk", "kernel32", "user32", "gdi32", "winspool", "comdlg32", "Comctl32", "advapi32", "shell32", "oleaut32", "odbc32", "odbccp32", "stdc++", "msvcr71"]
+ #link_arg_list=["-Wl,--enable-runtime-pseudo-reloc", "-Wl,--enable-auto-import"]
+-elif sys.platform == 'linux2':
++elif sys.platform.startswith('linux'):
+ print "Building for Linux"
+ # ugly hack to force distutils to use g++ instead of gcc for linking
+ from distutils import sysconfig
diff --git a/dev-python/pyfltk/pyfltk-1.3.0-r2.ebuild b/dev-python/pyfltk/pyfltk-1.3.0-r2.ebuild
new file mode 100644
index 000000000000..845f7a223f47
--- /dev/null
+++ b/dev-python/pyfltk/pyfltk-1.3.0-r2.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# FIXME: MakeSwig.py execution should be made work from pyfltk-1.1.5.ebuild
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 flag-o-matic
+
+MY_P=pyFltk-${PV}
+
+DESCRIPTION="Python interface to Fltk library"
+HOMEPAGE="http://pyfltk.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="amd64 arm ppc ppc64 x86"
+IUSE="doc"
+
+DEPEND=">=x11-libs/fltk-1.3.0:1[opengl]"
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/${MY_P}
+
+PATCHES=(
+ "${FILESDIR}"/${P}-linux-3.x-detection.patch
+ "${FILESDIR}"/${P}-format-security.patch
+ "${FILESDIR}"/ignore-func.patch
+ "${FILESDIR}"/fltk_wrap.patch
+ )
+
+python_prepare_all() {
+ # Disable installation of documentation and tests.
+ sed -i -e '/package_data=/d' setup.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+ append-flags -fno-strict-aliasing
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( fltk/docs/. )
+ distutils-r1_python_install_all
+}