diff options
-rw-r--r-- | dev-python/pyfltk/Manifest | 1 | ||||
-rw-r--r-- | dev-python/pyfltk/files/pyfltk-1.3.0-format-security.patch | 74 | ||||
-rw-r--r-- | dev-python/pyfltk/files/pyfltk-1.3.0-linux-3.x-detection.patch | 15 | ||||
-rw-r--r-- | dev-python/pyfltk/pyfltk-1.3.0-r2.ebuild | 50 |
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 +} |