- updated shared patch, replaced one pseudo-libtool hack with another using real...
[packages/crossmingw32-libjpeg.git] / crossmingw32-libjpeg.spec
index 09e4026a2008b03aafe7a42f11d732223bf35657..65d1092d08e688da4ec314fdc7aad3b4bed3f76f 100644 (file)
@@ -5,7 +5,7 @@ Name:           crossmingw32-%{realname}
 Version:       6b
 Release:       5
 License:       distributable
-Group:         Libraries
+Group:         Development/Libraries
 Source0:       ftp://ftp.uu.net/graphics/jpeg/jpegsrc.v%{version}.tar.gz
 # Source0-md5: dbd5f3b47ed13132f04c685d608a7547
 Patch0:                %{realname}-DESTDIR.patch
@@ -13,27 +13,27 @@ Patch1:             %{realname}-include.patch
 Patch2:                %{realname}-c++.patch
 Patch3:                %{name}-shared.patch
 URL:           http://www.ijg.org/
-Requires:      crossmingw32-runtime
+BuildRequires: autoconf >= 2.50
+BuildRequires: automake
 BuildRequires: crossmingw32-gcc
-BuildRequires: crossmingw32-w32api
 BuildRequires: libtool
+Requires:      crossmingw32-runtime
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %define                no_install_post_strip   1
 
 %define                target                  i386-mingw32
 %define                target_platform         i386-pc-mingw32
-%define                arch                    %{_prefix}/%{target}
-%define                gccarch                 %{_prefix}/lib/gcc-lib/%{target}
-%define                gcclib                  %{_prefix}/lib/gcc-lib/%{target}/%{version}
 
 %define                _sysprefix              /usr
 %define                _prefix                 %{_sysprefix}/%{target}
-%define                _pkgconfigdir           %{_prefix}/lib/pkgconfig
+%define                _libdir                 %{_prefix}/lib
+%define                _dlldir                 /usr/share/wine/windows/system
 %define                __cc                    %{target}-gcc
 %define                __cxx                   %{target}-g++
 
-%ifarch alpha sparc sparc64 sparcv9
+%ifnarch %{ix86}
+# arch-specific flags (like alpha's -mieee) are not valid for i386 gcc
 %define                optflags        -O2
 %endif
 
@@ -41,13 +41,30 @@ BuildRoot:  %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 The libjpeg package contains a library of functions for manipulating
 JPEG images.
 
+This package contains the cross version for Win32.
+
 %description -l pl.UTF-8
 Ten pakiet zawiera bibliotekę funkcji do manipulacji plikami jpeg.
 
+Ten pakiet zawiera wersję skrośną dla Win32.
+
+%package static
+Summary:       Static libjpeg library (cross mingw32 version)
+Summary(pl.UTF-8):     Statyczna biblioteka libjpeg (wersja skrośna mingw32)
+Group:         Development/Libraries
+Requires:      %{name} = %{version}-%{release}
+
+%description static
+Static libjpeg library (cross mingw32 version).
+
+%description static -l pl.UTF-8
+Statyczna biblioteka libjpeg (wersja skrośna mingw32).
+
 %package dll
 Summary:       libjpeg - DLL library for Windows
 Summary(pl.UTF-8):     libjpeg - biblioteka DLL dla Windows
 Group:         Applications/Emulators
+Requires:      wine
 
 %description dll
 libjpeg - DLL library for Windows.
@@ -62,85 +79,71 @@ libjpeg - biblioteka DLL dla Windows.
 %patch2 -p1
 %patch3 -p1
 
+cp /usr/share/automake/config.* .
+
+# hack: use recent libtool by configuring for mingw32 in separate dir
+# (cannot regenerate main ac/lt because of missing configure.in)
+mkdir lthack
+cd lthack
+cat >configure.ac <<EOF
+AC_INIT(lthack, 0)
+AC_CONFIG_AUX_DIR(..)
+AC_PROG_LIBTOOL
+EOF
+
 %build
-CC=%{target}-gcc ; export CC
-CXX=%{target}-g++ ; export CXX
-LD=%{target}-ld ; export LD
-AR=%{target}-ar ; export AR
-AS=%{target}-as ; export AS
-CROSS_COMPILE=1 ; export CROSS_COMPILE
-CPPFLAGS="-I%{arch}/include" ; export CPPFLAGS
-RANLIB=%{target}-ranlib ; export RANLIB
-LDSHARED="%{target}-gcc -shared" ; export LDSHARED
-TARGET="%{target}" ; export TARGET
+cd lthack
+%{__libtoolize}
+%{__aclocal}
+%{__autoconf}
+%configure \
+       --target=%{target} \
+       --host=%{target}
+cd ..
 
 %configure \
        --target=%{target} \
        --host=%{target} \
-       --build=i386-linux \
-       --prefix=%{arch}
-
-%{__make}
-%{__make} jpeg.dll
-
-cat << "EOF" >> libjpeg.la
-# libjpeg.la - a libtool library file
-# Generated by ltmain.sh - GNU libtool 1.5.22 (1.1220.2.365 2005/12/18 22:14:06)
-# ^^^^ This line needs to stay
-# Made by czarny czarny at pld-linux.org
+       --enable-shared \
+       --enable-static
 
-# The name that we can dlopen(3).
-dlname='../bin/libjpeg.dll'
+cp -f lthack/libtool .
 
-# Names of this library.
-library_names='libjpeg.dll.a'
-
-# The name of the static archive.
-old_library='libjpeg.a'
-
-# Libraries that this one depends upon.
-dependency_libs=''
-
-# Version information for libz.
-current=0
-age=0
-revision=0
-
-# Is this an already installed library?
-installed=yes
-
-# Should we warn about portability when linking against -modules?
-shouldnotlink=no
-
-# Files to dlopen/dlpreopen
-dlopen=''
-dlpreopen=''
-
-# Directory that this library needs to be installed in:
-libdir='%{_libdir}'
-EOF
-
-%{target}-strip jpeg.dll
-%{target}-strip -g -R.comment -R.note *.a
+%{__make}
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT%{_prefix}/{include,lib,bin}
+install -d $RPM_BUILD_ROOT{%{_includedir},%{_libdir},%{_dlldir}}
+
+%{__make} install-headers install-lib \
+       libdir=%{_libdir} \
+       DESTDIR=$RPM_BUILD_ROOT
 
-install jconfig.h jerror.h jmorecfg.h jpeglib.h jversion.h $RPM_BUILD_ROOT%{_includedir}
-install *.a $RPM_BUILD_ROOT%{_libdir}
-install jpeg.dll $RPM_BUILD_ROOT%{_bindir}/libjpeg.dll
-install libjpeg.la $RPM_BUILD_ROOT%{_libdir}
+install -d $RPM_BUILD_ROOT%{_dlldir}
+mv -f $RPM_BUILD_ROOT%{_prefix}/bin/*.dll $RPM_BUILD_ROOT%{_dlldir}
+
+%if 0%{!?debug:1}
+%{target}-strip --strip-unneeded -R.comment -R.note $RPM_BUILD_ROOT%{_dlldir}/*.dll
+%{target}-strip -g -R.comment -R.note $RPM_BUILD_ROOT%{_libdir}/*.a
+%endif
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
 %files
 %defattr(644,root,root,755)
-%{_includedir}/*.h
-%{_libdir}/*.la
-%{_libdir}/*.a
+%doc README change.log
+%{_libdir}/libjpeg.dll.a
+%{_libdir}/libjpeg.la
+%{_includedir}/jconfig.h
+%{_includedir}/jerror.h
+%{_includedir}/jmorecfg.h
+%{_includedir}/jpeglib.h
+
+%files static
+%defattr(644,root,root,755)
+%{_libdir}/libjpeg.a
 
 %files dll
 %defattr(644,root,root,755)
-%{_bindir}/*.dll
+%{_dlldir}/libjpeg-*.dll
This page took 0.033264 seconds and 4 git commands to generate.