From 6e870b0e645e7abfca4b85b3cdbc998323143843 Mon Sep 17 00:00:00 2001 From: Dominik Mierzejewski Date: Tue, 21 Nov 2006 06:53:23 +0000 Subject: [PATCH] initial import into devel branch --- .cvsignore | 1 + libEMF-amd64.patch | 92 +++++++++++++++++++++++++++++++++++++++++ libEMF.spec | 101 +++++++++++++++++++++++++++++++++++++++++++++ sources | 1 + 4 files changed, 195 insertions(+) create mode 100644 libEMF-amd64.patch create mode 100644 libEMF.spec diff --git a/.cvsignore b/.cvsignore index e69de29..28bb411 100644 --- a/.cvsignore +++ b/.cvsignore @@ -0,0 +1 @@ +libEMF-1.0.3.tar.gz diff --git a/libEMF-amd64.patch b/libEMF-amd64.patch new file mode 100644 index 0000000..e860947 --- /dev/null +++ b/libEMF-amd64.patch @@ -0,0 +1,92 @@ +--- libEMF-1.0.3/libemf/libemf.h.amd64 2004-11-11 23:33:43.000000000 +0100 ++++ libEMF-1.0.3/libemf/libemf.h 2006-11-19 00:54:37.000000000 +0100 +@@ -306,6 +306,7 @@ + fread( &word, sizeof(INT16), 1, fp_ ); + return *this; + } ++#if !(defined(_LP64) || defined(__alpha__)) + /*! + * Output a double word (long) to the stream (swabbed). + * \param word word (long) to output. +@@ -374,6 +375,7 @@ + fread( &long_, sizeof(LONG), 1, fp_ ); + return *this; + } ++#endif + /*! + * Output a (long) int to the stream (swabbed). + * \param int_ (long) int to output. +--- libEMF-1.0.3/include/libEMF/wine/winbase.h.amd64 2004-07-29 08:20:38.000000000 +0200 ++++ libEMF-1.0.3/include/libEMF/wine/winbase.h 2006-11-19 00:55:17.000000000 +0100 +@@ -1802,6 +1802,7 @@ + VOID WINAPI SetLastError(DWORD); + #endif /* __i386__ && __GNUC__ */ + ++#if 0 + /* FIXME: should handle platforms where sizeof(void*) != sizeof(long) */ + static inline PVOID WINAPI InterlockedCompareExchangePointer( PVOID *dest, PVOID xchg, PVOID compare ) + { +@@ -1812,6 +1813,7 @@ + { + return (PVOID)InterlockedExchange( (PLONG)dest, (LONG)val ); + } ++#endif + + #ifdef __WINE__ + #define GetCurrentProcess() ((HANDLE)0xffffffff) +--- libEMF-1.0.3/include/libEMF/wine/winnt.h.amd64 2005-08-07 17:50:12.000000000 +0200 ++++ libEMF-1.0.3/include/libEMF/wine/winnt.h 2006-11-19 00:54:37.000000000 +0100 +@@ -29,10 +29,14 @@ + + /* Architecture dependent settings. */ + /* These are hardcoded to avoid dependencies on config.h in Winelib apps. */ +-#if defined(__i386__) ++#if defined(__i386__) || defined(__x86_64__) + # undef WORDS_BIGENDIAN + # undef BITFIELDS_BIGENDIAN + # define ALLOW_UNALIGNED_ACCESS ++#elif defined(__alpha__) ++# undef WORDS_BIGENDIAN ++# undef BITFIELDS_BIGENDIAN ++# undef ALLOW_UNALIGNED_ACCESS + #elif defined(__sparc__) + # define WORDS_BIGENDIAN + # define BITFIELDS_BIGENDIAN +@@ -222,8 +226,13 @@ + typedef unsigned short WORD, *PWORD, *LPWORD; + typedef int INT, *PINT, *LPINT; + typedef unsigned int UINT, *PUINT, *LPUINT; ++#if defined(_LP64) || defined(__alpha__) ++typedef unsigned int DWORD, *PDWORD, *LPDWORD; ++typedef unsigned int ULONG, *PULONG, *LPULONG; ++#else + typedef unsigned long DWORD, *PDWORD, *LPDWORD; + typedef unsigned long ULONG, *PULONG, *LPULONG; ++#endif + typedef float FLOAT, *PFLOAT, *LPFLOAT; + typedef double DOUBLE, *PDOUBLE, *LPDOUBLE; + typedef double DATE; +@@ -263,7 +272,11 @@ + typedef BYTE BOOLEAN, *PBOOLEAN; + typedef char CHAR, *PCHAR; + typedef short SHORT, *PSHORT; ++#if defined(_LP64) || defined(__alpha__) ++typedef int LONG, *PLONG, *LPLONG; ++#else + typedef long LONG, *PLONG, *LPLONG; ++#endif + + /* Some systems might have wchar_t, but we really need 16 bit characters */ + #ifndef WINE_WCHAR_DEFINED +@@ -652,6 +665,11 @@ + + #endif /* __i386__ */ + ++#ifdef __x86_64__ ++#define CONTEXT_FULL 1 ++typedef struct _CONTEXT CONTEXT; ++#endif ++ + /* Alpha context definitions */ + #ifdef _ALPHA_ + diff --git a/libEMF.spec b/libEMF.spec new file mode 100644 index 0000000..92c9650 --- /dev/null +++ b/libEMF.spec @@ -0,0 +1,101 @@ +Summary: A library for generating Enhanced Metafiles +Summary(pl): Biblioteka do generowania plików w formacie Enhanced Metafile +Name: libEMF +Version: 1.0.3 +Release: 3%{?dist} +License: LGPL/GPL +Group: System Environment/Libraries +Source0: http://dl.sourceforge.net/pstoedit/%{name}-%{version}.tar.gz +# Source0-md5: a4e91fd8077ce5f540f569e20e8ef7ff +Patch0: %{name}-amd64.patch +URL: http://libemf.sourceforge.net/ +BuildRequires: libstdc++-devel +BuildRequires: libtool +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(id -u -n) + +%description +libEMF is a library for generating Enhanced Metafiles on systems which +don't natively support the ECMA-234 Graphics Device Interface +(GDI). The library is intended to be used as a driver for other +graphics programs such as Grace or gnuplot. Therefore, it implements a +very limited subset of the GDI. + +%description -l pl +libEMF to biblioteka do generowania plików w formacie Enhanced +Metafile na systemach nie obsługujących natywnie systemu graficznego +ECMA-234 GDI. Biblioteka ma służyć jako sterownik dla innych programów +graficznych, takich jak Grace czy gnuplot. Z tego powodu ma +zaimplementowany bardzo ograniczony podzbiór GDI. + +%package devel +Summary: libEMF header files +Summary(pl): Pliki nagłówkowe libEMF +Group: Development/Libraries +Requires: %{name} = %{version}-%{release} +Requires: libstdc++-devel + +%description devel +libEMF header files. + +%description devel -l pl +Pliki nagłówkowe libEMF. + +%prep +%setup -q +%patch0 -p1 -b .amd64 +chmod 0644 libemf/libemf.h + +%build +# supplied libtool is broken (no C++ libraries support) +%{__libtoolize} --force +%{__aclocal} +%{__autoconf} +%{__automake} +%configure \ + --disable-static \ + --enable-editing + +%{__make} %{?_smp_mflags} + +%install +rm -rf $RPM_BUILD_ROOT + +export CPPROG="cp -p" +%{__make} install \ + DESTDIR=$RPM_BUILD_ROOT + +rm $RPM_BUILD_ROOT%{_libdir}/libEMF.la + +%check +%{__make} check + +%clean +rm -rf $RPM_BUILD_ROOT + +%post -p /sbin/ldconfig +%postun -p /sbin/ldconfig + +%files +%defattr(644,root,root,755) +%doc AUTHORS ChangeLog COPYING COPYING.LIB NEWS README +%attr(755,root,root) %{_bindir}/* +%attr(755,root,root) %{_libdir}/lib*.so.* + +%files devel +%defattr(644,root,root,755) +%doc doc/html +%attr(755,root,root) %{_libdir}/lib*.so +%{_includedir}/libEMF + +%changelog +* Sun Nov 19 2006 Dominik 'Rathann' Mierzejewski 1.0.3-3 +- remove executable bit from libemf.h + +* Sun Nov 19 2006 Dominik 'Rathann' Mierzejewski 1.0.3-2 +- added license texts +- preserved timestamps during install +- added %%check section + +* Sun Nov 19 2006 Dominik 'Rathann' Mierzejewski 1.0.3-1 +- adapted PLD spec +- enhanced amd64 patch diff --git a/sources b/sources index e69de29..d4967fa 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +a4e91fd8077ce5f540f569e20e8ef7ff libEMF-1.0.3.tar.gz