[packages/kde4-smokegen] - fix typedef resolution on non-plain 32bit archs - rel 3

baggins baggins at pld-linux.org
Mon Apr 6 19:09:42 CEST 2015


commit 3ff44df0872551caef733410abdf81196db0c770
Author: Jan Rękorajski <baggins at pld-linux.org>
Date:   Mon Apr 6 17:08:02 2015 +0000

    - fix typedef resolution on non-plain 32bit archs
    - rel 3

 kde4-smokegen.spec |  4 +++-
 type-sizes.patch   | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 59 insertions(+), 1 deletion(-)
---
diff --git a/kde4-smokegen.spec b/kde4-smokegen.spec
index 68b3ede..9cae3a5 100644
--- a/kde4-smokegen.spec
+++ b/kde4-smokegen.spec
@@ -6,11 +6,12 @@ Summary:	smokegen - A SMOKE library
 Summary(pl.UTF-8):	smokegen - Biblioteka SMOKE
 Name:		kde4-smokegen
 Version:	4.14.3
-Release:	2
+Release:	3
 License:	GPL v2+
 Group:		X11/Libraries
 Source0:	http://download.kde.org/%{_state}/%{version}/src/%{orgname}-%{version}.tar.xz
 # Source0-md5:	2689a2a1a30f48112eb181960ecee158
+Patch0:		type-sizes.patch
 BuildRequires:	kde4-kdelibs-devel
 Obsoletes:	kde4-kdebindings-smoke-qt < 4.6.99
 Obsoletes:	smokegen <= 4.8.0
@@ -39,6 +40,7 @@ Pliki nagłówkowe biblioteki %{name}.
 
 %prep
 %setup -q -n %{orgname}-%{version}
+%patch0 -p1
 
 %build
 install -d build
diff --git a/type-sizes.patch b/type-sizes.patch
new file mode 100644
index 0000000..26fce6b
--- /dev/null
+++ b/type-sizes.patch
@@ -0,0 +1,56 @@
+--- smokegen-4.14.3/generators/smoke/generator_smoke.cpp~	2014-09-15 17:53:01.000000000 +0000
++++ smokegen-4.14.3/generators/smoke/generator_smoke.cpp	2015-04-06 15:56:55.017032882 +0000
+@@ -230,6 +230,19 @@
+         Util::typeMap["size_t"] = "uint";
+     } else if (sizeof(unsigned long) == sizeof(size_t)) {
+         Util::typeMap["size_t"] = "ulong";
++    } else if (sizeof(unsigned long long) == sizeof(size_t)) {
++        Util::typeMap["size_t"] = "ullong";
++    }
++
++    if (sizeof(unsigned int) == sizeof(time_t)) {
++        Util::typeMap["time_t"] = "uint";
++        Util::typeMap["__time_t"] = "uint";
++    } else if (sizeof(unsigned long) == sizeof(time_t)) {
++        Util::typeMap["time_t"] = "ulong";
++        Util::typeMap["__time_t"] = "ulong";
++    } else if (sizeof(unsigned long long) == sizeof(time_t)) {
++        Util::typeMap["time_t"] = "ullong";
++        Util::typeMap["__time_t"] = "ullong";
+     }
+ 
+     qDebug() << "Generating SMOKE sources...";
+--- smokegen-4.14.3/generatorpreprocessor.cpp~	2014-09-15 17:53:01.000000000 +0000
++++ smokegen-4.14.3/generatorpreprocessor.cpp	2015-04-06 16:53:53.003384162 +0000
+@@ -79,12 +79,30 @@
+     exportMacro->variadics = false;
+     m_topBlock->setMacro(exportMacro);
+ 
+-#if defined(Q_OS_DARWIN64)
++#if defined(Q_OS_DARWIN64) || (defined(Q_OS_LINUX) && defined(__LP64__) && defined(__x86_64__))
+     exportMacro = new rpp::pp_macro;
+     exportMacro->name = IndexedString("__LP64__");
+     exportMacro->function_like = false;
+     exportMacro->variadics = false;
+     m_topBlock->setMacro(exportMacro);
++    exportMacro = new rpp::pp_macro;
++    exportMacro->name = IndexedString("__x86_64__");
++    exportMacro->function_like = false;
++    exportMacro->variadics = false;
++    m_topBlock->setMacro(exportMacro);
++#endif
++
++#if defined(Q_OS_LINUX) && defined(__ILP32__) && defined(__x86_64__)
++    exportMacro = new rpp::pp_macro;
++    exportMacro->name = IndexedString("__ILP32__");
++    exportMacro->function_like = false;
++    exportMacro->variadics = false;
++    m_topBlock->setMacro(exportMacro);
++    exportMacro = new rpp::pp_macro;
++    exportMacro->name = IndexedString("__x86_64__");
++    exportMacro->function_like = false;
++    exportMacro->variadics = false;
++    m_topBlock->setMacro(exportMacro);
+ #endif
+ 
+ #if (defined(QT_ARCH_ARM) || defined (QT_ARCH_ARMV6)) && !defined(QT_NO_ARM_EABI)
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/kde4-smokegen.git/commitdiff/3ff44df0872551caef733410abdf81196db0c770



More information about the pld-cvs-commit mailing list