# RPM spec file for Gtk2HS -*-rpm-spec-*- # # Copyright [2001..2002] Manuel M T Chakravarty # Copyright 2002, 2003, 2004 Jens-Ulrik Holger Petersen %define ghc_version 6.2.2 %define ghcver ghc622 %define old_suffix ghc%{ghc_version} %define mozver 37:1.7.3 Summary: A Haskell GUI library based on the Gtk+ GUI toolkit Name: gtk2hs Version: @VERSION@ Release: 0.%(date +%%Y%%m%%d) Epoch: 0 License: LGPL Group: Development/Libraries Source: gtk2hs-%{version}.tar.gz URL: http://gtk2hs.sourceforge.net/ BuildRoot: /var/tmp/gtk2hs-%{version}-root BuildRequires: ghc = %{ghc_version}, %{_bindir}/hsc2hs, haddock BuildRequires: gtk2-devel, gtksourceview-devel, libglade2-devel, GConf2-devel, mozilla-devel = %{mozver} %description A Gtk+ binding for the functional language Haskell featuring automatic memory management, unicode support, and wide coverage of widgets up to Gtk+ 2.2 as well as some 2.4 widgets such as the new file chooser dialog. %package -n gtk2hs-%{ghcver} Summary: A Haskell GUI library based on the Gtk+ GUI toolkit Group: Development/Languages/Haskell Requires: ghc = %{ghc_version}, gtk2hs-glib-%{ghcver} = %{version}-%{release} Requires: gtk2-devel Requires(post,preun): %{_bindir}/ghc-pkg-%{ghc_version} Conflicts: %{name}-%{old_suffix} %description -n gtk2hs-%{ghcver} A Gtk+ binding for the functional language Haskell featuring automatic memory management, unicode support, and wide coverage of widgets up to Gtk+ 2.2 as well as some 2.4 widgets such as the new file chooser dialog. This package contains the libraries compiled for ghc-%{ghc_version}. %package doc Summary: Haskell Gtk+ GUI library documentation Group: Development/Languages/Haskell %description doc A Gtk+ binding for the functional language Haskell featuring automatic memory management, unicode support, and wide coverage of widgets up to Gtk+ 2.2 as well as some 2.4 widgets such as the new file chooser dialog. This package contains the gtk2hs documentation. %package gconf-%{ghcver} Summary: Haskell binding for GConf Group: Development/Languages/Haskell Requires: ghc = %{ghc_version} Requires: gtk2hs-%{ghcver} = %{version}-%{release}, GConf-devel Requires(post,preun): %{_bindir}/ghc-pkg-%{ghc_version} Conflicts: %{name}-gconf-%{old_suffix} %description gconf-%{ghcver} A GConf binding for gtk2hs. This package is compiled for ghc-%{ghc_version}. %package glade-%{ghcver} Summary: Haskell binding of glade for gtk2hs. Group: Development/Languages/Haskell Requires: ghc = %{ghc_version} Requires: libglade2-devel Requires(post,preun): %{_bindir}/ghc-pkg-%{ghc_version} Conflicts: %{name}-glade-%{old_suffix} %description glade-%{ghcver} A Glade2 binding for gtk2hs. This package is compiled for ghc-%{ghc_version}. %package glib-%{ghcver} Summary: Haskell binding for glib Group: Development/Languages/Haskell Requires: ghc = %{ghc_version} Requires: glib-devel Requires(post,preun): %{_bindir}/ghc-pkg-%{ghc_version} %description glib-%{ghcver} A glib binding for gtk2hs. %package mozembed-%{ghcver} Summary: Haskell binding for gtkembedmoz Group: Development/Languages/Haskell Requires: ghc = %{ghc_version} Requires: gtk2hs-%{ghcver} = %{version}-%{release}, mozilla-devel = %{mozver} Requires(post,preun): %{_bindir}/ghc-pkg-%{ghc_version} %description mozembed-%{ghcver} A GtkEmbedMoz binding for gtk2hs. %package sourceview-%{ghcver} Summary: Haskell binding for gtksourceview Group: Development/Languages/Haskell Requires: ghc = %{ghc_version} Requires: gtk2hs-%{ghcver} = %{version}-%{release}, gtksourceview-devel Requires(post,preun): %{_bindir}/ghc-pkg-%{ghc_version} Conflicts: %{name}-sourceview-%{old_suffix} %description sourceview-%{ghcver} A GtkSourceView binding for gtk2hs. This package is compiled for ghc-%{ghc_version}. # the debuginfo subpackage is currently empty anyway, so don't generate it %define debug_package %{nil} %define __spec_install_post /usr/lib/rpm/brp-compress %define ghclibdir %{_libdir}/ghc-%{ghc_version} %define gtk2hsdir %{ghclibdir}/gtk2hs %prep %setup -q %build ./configure --with-hc=ghc-%{ghc_version} --with-hcflags="-O" --enable-docs --without-pkgreg --prefix=%{_prefix} --libdir=%{ghclibdir} LANG=C make all %install rm -rf %{buildroot} make DESTDIR=%{buildroot} install %clean rm -rf %{buildroot} %define ghcpkg_inst env pkglibdir=%{gtk2hsdir} ghc-pkg-%{ghc_version} -u -g -i %post -n gtk2hs-%{ghcver} %{ghcpkg_inst} %{gtk2hsdir}/gtk.pkg %{ghcpkg_inst} %{gtk2hsdir}/mogul.pkg %post gconf-%{ghcver} %{ghcpkg_inst} %{gtk2hsdir}/gconf.pkg %post glade-%{ghcver} %{ghcpkg_inst} %{gtk2hsdir}/glade.pkg %post glib-%{ghcver} %{ghcpkg_inst} %{gtk2hsdir}/glib.pkg %post mozembed-%{ghcver} %{ghcpkg_inst} %{gtk2hsdir}/mozembed.pkg %post sourceview-%{ghcver} %{ghcpkg_inst} %{gtk2hsdir}/sourceview.pkg %preun -n gtk2hs-%{ghcver} if [ "$1" = 0 ]; then rm -f %{gtk2hsdir}/{HSgtk,HSmogul}.o ghc-pkg-%{ghc_version} -r mogul || : ghc-pkg-%{ghc_version} -r gtk || : fi %preun gconf-%{ghcver} if [ "$1" = 0 ]; then rm -f %{gtk2hsdir}/HSgconf.o ghc-pkg-%{ghc_version} -r gconf || : fi %preun glade-%{ghcver} if [ "$1" = 0 ]; then rm -f %{gtk2hsdir}/HSglade.o ghc-pkg-%{ghc_version} -r glade || : fi %preun glib-%{ghcver} if [ "$1" = 0 ]; then rm -f %{gtk2hsdir}/HSglib.o ghc-pkg-%{ghc_version} -r glib || : fi %preun mozembed-%{ghcver} if [ "$1" = 0 ]; then rm -f %{gtk2hsdir}/HSmozembed.o ghc-pkg-%{ghc_version} -r mozembed || : fi %preun sourceview-%{ghcver} if [ "$1" = 0 ]; then rm -f %{gtk2hsdir}/HSsourceview.o ghc-pkg-%{ghc_version} -r sourceview || : fi %files -n gtk2hs-%{ghcver} %defattr(-,root,root) %dir %{gtk2hsdir} %{gtk2hsdir}/gtk.pkg %{gtk2hsdir}/mogul.pkg %{gtk2hsdir}/libHSgtk.a %{gtk2hsdir}/libHSmogul.a %dir %{gtk2hsdir}/imports %{gtk2hsdir}/imports/gtk %{gtk2hsdir}/imports/mogul %doc ChangeLog TODO AUTHORS COPYING.LIB %files doc %defattr(-,root,root) %{_defaultdocdir}/gtk2hs %files gconf-%{ghcver} %defattr(-,root,root) %dir %{gtk2hsdir} %{gtk2hsdir}/gconf.pkg %{gtk2hsdir}/libHSgconf.a %dir %{gtk2hsdir}/imports %{gtk2hsdir}/imports/gconf %files glade-%{ghcver} %defattr(-,root,root) %dir %{gtk2hsdir} %{gtk2hsdir}/glade.pkg %{gtk2hsdir}/libHSglade.a %dir %{gtk2hsdir}/imports %{gtk2hsdir}/imports/glade %files glib-%{ghcver} %defattr(-,root,root) %dir %{gtk2hsdir} %{gtk2hsdir}/glib.pkg %{gtk2hsdir}/libHSglib.a %dir %{gtk2hsdir}/imports %{gtk2hsdir}/imports/glib %files mozembed-%{ghcver} %defattr(-,root,root) %dir %{gtk2hsdir} %{gtk2hsdir}/mozembed.pkg %{gtk2hsdir}/libHSmozembed.a %dir %{gtk2hsdir}/imports %{gtk2hsdir}/imports/mozembed %files sourceview-%{ghcver} %defattr(-,root,root) %dir %{gtk2hsdir} %{gtk2hsdir}/sourceview.pkg %{gtk2hsdir}/libHSsourceview.a %dir %{gtk2hsdir}/imports %{gtk2hsdir}/imports/sourceview %changelog * Thu Aug 19 2004 Jens Petersen - use suffix -ghc621 instead of -ghc6.2.1 and conflict with old packages - buildrequire ghc-doc and gtk2hs-doc-ghc621 requires ghc-doc - move docs and demo files to %{_defaultdocdir}/gtk2hs * Mon Aug 16 2004 Jens Petersen - update to 0.9.6 * Thu Jul 22 2004 Jens Petersen - split sourceview and glade into separate subpackages - require -devel packages rather than lib pkg for gtk2, gtksourceview, and libglade2 * Wed Mar 24 2004 Jens Petersen - enable gtksourceview and glade configure options - use mkdir -p instead of mkdirhier - update file locations in %%post and %%preun scripts - buildrequire libglade2-devel * Tue Nov 11 2003 Jens Petersen - use %%c2hs instead of "--with c2hs" to configure c2hs program - clean demo to avoid binary files in docs dir * Mon Nov 3 2003 Jens Petersen - add sourceview package to %%post and %%preun - install gtksourceview haskell.lang language-spec * Thu Jul 31 2003 Jens Petersen - build with ghc-6.0.1 - put demo dir in docs dir rather than individual source files * Thu Jul 10 2003 Jens Petersen - build with ghc-6.0 - name ghc subpackage "ghc%%{ghc_version}" * Wed Jun 18 2003 Jens Petersen - require and buildrequire %{_bindir}/ghc-%%{ghc_version} * Wed May 21 2003 Jens Petersen - add -g option to ghc-pkg -u so that ghci object gets generated - delete them when uninstalling - build and include mogul documentation * Thu May 15 2003 Jens Petersen - use new DESTDIR make variable, so no longer need to fix config files in post - remove buildroot before install - build and include gtk docs * Fri Jan 10 2003 Jens Petersen - made into .spec.in file - let configure set the version - update description - introduce --with-c2hs rpmbuild option - use perl to remove buildroot traces from package conf files - simplify ghc-pkg update commands * Tue Dec 17 2002 Jens Petersen - latest cvs with ghc 5.04.2 * Thu Sep 26 2002 Jens Petersen - build with ghc-5.04.1 * Fri Aug 2 2002 Jens Petersen - only include demo source in doc dir * Fri Jul 26 2002 Jens Petersen - build with ghc-5.04 - cvs update * Wed Jul 10 2002 Jens Petersen - my current branch * Wed May 1 2002 Jens Petersen - patch TreeViewColumn.chs to make it usable * Tue Apr 23 2002 Jens Petersen - 0.9.0 - update gtk2 and mogul ghc-pkg entries on upgrade * Fri Apr 12 2002 Jens Petersen - adapt for gtk2hs - fix mk files for buildroot install - post and postun scriptlets for pkg config * Tue Mar 12 2002 Manuel Chakravarty - require a specific Haskell compiler (namely, the one for which the packages was compiled) * Sat Feb 17 2001 Manuel Chakravarty - derived from C->Haskell's .spec file