Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package alex for openSUSE:Factory checked in at 2026-06-10 15:57:15 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/alex (Old) and /work/SRC/openSUSE:Factory/.alex.new.2375 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "alex" Wed Jun 10 15:57:15 2026 rev:42 rq:1358321 version:3.5.4.2 Changes: -------- --- /work/SRC/openSUSE:Factory/alex/alex.changes 2025-08-06 14:35:12.684861978 +0200 +++ /work/SRC/openSUSE:Factory/.alex.new.2375/alex.changes 2026-06-10 15:57:38.903894820 +0200 @@ -1,0 +2,18 @@ +Sun Mar 22 07:43:16 UTC 2026 - Peter Simons <[email protected]> + +- Update alex to version 3.5.4.2. + ## Changes in 3.5.4.2 + + * Fix botched distribution tarball of 3.5.4.1. + * Tested with GHC 8.0 - 9.14.1. + + _Andreas Abel, 2026-03-22_ + + ## Changes in 3.5.4.1 + + * New examples and fixes to the documentation (#284, #285, #286). + * Tested with GHC 8.0 - 9.14.1. + + _Andreas Abel, 2026-03-21_ + +------------------------------------------------------------------- Old: ---- alex-3.5.4.0.tar.gz New: ---- alex-3.5.4.2.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ alex.spec ++++++ --- /var/tmp/diff_new_pack.cMtFnQ/_old 2026-06-10 15:57:40.239950185 +0200 +++ /var/tmp/diff_new_pack.cMtFnQ/_new 2026-06-10 15:57:40.239950185 +0200 @@ -1,7 +1,7 @@ # # spec file for package alex # -# Copyright (c) 2025 SUSE LLC +# Copyright (c) 2026 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,7 +18,7 @@ %bcond_without tests Name: alex -Version: 3.5.4.0 +Version: 3.5.4.2 Release: 0 Summary: Alex is a tool for generating lexical analysers in Haskell License: BSD-3-Clause ++++++ alex-3.5.4.0.tar.gz -> alex-3.5.4.2.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/alex-3.5.4.0/CHANGELOG.md new/alex-3.5.4.2/CHANGELOG.md --- old/alex-3.5.4.0/CHANGELOG.md 2001-09-09 03:46:40.000000000 +0200 +++ new/alex-3.5.4.2/CHANGELOG.md 2001-09-09 03:46:40.000000000 +0200 @@ -1,3 +1,17 @@ +## Changes in 3.5.4.2 + +* Fix botched distribution tarball of 3.5.4.1. +* Tested with GHC 8.0 - 9.14.1. + +_Andreas Abel, 2026-03-22_ + +## Changes in 3.5.4.1 + +* New examples and fixes to the documentation (#284, #285, #286). +* Tested with GHC 8.0 - 9.14.1. + +_Andreas Abel, 2026-03-21_ + ## Changes in 3.5.4.0 * Fix [issue #277](https://github.com/haskell/alex/issues/277): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/alex-3.5.4.0/alex.cabal new/alex-3.5.4.2/alex.cabal --- old/alex-3.5.4.0/alex.cabal 2001-09-09 03:46:40.000000000 +0200 +++ new/alex-3.5.4.2/alex.cabal 2001-09-09 03:46:40.000000000 +0200 @@ -1,7 +1,8 @@ cabal-version: 1.18 name: alex -version: 3.5.4.0 --- don't forget updating changelog.md! +version: 3.5.4.2 +-- Remember to update the changelog +-- and to build dist tarball using `make sdist`! license: BSD3 license-file: LICENSE copyright: (c) Chis Dornan, Simon Marlow @@ -9,7 +10,7 @@ maintainer: https://github.com/haskell/alex bug-reports: https://github.com/haskell/alex/issues stability: stable -homepage: http://www.haskell.org/alex/ +homepage: https://github.com/haskell/alex synopsis: Alex is a tool for generating lexical analysers in Haskell description: Alex is a tool for generating lexical analysers in Haskell. @@ -22,8 +23,9 @@ build-type: Simple tested-with: + GHC == 9.14.1 GHC == 9.12.2 - GHC == 9.10.2 + GHC == 9.10.3 GHC == 9.8.4 GHC == 9.6.7 GHC == 9.4.8 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/alex-3.5.4.0/examples/Makefile new/alex-3.5.4.2/examples/Makefile --- old/alex-3.5.4.0/examples/Makefile 2001-09-09 03:46:40.000000000 +0200 +++ new/alex-3.5.4.2/examples/Makefile 2001-09-09 03:46:40.000000000 +0200 @@ -1,4 +1,11 @@ +# NOTE: This logic follows the tests/Makefile for consistency. +ifndef ALEX +ALEX=$(shell which alex) +ifeq "$(filter $(dir $(shell pwd))%,$(ALEX))" "" ALEX=../dist/build/alex/alex +endif +endif + HC=ghc -Wall -fno-warn-unused-binds -fno-warn-missing-signatures -fno-warn-unused-matches -fno-warn-name-shadowing -fno-warn-unused-imports -fno-warn-tabs HAPPY=happy @@ -10,7 +17,7 @@ exeext=.bin endif -PROGS = lit Tokens Tokens_gscan words words_posn words_monad tiny haskell tiger +PROGS = lit Tokens Tokens_gscan words words_posn words_monad tiny haskell tiger WyvernLexerV1 WyvernLexerV2 WyvernLexerV3 ALEX_OPTS = --template=../data/ -g @@ -54,6 +61,15 @@ tiger$(exeext) : tiger.alex.hs $(HC) $(HC_OPTS) -main-is TigerLexer -o $@ $^ +WyvernLexerV1$(exeext) : wyvern/WyvernLexerV1.alex.hs + $(HC) $(HC_OPTS) -main-is WyvernLexerV1 -o $@ $^ + +WyvernLexerV2$(exeext) : wyvern/WyvernLexerV2.alex.hs + $(HC) $(HC_OPTS) -main-is WyvernLexerV2 -o $@ $^ + +WyvernLexerV3$(exeext) : wyvern/WyvernLexerV3.alex.hs + $(HC) $(HC_OPTS) -main-is WyvernLexerV3 -o $@ $^ + .PHONY: clean clean: rm -f *.o *.hi $(addsuffix $(exeext),$(PROGS)) \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/alex-3.5.4.0/examples/haskell.x new/alex-3.5.4.2/examples/haskell.x --- old/alex-3.5.4.0/examples/haskell.x 2001-09-09 03:46:40.000000000 +0200 +++ new/alex-3.5.4.2/examples/haskell.x 2001-09-09 03:46:40.000000000 +0200 @@ -11,7 +11,7 @@ { module Main (main) where -import Data.Char (chr) +import Data.Char (chr, ord) } %wrapper "monad" @@ -39,7 +39,7 @@ $symchar = [$symbol \:] $nl = [\n\r] -@reservedid = +@reservedid = as|case|class|data|default|deriving|do|else|hiding|if| import|in|infix|infixl|infixr|instance|let|module|newtype| of|qualified|then|type|where @@ -88,7 +88,7 @@ <0> @varsym { mkL LVarSym } <0> @consym { mkL LConSym } -<0> @decimal +<0> @decimal | 0[oO] @octal | 0[xX] @hexadecimal { mkL LInteger } @@ -121,7 +121,7 @@ | LQConSym | LEOF deriving Eq - + mkL :: LexemeClass -> AlexInput -> Int -> Alex Lexeme mkL c (p,_,_,str) len = return (L p c (take len str)) @@ -149,17 +149,17 @@ Just (c,input) -> go n input c -> go n input - err input = do alexSetInput input; lexError "error in nested comment" + err input = do alexSetInput input; lexError "error in nested comment" lexError s = do (p,c,_,input) <- alexGetInput - alexError (showPosn p ++ ": " ++ s ++ + alexError (showPosn p ++ ": " ++ s ++ (if (not (null input)) then " before " ++ show (head input) else " at end of file")) scanner str = runAlex str $ do - let loop i = do tok@(L _ cl _) <- alexMonadScan; + let loop i = do tok@(L _ cl _) <- alexMonadScan; if cl == LEOF then return i else do loop $! (i+1) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/alex-3.5.4.0/src/Parser.hs new/alex-3.5.4.2/src/Parser.hs --- old/alex-3.5.4.0/src/Parser.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/alex-3.5.4.2/src/Parser.hs 2001-09-09 03:46:40.000000000 +0200 @@ -43,7 +43,7 @@ import Control.Applicative(Applicative(..)) import Control.Monad (ap) --- parser produced by Happy Version 2.1.6 +-- parser produced by Happy Version 2.2 newtype HappyAbsSyn = HappyAbsSyn HappyAny #if __GLASGOW_HASKELL__ >= 607 @@ -1060,7 +1060,7 @@ happyThen = ((>>=)) happyReturn :: () => a -> (P a) happyReturn = (return) -happyParse :: () => Happy_GHC_Exts.Int# -> P (HappyAbsSyn ) +happyDoParse :: () => Happy_GHC_Exts.Int# -> P (HappyAbsSyn ) happyNewToken :: () => Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> (P (HappyAbsSyn )) @@ -1080,7 +1080,7 @@ happyAbort = Happy_Prelude.error "Called abort handler in non-resumptive parser" parse = happySomeParser where - happySomeParser = happyThen (happyParse 0#) (\x -> happyReturn (let {(HappyWrap5 x') = happyOut5 x} in x')) + happySomeParser = happyThen (happyDoParse 0#) (\x -> happyReturn (let {(HappyWrap5 x') = happyOut5 x} in x')) happySeq = happyDontSeq @@ -1161,7 +1161,7 @@ ----------------------------------------------------------------------------- -- starting the parse -happyParse start_state = happyNewToken start_state notHappyAtAll notHappyAtAll +happyDoParse start_state = happyNewToken start_state notHappyAtAll notHappyAtAll ----------------------------------------------------------------------------- -- Accepting the parse
