[mingw-plotmm] build win64 version

sailer sailer at fedoraproject.org
Sat Mar 2 11:10:17 UTC 2013


commit 7220af31a5176c2318e10f63ae008159ee08b6fd
Author: Thomas Sailer <t.sailer at alumni.ethz.ch>
Date:   Sat Mar 2 12:09:57 2013 +0100

    build win64 version

 mingw-plotmm.spec              |   71 +++++++++++++++++++++++++++++++++-------
 plotmm-0.1.2-libsigc++20.patch |   28 +++++++++++++++-
 2 files changed, 86 insertions(+), 13 deletions(-)
---
diff --git a/mingw-plotmm.spec b/mingw-plotmm.spec
index 87d2f68..b196838 100644
--- a/mingw-plotmm.spec
+++ b/mingw-plotmm.spec
@@ -1,10 +1,8 @@
-%global __strip %{mingw32_strip}
-%global __objdump %{mingw32_objdump}
-%define __debug_install_post %{mingw32_debug_install_post}
+%?mingw_package_header
 
 Name:           mingw-plotmm
 Version:        0.1.2
-Release:        15%{?dist}
+Release:        16%{?dist}
 Summary:        MinGW GTKmm plot widget for scientific applications
 Group:          Development/Libraries
 License:        LGPLv2
@@ -19,11 +17,17 @@ Patch1:         mingw32-plotmm-ac.patch
 BuildArch:      noarch
 
 BuildRequires:  mingw32-filesystem >= 68
+BuildRequires:  mingw64-filesystem >= 68
 BuildRequires:  mingw32-gcc
+BuildRequires:  mingw64-gcc
 BuildRequires:  mingw32-gcc-c++
+BuildRequires:  mingw64-gcc-c++
 BuildRequires:  mingw32-binutils
+BuildRequires:  mingw64-binutils
 BuildRequires:  mingw32-gtkmm24 >= 2.4.0
+BuildRequires:  mingw64-gtkmm24 >= 2.4.0
 BuildRequires:  mingw32-libpng
+BuildRequires:  mingw64-libpng
 BuildRequires:  libtool
 BuildRequires:  automake
 BuildRequires:  autoconf
@@ -33,9 +37,9 @@ This package provides an extension to the mingw32 gtkmm library.  It
 contains widgets which are primarily useful for technical and
 scientifical purposes.  Initially, this is a 2-D plotting widget.
 
-
+# Win32
 %package -n mingw32-plotmm
-Summary:        MinGW GTKmm plot widget for scientific applications
+Summary:        MinGW GTKmm plot widget for scientific applications for the win32 target
 Requires:       pkgconfig
 
 %description -n mingw32-plotmm
@@ -43,14 +47,40 @@ This package provides an extension to the mingw32 gtkmm library.  It
 contains widgets which are primarily useful for technical and
 scientifical purposes.  Initially, this is a 2-D plotting widget.
 
+%package -n mingw32-plotmm-static
+Summary:        Static version of the MinGW Windows PlotMM library
+Requires:       mingw32-plotmm = %{version}-%{release}
+Group:          Development/Libraries
+
+%description -n mingw32-plotmm-static
+Static version of the MinGW Windows PlotMM library.
+
+# Win64
+%package -n mingw64-plotmm
+Summary:        MinGW GTKmm plot widget for scientific applications for the win64 target
+Requires:       pkgconfig
 
-%{?mingw32_debug_package}
+%description -n mingw64-plotmm
+This package provides an extension to the mingw64 gtkmm library.  It
+contains widgets which are primarily useful for technical and
+scientifical purposes.  Initially, this is a 2-D plotting widget.
+
+%package -n mingw64-plotmm-static
+Summary:        Static version of the MinGW Windows PlotMM library
+Requires:       mingw64-plotmm = %{version}-%{release}
+Group:          Development/Libraries
+
+%description -n mingw64-plotmm-static
+Static version of the MinGW Windows PlotMM library.
+
+
+%?mingw_debug_package
 
 
 %prep
 %setup -q -n plotmm-%{version}
 %patch0 -p1 -b .libsigc++20
-%patch1 -p0 -b .mingw32
+%patch1 -p0 -b .mingw
 # update autotools, distributed files are so old they do not
 # get compiling dlls right
 libtoolize --force --copy
@@ -60,14 +90,15 @@ automake -a -c
 
 
 %build
-%{mingw32_configure} --disable-static
-make %{?_smp_mflags}
-
+%mingw_configure
+%mingw_make
 
 %install
-make DESTDIR=${RPM_BUILD_ROOT} install
+%mingw_make install DESTDIR=$RPM_BUILD_ROOT
 rm $RPM_BUILD_ROOT%{mingw32_bindir}/curves.exe
+rm $RPM_BUILD_ROOT%{mingw64_bindir}/curves.exe
 rm $RPM_BUILD_ROOT%{mingw32_bindir}/simple.exe
+rm $RPM_BUILD_ROOT%{mingw64_bindir}/simple.exe
 
 # Drop all .la files
 find $RPM_BUILD_ROOT -name "*.la" -delete
@@ -80,8 +111,24 @@ find $RPM_BUILD_ROOT -name "*.la" -delete
 %{mingw32_libdir}/pkgconfig/plotmm.pc
 %{mingw32_includedir}/plotmm
 
+%files -n mingw32-plotmm-static
+%{mingw32_libdir}/libplotmm.a
+
+%files -n mingw64-plotmm
+%doc AUTHORS COPYING ChangeLog README
+%{mingw64_bindir}/libplotmm-0.dll
+%{mingw64_libdir}/libplotmm.dll.a
+%{mingw64_libdir}/pkgconfig/plotmm.pc
+%{mingw64_includedir}/plotmm
+
+%files -n mingw64-plotmm-static
+%{mingw64_libdir}/libplotmm.a
+
 
 %changelog
+* Sat Mar  2 2013 Thomas Sailer <t.sailer at alumni.ethz.ch> - 0.1.2-16
+- build 64bit
+
 * Thu Feb 14 2013 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 0.1.2-15
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
 
diff --git a/plotmm-0.1.2-libsigc++20.patch b/plotmm-0.1.2-libsigc++20.patch
index ac0cd14..07ab4e3 100644
--- a/plotmm-0.1.2-libsigc++20.patch
+++ b/plotmm-0.1.2-libsigc++20.patch
@@ -13,7 +13,15 @@ diff -up plotmm-0.1.2/plotmm/curve.h.BAD plotmm-0.1.2/plotmm/curve.h
 diff -up plotmm-0.1.2/plotmm/plot.cc.BAD plotmm-0.1.2/plotmm/plot.cc
 --- plotmm-0.1.2/plotmm/plot.cc.BAD	2008-08-29 08:07:38.000000000 -0400
 +++ plotmm-0.1.2/plotmm/plot.cc	2008-08-29 08:08:01.000000000 -0400
-@@ -406,19 +406,19 @@ void Plot::replot()
+@@ -352,6 +352,7 @@
+ bool Plot::on_canvas_expose_event(GdkEventExpose* event)
+ {
+     replot();
++    return true;
+ }
+ 
+ /*! Replot all curves
+@@ -406,19 +407,19 @@
  }
  
  //! Return the signal owned by plot canvas
@@ -77,3 +85,21 @@ diff -up plotmm-0.1.2/plotmm/scale.h.BAD plotmm-0.1.2/plotmm/scale.h
  
      protected:
  	virtual void on_realize();
+--- plotmm-0.1.2/plotmm/paint.cc.BAD	2013-03-02 12:06:38.051397476 +0100
++++ plotmm-0.1.2/plotmm/paint.cc	2013-03-02 12:07:04.185655198 +0100
+@@ -34,12 +34,14 @@
+ {
+ }
+ 
+-bool Paint::operator!=(const Paint &) const
++bool Paint::operator!=(const Paint &x) const
+ {
++    return !(*this == x);
+ }
+ 
+ bool Paint::operator==(const Paint &) const
+ {
++    return false;
+ }
+ 
+ /*! Set the color of the pen


More information about the scm-commits mailing list