diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1ba4510 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +alex-2.3.3.tar.gz +/alex-2.3.4.tar.gz +/alex-2.3.5.tar.gz +/alex-3.0.1.tar.gz diff --git a/alex-ghc74-fix-bang-pattern.patch b/alex-ghc74-fix-bang-pattern.patch new file mode 100644 index 0000000..cbc5fe4 --- /dev/null +++ b/alex-ghc74-fix-bang-pattern.patch @@ -0,0 +1,53 @@ +# Author : Erik de Castro Lopo +# Description : Fix generated haskell code so it doesn't fail with -Werror. +# Debian Version : 2.3.5 +# Date : Sun, 17 Apr 2011 15:45:41 +1000 + +--- a/templates/GenericTemplate.hs ++++ b/templates/GenericTemplate.hs +@@ -9,7 +9,7 @@ + + #ifdef ALEX_GHC + #define ILIT(n) n# +-#define FAST_INT_BINDING(n) (n) ++#define FAST_INT_BINDING(n) (!(n)) + #define IBOX(n) (I# (n)) + #define FAST_INT Int# + #define LT(n,m) (n <# m) +@@ -57,10 +57,10 @@ + ALEX_IF_BIGENDIAN + narrow16Int# i + where +- i = word2Int# ((high `uncheckedShiftL#` 8#) `or#` low) +- high = int2Word# (ord# (indexCharOffAddr# arr (off' +# 1#))) +- low = int2Word# (ord# (indexCharOffAddr# arr off')) +- off' = off *# 2# ++ !i = word2Int# ((high `uncheckedShiftL#` 8#) `or#` low) ++ !high = int2Word# (ord# (indexCharOffAddr# arr (off' +# 1#))) ++ !low = int2Word# (ord# (indexCharOffAddr# arr off')) ++ !off' = off *# 2# + ALEX_ELSE + indexInt16OffAddr# arr off + ALEX_ENDIF +--- a/src/Scan.x ++++ b/src/Scan.x +@@ -11,7 +11,7 @@ + ------------------------------------------------------------------------------- + + { +-{-# OPTIONS_GHC -w #-} ++{-# OPTIONS_GHC -w -XBangPatterns #-} + + module Scan(lexer, AlexPosn(..), Token(..), Tkn(..), tokPosn) where + +--- a/src/Main.hs ++++ b/src/Main.hs +@@ -203,7 +203,7 @@ + hPutStrLn hdl code + + optsToInject :: Target -> [CLIFlags] -> String +-optsToInject GhcTarget _ = "{-# LANGUAGE CPP,MagicHash #-}\n" ++optsToInject GhcTarget _ = "{-# LANGUAGE CPP,MagicHash,BangPatterns #-}\n" + optsToInject _ _ = "{-# LANGUAGE CPP #-}\n" + + importsToInject :: Target -> [CLIFlags] -> String diff --git a/alex.spec b/alex.spec new file mode 100644 index 0000000..40df728 --- /dev/null +++ b/alex.spec @@ -0,0 +1,185 @@ +Name: alex +# part of haskell-platform +Version: 3.0.1 +Release: 3%{?dist} +Summary: A lexer generator for Haskell + +Group: Development/Tools +License: BSD +URL: http://hackage.haskell.org/package/%{name} +Source0: http://hackage.haskell.org/packages/archive/%{name}/%{version}/%{name}-%{version}.tar.gz +ExclusiveArch: %{ghc_arches} +BuildRequires: ghc-Cabal-devel +BuildRequires: ghc-rpm-macros +BuildRequires: autoconf docbook-style-xsl libxslt +BuildRequires: ghc-QuickCheck-devel +Patch1: alex-ghc74-fix-bang-pattern.patch +%ifarch ppc ppc64 +BuildRequires: alex +%endif + +%description +Alex is a tool for generating lexical analysers in Haskell, given a +description of the tokens to be recognised in the form of regular +expressions. It is similar to the tool lex or flex for C/C++. + + +%prep +%setup -q +%ifarch ppc ppc64 +%patch1 -p1 -b .orig +%endif + + +%build +%ghc_bin_build + +cd doc +autoreconf +./configure --prefix=%{_prefix} --libdir=%{_libdir} +make html +cd .. + + +%install +%ghc_bin_install + + +%files +%doc ANNOUNCE LICENSE README TODO doc/alex examples +%{_bindir}/%{name} +%{_datadir}/%{name}-%{version} + + +%changelog +* Wed Jun 6 2012 Jens Petersen - 3.0.1-3 +- BR alex on ppc archs! +- also apply bang pattern patch on ppc64 + +* Wed Jun 6 2012 Jens Petersen - 3.0.1-2 +- add fix-bang-pattern.diff patch from Debian to fix build on ppc + +* Tue Mar 20 2012 Jens Petersen - 3.0.1-1 +- update to 3.0.1 +- depends on QuickCheck + +* Thu Jan 12 2012 Fedora Release Engineering - 2.3.5-6.2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Thu Oct 20 2011 Marcela Mašláňová - 2.3.5-5.2 +- rebuild with new gmp without compat lib + +* Mon Oct 10 2011 Peter Schiffer - 2.3.5-5.1 +- rebuild with new gmp + +* Tue Jun 21 2011 Jens Petersen - 2.3.5-5 +- ghc_arches replaces ghc_excluded_archs + +* Mon Jun 20 2011 Jens Petersen - 2.3.5-4 +- BR ghc-Cabal-devel +- use ghc_excluded_archs + +* Wed May 18 2011 Jens Petersen - 2.3.5-3 +- add ppc64 + +* Thu Mar 10 2011 Fabio M. Di Nitto - 2.3.5-2 +- Enable build on sparcv9 + +* Tue Feb 15 2011 Jens Petersen - 2.3.5-1 +- update to 2.3.5 for haskell-platform-2011.1 + +* Mon Feb 07 2011 Fedora Release Engineering - 2.3.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Sat Jan 15 2011 Jens Petersen - 2.3.4-2 +- update to cabal2spec-0.22.4 +- BR ghc-devel + +* Sun Dec 5 2010 Jens Petersen - 2.3.4-1 +- update to 2.3.4 + +* Thu Nov 25 2010 Jens Petersen - 2.3.3-2 +- rebuild + +* Fri Jul 30 2010 Jens Petersen +- update to simpler url + +* Fri Jul 16 2010 Jens Petersen - 2.3.3-1 +- 2.3.3 release for haskell-platform-2010.2.0.0 + +* Sun Jun 27 2010 Jens Petersen - 2.3.2-3 +- sync cabal2spec-0.22.1 + +* Sat Apr 24 2010 Jens Petersen - 2.3.2-2 +- rebuild against ghc-6.12.2 + +* Wed Mar 24 2010 Jens Petersen - 2.3.2-1 +- update to 2.3.2 for haskell-platform-2010.1.0.0 + +* Mon Jan 11 2010 Jens Petersen - 2.3.1-8 +- dynamic bcond is now handled by cabal_configure +- drop redundant buildroot and its install cleaning + +* Tue Dec 22 2009 Jens Petersen +- add bcond for dynamic linking + +* Mon Dec 21 2009 Jens Petersen - 2.3.1-7 +- build dynamically with ghc-6.12.1 + +* Fri Jul 24 2009 Fedora Release Engineering - 2.3.1-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Sun May 17 2009 Jens Petersen - 2.3.1-5 +- buildrequires ghc-rpm-macros + +* Fri Apr 24 2009 Jens Petersen - 2.3.1-4 +- rebuild against ghc-6.10.2 + +* Tue Mar 10 2009 Jens Petersen - 2.3.1-3 +- update arch list and bring closer to cabal2spec-0.12 + +* Mon Feb 23 2009 Fedora Release Engineering - 2.3.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Thu Dec 11 2008 Jens Petersen - 2.3.1-1 +- update to 2.3.1 +- no longer need alex-2.3-base3.patch + +* Tue Nov 25 2008 Jens Petersen - 2.3-2 +- build with new macros +- update urls to point to hackage +- add alex-2.3-base3.patch to build with base-3 for ghc-6.10.1 + +* Mon Oct 13 2008 Bryan O'Sullivan - 2.3-1 +- Update to 2.3 + +* Thu May 29 2008 Tom "spot" Callaway - 2.2-3 +- fix license tag + +* Mon Feb 18 2008 Fedora Release Engineering - 2.2-2 +- Autorebuild for GCC 4.3 + +* Fri Jan 4 2008 Jens Petersen - 2.2-1 +- update to 2.2 release + +* Fri Nov 23 2007 Bryan O'Sullivan - 2.1.0-6 +- Exclude alpha + +* Tue Sep 25 2007 Bryan O'Sullivan - 2.1.0-5 +- don't try to build on ppc64 + +* Tue Sep 25 2007 Bryan O'Sullivan - 2.1.0-4 +- build requires autoconf + +* Sun Jul 22 2007 Bryan O'Sullivan - 2.1.0-3 +- apply a few cleanups from Jens Petersen + +* Tue Apr 26 2007 Bryan O'Sullivan - 2.1.0-2 +- fix a few style issues + +* Fri Jan 19 2007 Bryan O'Sullivan - 2.1.0-1 +- update to 2.1.0 +- fix rpmlint errors + +* Fri May 6 2005 Jens Petersen - 2.0.1-1 +- initial packaging for Fedora Haskell based on upstream spec file diff --git a/dead.package b/dead.package deleted file mode 100644 index 6dee5e4..0000000 --- a/dead.package +++ /dev/null @@ -1 +0,0 @@ -obsoleted by haskell-platform subpackage diff --git a/sources b/sources new file mode 100644 index 0000000..14b7917 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +5dec239c89165d159faa2154bc0724cd alex-3.0.1.tar.gz