%define build_compat32 %{?_with_compat32:1}%{!?_with_compat32:0}
Summary: A graphics library for drawing .png files.
Summary(ja): PNGイメージファイルを描写するためのグラフィックライブラリ
Name: gd
Version: 2.0.35
Release: 7%{_dist_release}
Source0: http://www.libgd.org/releases/gd-%{version}.tar.bz2
Patch1:  gd-2.0.35-overflow.patch
Patch2:  gd-2.0.35-CVE-2009-3546.diff
License: BSD-style
URL: http://www.libgd.org/
Group: System Environment/Libraries

BuildRoot: %{_tmppath}/%{name}-%{version}-root
BuildRequires: libjpeg-devel zlib-devel freetype2-devel
BuildRequires: libpng-devel >= 2:1.2.5
BuildRequires: libX11-devel libXpm-devel

Vendor: Project Vine
Distribution: Vine Linux

%description
Gd is a graphics library for drawing .png files.  Gd allows your code to
quickly draw images (lines, arcs, text, multiple colors, cutting and
pasting from other images, flood fills) and write out the result as a
.png file. Gd is particularly useful in web applications, where .pngs
are commonly used as inline images.  Note, however, that gd is not a
paint program.

Install gd if you are developing applications which need to draw .png
files.  If you install gd, you'll also need to install the gd-devel
package.

%description -l ja
GdはPNGファイルを描写するためのグラフックライブラリです。 Gdを使って、
画像(線や弧, テキスト, カラー, 他の画像からのカット＆ペースト等々)を
簡単に描写して、PNGファイルへ結果を出力することができます。
Gdは特に、一般にPNG画像を埋め込む必要のあるウェブアプリケーションで
便利です。ただし、注意して欲しいのは, Gdはペイントツールではありませ
ん。

PNGファイルを描写する必要のあるアプリケーションを開発する場合、
Gdをインストールしてください。gdをインストールした場合、gd-devel
パッケージも必要になります。

%package progs
Summary: Utility programs that use libgd.
Summary(ja): libgd を用いたユーティリティプログラム
Group: Applications/Graphics
Requires: gd = %{version}, perl

%description progs
These are utility programs supplied with gd, the .png graphics library.
If you install these, you must install gd.

%description progs -l ja
これは PNG グラフィックライブラリ gd によって提供されるユーティリティ
プログラムです。これをインストールするには, gdをインストールする必要
があります。

%package devel
Requires: gd = %{version}
Summary: The development libraries and header files for gd.
Summary(ja): gd用の開発ライブラリとヘッダファイル
Group: Development/Libraries

%description devel
These are the development libraries and header files for gd, the .png
graphics library.

If you're installing the gd graphics library, you must install gd-devel.

%description devel -l ja
これらは開発ライブラリです。
PNGグラフィックライブラリ gd 用の開発ライブラリおよびヘッダファイル
です。

gdをインストールした場合、gd-develパッケージも必要になります。


## to build compat32 for x86_64 architecture support
%package -n compat32-%{name}
Summary: A graphics library for drawing .png files.
Group: System Environment/Libraries
%description -n compat32-%{name}
Gd is a graphics library for drawing .png files.  Gd allows your code to
quickly draw images (lines, arcs, text, multiple colors, cutting and
pasting from other images, flood fills) and write out the result as a
.png file. Gd is particularly useful in web applications, where .pngs
are commonly used as inline images.  Note, however, that gd is not a
paint program.

Install gd if you are developing applications which need to draw .png
files.  If you install gd, you'll also need to install the gd-devel
package.

%package -n compat32-%{name}-devel
Summary: The development libraries and header files for gd.
Group: Development/Libraries
%description -n compat32-%{name}-devel
These are the development libraries and header files for gd, the .png
graphics library.

If you're installing the gd graphics library, you must install gd-devel.


%prep
%setup -q
%patch1 -p1 -b .overflow
%patch2 -p0 -b .CVE-2009-3546

%build
# %if %{build_compat32}
# export CC='gcc -m32'
# %configure CPPFLAGS="-DJISX0208"
# make %{?_smp_mflags} LDFLAGS='-L/usr/lib -Wl,-rpath,/usr/lib  -L/usr/X11R6/lib'
# %else
%configure CPPFLAGS="-DJISX0208"
make %{?_smp_mflags}
# %endif

%install
[ "$RPM_BUILD_ROOT" != "/" ] && rm -fr $RPM_BUILD_ROOT
make DESTDIR=$RPM_BUILD_ROOT install
## remove unuse files
rm -rf $RPM_BUILD_ROOT%{_libdir}/*.la

%clean
[ "$RPM_BUILD_ROOT" != "/" ] && rm -fr $RPM_BUILD_ROOT

%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig

%if %{build_compat32}
%post -n compat32-%{name} -p /sbin/ldconfig
%postun -n compat32-%{name} -p /sbin/ldconfig
%endif

# %if !%{build_compat32}
%files
%defattr(-,root,root)
%doc COPYING README*
%{_libdir}/*.so.*

%files progs
%defattr(-,root,root)
%{_bindir}/*
%exclude %{_bindir}/gdlib-config

%files devel
%defattr(-,root,root)
%{_bindir}/gdlib-config
%{_includedir}/*
%{_libdir}/*.so
%{_libdir}/*.a
#%{_libdir}/*.la
# %endif

%if %{build_compat32}
%files -n compat32-%{name}
%defattr(-,root,root)
%{_libdir}/*.so.*
%files -n compat32-%{name}-devel
%defattr(-,root,root)
%{_libdir}/*.so
%{_libdir}/*.a
#%{_libdir}/*.la
%endif

%changelog
* Fri Mar 09 2012 MATSUBAYASHI Kohji <shaolin@vinelinux.org> - 2.0.35-7
- move gdlib-config from gd-progs subpackage to gd-devel subpackage

* Thu Apr 14 2011 IWAI, Masaharu <iwai@alib.jp> 2.0.35-6
- build on current VineSeed

* Tue Nov  3 2009 Satoshi IWAMOTO <satoshi.iwamoto@nifty.ne.jp> 2.0.35-5
- fix build_compat32 if-endif sections

* Sat Oct 31 2009 Satoshi IWAMOTO <satoshi.iwamoto@nifty.ne.jp> 2.0.35-4
- add patch2 for fix CVE-2009-3546 (_gdGetColors())

* Wed Apr  8 2009 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 2.0.35-3
- updated URL
- changed progs Group to Applications/Graphics
- added %%postun section

* Fri Sep 26 2008 Shu KONNO <owa@bg.wakwak.com> 2.0.35-2
- removed  *.la
- spec in utf-8

* Sat Apr 05 2008 Satoshi IWAMOTO <satoshi.iwamoto@nifty.ne.jp> 2.0.35-1
- add patch1 from centos5
- new versioning policy

* Wed Feb 14 2007 Satoshi IWAMOTO <satoshi.iwamoto@nifty.ne.jp> 2.0.35-0vl1
- new upstream release with security fix (CVE-2007-2756)

* Wed Feb 14 2007 Satoshi IWAMOTO <satoshi.iwamoto@nifty.ne.jp> 2.0.34-0vl1
- new upstream release with security fix
- change source tarball format gz -> bz2

* Fri Mar 17 2006 Shu KONNO <owa@bg.wakwak.com> 2.0.33-0vl2
- added compat32-* packages for x86_64 architecture support

* Sat Nov  6 2004 AKIYAMA Kazuhito <akiyama@yb3.so-net.ne.jp> 2.0.33-0vl1
- source upgrade

* Wed Jul 14 2004 KOBAYASHI R. Taizo <tkoba@vinelinux.org> 2.0.27-0vl1
- source update
- added -DJISX0208 flag

* Thu Jun 17 2004 AKIYAMA Kazuhito <akiyama@yb3.so-net.ne.jp> 2.0.26-0vl1
- source upgrade
- BuildPrereq: XOrg-devel instead of XFree86-devel

* Wed Mar 31 2004 AKIYAMA Kazuhito <akiyama@yb3.so-net.ne.jp> 2.0.22-0vl1
- source upgrade
- remove patch0 (no need for freetype2-2.1.7)

* Wed Nov 19 2003 AKIYAMA Kazuhito <akiyama@yb3.so-net.ne.jp> 2.0.15-0vl2
- add patch0 to build against freetype2-2.1.7

* Sat Jun  7 2003 AKIYAMA Kazuhito <akiyama@yb3.so-net.ne.jp> 2.0.15-0vl1
- source upgrade
- add URL
- remove all patches
- use %%configure script
- add BuildPrereq: freetype2-devel XFree86-devel
- remove BuildPrereq: VFlib-devel
- update %%files
- update Requires:
- use License tag instead of Copyright

* Fri Apr 18 2003 AKIYAMA Kazuhito <akiyama@yb3.so-net.ne.jp> 1.8.3-0vl4
- rebuild with libpng-devel-1.2.5-0vl1

* Sun Apr 13 2003 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 1.8.3-0vl3
- rebuild with new toolchain

* Sat Sep 02 2000 MATSUBAYASHI 'Shaolin' Kohji <shaolin@rhythmaning.org>
- 1.8.3-0vl2
- symlink to libgd.so.1 (for backward compatibility)

* Mon Jun  6 2000 Yasuyuki Furukawa <furukawa@vinelinux.org>
- first gd 1.8.x release for Vine from rawhide.
- enable freetype support and defined JISX208 macro.

* Mon May 22 2000 Nalin Dahyabhai <nalin@redhat.com> 
- break out a -progs subpackage
- disable freetype support

* Fri May 19 2000 Nalin Dahyabhai <nalin@redhat.com> 
- update to latest version (1.8.2)
- disable xpm support

* Thu Feb 03 2000 Nalin Dahyabhai <nalin@redhat.com> 
- auto rebuild in the new build environment (release 6)

* Sun Mar 21 1999 Cristian Gafton <gafton@redhat.com> 
- auto rebuild in the new build environment (release 5)

* Thu Dec 17 1998 Cristian Gafton <gafton@redhat.com>
- buiuld for glibc 2.1

* Fri Sep 11 1998 Cristian Gafton <gafton@redhat.com>
- built for 5.2
