From 1765d0ad00105a34a12ac596700b3e02da72d632 Mon Sep 17 00:00:00 2001 From: James Koppel Date: Sat, 23 Nov 2024 04:23:14 +0700 Subject: [PATCH 1/3] Getting cabal build working --- language-python-test/Setup.lhs | 0 .../test/CPython_test_suite_v2/UserString.py | 0 language-python-test/test/CPython_test_suite_v2/base64.py | 0 language-python-test/test/CPython_test_suite_v2/cProfile.py | 0 language-python-test/test/CPython_test_suite_v2/cgi.py | 0 language-python-test/test/CPython_test_suite_v2/fractions.py | 0 language-python-test/test/CPython_test_suite_v2/keyword.py | 0 language-python-test/test/CPython_test_suite_v2/mailbox.py | 0 language-python-test/test/CPython_test_suite_v2/make_test.sh | 0 language-python-test/test/CPython_test_suite_v2/mimify.py | 0 language-python-test/test/CPython_test_suite_v2/pdb.py | 0 language-python-test/test/CPython_test_suite_v2/platform.py | 0 language-python-test/test/CPython_test_suite_v2/profile.py | 0 language-python-test/test/CPython_test_suite_v2/pydoc.py | 0 language-python-test/test/CPython_test_suite_v2/quopri.py | 0 language-python-test/test/CPython_test_suite_v2/runpy.py | 0 language-python-test/test/CPython_test_suite_v2/smtpd.py | 0 language-python-test/test/CPython_test_suite_v2/smtplib.py | 0 language-python-test/test/CPython_test_suite_v2/symbol.py | 0 language-python-test/test/CPython_test_suite_v2/tabnanny.py | 0 language-python-test/test/CPython_test_suite_v2/token.py | 0 language-python-test/test/CPython_test_suite_v2/uu.py | 0 language-python-test/test/CPython_test_suite_v3/make_test.sh | 0 .../test/CPython_test_suite_v3/test_userstring.py | 0 language-python-test/test/make_utf8.sh | 0 language-python/Setup.lhs | 0 language-python/language-python.cabal | 3 ++- language-python/src/Language/Python/Version2/Parser/Parser.y | 5 +++-- language-python/src/Language/Python/Version3/Parser/Parser.y | 5 +++-- language-python/stack.yaml | 5 ++++- 30 files changed, 12 insertions(+), 6 deletions(-) mode change 100755 => 100644 language-python-test/Setup.lhs mode change 100755 => 100644 language-python-test/test/CPython_test_suite_v2/UserString.py mode change 100755 => 100644 language-python-test/test/CPython_test_suite_v2/base64.py mode change 100755 => 100644 language-python-test/test/CPython_test_suite_v2/cProfile.py mode change 100755 => 100644 language-python-test/test/CPython_test_suite_v2/cgi.py mode change 100755 => 100644 language-python-test/test/CPython_test_suite_v2/fractions.py mode change 100755 => 100644 language-python-test/test/CPython_test_suite_v2/keyword.py mode change 100755 => 100644 language-python-test/test/CPython_test_suite_v2/mailbox.py mode change 100755 => 100644 language-python-test/test/CPython_test_suite_v2/make_test.sh mode change 100755 => 100644 language-python-test/test/CPython_test_suite_v2/mimify.py mode change 100755 => 100644 language-python-test/test/CPython_test_suite_v2/pdb.py mode change 100755 => 100644 language-python-test/test/CPython_test_suite_v2/platform.py mode change 100755 => 100644 language-python-test/test/CPython_test_suite_v2/profile.py mode change 100755 => 100644 language-python-test/test/CPython_test_suite_v2/pydoc.py mode change 100755 => 100644 language-python-test/test/CPython_test_suite_v2/quopri.py mode change 100755 => 100644 language-python-test/test/CPython_test_suite_v2/runpy.py mode change 100755 => 100644 language-python-test/test/CPython_test_suite_v2/smtpd.py mode change 100755 => 100644 language-python-test/test/CPython_test_suite_v2/smtplib.py mode change 100755 => 100644 language-python-test/test/CPython_test_suite_v2/symbol.py mode change 100755 => 100644 language-python-test/test/CPython_test_suite_v2/tabnanny.py mode change 100755 => 100644 language-python-test/test/CPython_test_suite_v2/token.py mode change 100755 => 100644 language-python-test/test/CPython_test_suite_v2/uu.py mode change 100755 => 100644 language-python-test/test/CPython_test_suite_v3/make_test.sh mode change 100755 => 100644 language-python-test/test/CPython_test_suite_v3/test_userstring.py mode change 100755 => 100644 language-python-test/test/make_utf8.sh mode change 100755 => 100644 language-python/Setup.lhs diff --git a/language-python-test/Setup.lhs b/language-python-test/Setup.lhs old mode 100755 new mode 100644 diff --git a/language-python-test/test/CPython_test_suite_v2/UserString.py b/language-python-test/test/CPython_test_suite_v2/UserString.py old mode 100755 new mode 100644 diff --git a/language-python-test/test/CPython_test_suite_v2/base64.py b/language-python-test/test/CPython_test_suite_v2/base64.py old mode 100755 new mode 100644 diff --git a/language-python-test/test/CPython_test_suite_v2/cProfile.py b/language-python-test/test/CPython_test_suite_v2/cProfile.py old mode 100755 new mode 100644 diff --git a/language-python-test/test/CPython_test_suite_v2/cgi.py b/language-python-test/test/CPython_test_suite_v2/cgi.py old mode 100755 new mode 100644 diff --git a/language-python-test/test/CPython_test_suite_v2/fractions.py b/language-python-test/test/CPython_test_suite_v2/fractions.py old mode 100755 new mode 100644 diff --git a/language-python-test/test/CPython_test_suite_v2/keyword.py b/language-python-test/test/CPython_test_suite_v2/keyword.py old mode 100755 new mode 100644 diff --git a/language-python-test/test/CPython_test_suite_v2/mailbox.py b/language-python-test/test/CPython_test_suite_v2/mailbox.py old mode 100755 new mode 100644 diff --git a/language-python-test/test/CPython_test_suite_v2/make_test.sh b/language-python-test/test/CPython_test_suite_v2/make_test.sh old mode 100755 new mode 100644 diff --git a/language-python-test/test/CPython_test_suite_v2/mimify.py b/language-python-test/test/CPython_test_suite_v2/mimify.py old mode 100755 new mode 100644 diff --git a/language-python-test/test/CPython_test_suite_v2/pdb.py b/language-python-test/test/CPython_test_suite_v2/pdb.py old mode 100755 new mode 100644 diff --git a/language-python-test/test/CPython_test_suite_v2/platform.py b/language-python-test/test/CPython_test_suite_v2/platform.py old mode 100755 new mode 100644 diff --git a/language-python-test/test/CPython_test_suite_v2/profile.py b/language-python-test/test/CPython_test_suite_v2/profile.py old mode 100755 new mode 100644 diff --git a/language-python-test/test/CPython_test_suite_v2/pydoc.py b/language-python-test/test/CPython_test_suite_v2/pydoc.py old mode 100755 new mode 100644 diff --git a/language-python-test/test/CPython_test_suite_v2/quopri.py b/language-python-test/test/CPython_test_suite_v2/quopri.py old mode 100755 new mode 100644 diff --git a/language-python-test/test/CPython_test_suite_v2/runpy.py b/language-python-test/test/CPython_test_suite_v2/runpy.py old mode 100755 new mode 100644 diff --git a/language-python-test/test/CPython_test_suite_v2/smtpd.py b/language-python-test/test/CPython_test_suite_v2/smtpd.py old mode 100755 new mode 100644 diff --git a/language-python-test/test/CPython_test_suite_v2/smtplib.py b/language-python-test/test/CPython_test_suite_v2/smtplib.py old mode 100755 new mode 100644 diff --git a/language-python-test/test/CPython_test_suite_v2/symbol.py b/language-python-test/test/CPython_test_suite_v2/symbol.py old mode 100755 new mode 100644 diff --git a/language-python-test/test/CPython_test_suite_v2/tabnanny.py b/language-python-test/test/CPython_test_suite_v2/tabnanny.py old mode 100755 new mode 100644 diff --git a/language-python-test/test/CPython_test_suite_v2/token.py b/language-python-test/test/CPython_test_suite_v2/token.py old mode 100755 new mode 100644 diff --git a/language-python-test/test/CPython_test_suite_v2/uu.py b/language-python-test/test/CPython_test_suite_v2/uu.py old mode 100755 new mode 100644 diff --git a/language-python-test/test/CPython_test_suite_v3/make_test.sh b/language-python-test/test/CPython_test_suite_v3/make_test.sh old mode 100755 new mode 100644 diff --git a/language-python-test/test/CPython_test_suite_v3/test_userstring.py b/language-python-test/test/CPython_test_suite_v3/test_userstring.py old mode 100755 new mode 100644 diff --git a/language-python-test/test/make_utf8.sh b/language-python-test/test/make_utf8.sh old mode 100755 new mode 100644 diff --git a/language-python/Setup.lhs b/language-python/Setup.lhs old mode 100755 new mode 100644 diff --git a/language-python/language-python.cabal b/language-python/language-python.cabal index 1ecde97..16c41be 100644 --- a/language-python/language-python.cabal +++ b/language-python/language-python.cabal @@ -43,7 +43,8 @@ Library transformers >= 0.3 && < 0.7, monads-tf == 0.1.*, utf8-string >= 1 && < 2 - build-tools: happy, alex + build-tools: happy >= 1.20, alex + build-tool-depends: happy:happy exposed-modules: Language.Python.Common Language.Python.Common.ParseError diff --git a/language-python/src/Language/Python/Version2/Parser/Parser.y b/language-python/src/Language/Python/Version2/Parser/Parser.y index b06d47e..cbe1915 100644 --- a/language-python/src/Language/Python/Version2/Parser/Parser.y +++ b/language-python/src/Language/Python/Version2/Parser/Parser.y @@ -1,8 +1,9 @@ { +{-# LANGUAGE BangPatterns #-} {-# LANGUAGE CPP #-} +{-# LANGUAGE MagicHash #-} +{-# LANGUAGE UnboxedTuples #-} -#undef __GLASGOW_HASKELL__ -#define __GLASGOW_HASKELL__ 709 ----------------------------------------------------------------------------- -- | -- Module : Language.Python.Version2.Parser.Parser diff --git a/language-python/src/Language/Python/Version3/Parser/Parser.y b/language-python/src/Language/Python/Version3/Parser/Parser.y index 214faeb..7975225 100644 --- a/language-python/src/Language/Python/Version3/Parser/Parser.y +++ b/language-python/src/Language/Python/Version3/Parser/Parser.y @@ -1,8 +1,9 @@ { +{-# LANGUAGE BangPatterns #-} {-# LANGUAGE CPP #-} +{-# LANGUAGE MagicHash #-} +{-# LANGUAGE UnboxedTuples #-} -#undef __GLASGOW_HASKELL__ -#define __GLASGOW_HASKELL__ 709 ----------------------------------------------------------------------------- -- | -- Module : Language.Python.Version3.Parser.Parser diff --git a/language-python/stack.yaml b/language-python/stack.yaml index 3cf046e..7b4e796 100644 --- a/language-python/stack.yaml +++ b/language-python/stack.yaml @@ -1,10 +1,13 @@ -resolver: lts-10.2 +resolver: lts-20.26 packages: - . extra-deps: [] +system-ghc: false +install-ghc: true + # Override default flag values for local packages and extra-deps # flags: {} From 7efbe33c9175de03358e85529f453eefb4d43b33 Mon Sep 17 00:00:00 2001 From: James Koppel Date: Sun, 24 Nov 2024 19:23:03 +0800 Subject: [PATCH 2/3] Bumping version number --- language-python/language-python.cabal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/language-python/language-python.cabal b/language-python/language-python.cabal index 16c41be..98f31ff 100644 --- a/language-python/language-python.cabal +++ b/language-python/language-python.cabal @@ -1,5 +1,5 @@ name: language-python -version: 0.6.0 +version: 0.6.1 cabal-version: >= 1.8 synopsis: Parsing and pretty printing of Python code. description: language-python is a Haskell library for lexical analysis, parsing From 19370545706444928e624077d0f07fda66b26e18 Mon Sep 17 00:00:00 2001 From: Sergei Winitzki Date: Tue, 22 Apr 2025 13:46:24 +0200 Subject: [PATCH 3/3] upgrade to ghc 9.8.4 and some dependencies, tests pass locally --- cabal.project | 11 +++++++++-- language-python-test/language-python-test.cabal | 9 +++++---- language-python/language-python.cabal | 5 +++-- language-python/stack.yaml | 2 +- 4 files changed, 18 insertions(+), 9 deletions(-) diff --git a/cabal.project b/cabal.project index 18c256c..9520719 100644 --- a/cabal.project +++ b/cabal.project @@ -1,2 +1,9 @@ -packages: language-python/ - language-python-test/ +packages: + language-python + language-python-test + + +with-compiler: ghc-9.8.4 + +tests: True + diff --git a/language-python-test/language-python-test.cabal b/language-python-test/language-python-test.cabal index 10d9c59..3a05fdf 100644 --- a/language-python-test/language-python-test.cabal +++ b/language-python-test/language-python-test.cabal @@ -1,5 +1,5 @@ name: language-python-test -version: 0.6.0 +version: 0.6.2 cabal-version: >= 1.8 synopsis: testing code for the language-python library description: A few executables to test the language-python library. @@ -14,6 +14,7 @@ build-type: Simple stability: experimental tested-with: + GHC == 9.8.4 GHC == 9.6.1 GHC == 9.4.4 GHC == 9.2.7 @@ -35,18 +36,18 @@ Executable language-python-roundtrip ./src main-is: RoundTrip.hs other-modules: - build-depends: base == 4.*, language-python == 0.6.0 + build-depends: base == 4.*, language-python == 0.6.2 Executable language-python-tokens hs-source-dirs: ./src main-is: Tokens.hs other-modules: - build-depends: base == 4.*, language-python == 0.6.0 + build-depends: base == 4.*, language-python == 0.6.2 Executable language-python-parse-pretty hs-source-dirs: ./src main-is: ParsePretty.hs other-modules: - build-depends: base == 4.*, language-python == 0.6.0 + build-depends: base == 4.*, language-python == 0.6.2 diff --git a/language-python/language-python.cabal b/language-python/language-python.cabal index 98f31ff..72e8cb3 100644 --- a/language-python/language-python.cabal +++ b/language-python/language-python.cabal @@ -1,5 +1,5 @@ name: language-python -version: 0.6.1 +version: 0.6.2 cabal-version: >= 1.8 synopsis: Parsing and pretty printing of Python code. description: language-python is a Haskell library for lexical analysis, parsing @@ -16,6 +16,7 @@ stability: experimental extra-source-files: Changelog.md tested-with: + GHC == 9.8.4 GHC == 9.6.1 GHC == 9.4.4 GHC == 9.2.7 @@ -41,7 +42,7 @@ Library pretty == 1.1.*, array >= 0.4 && < 0.6, transformers >= 0.3 && < 0.7, - monads-tf == 0.1.*, + monads-tf == 0.3.*, utf8-string >= 1 && < 2 build-tools: happy >= 1.20, alex build-tool-depends: happy:happy diff --git a/language-python/stack.yaml b/language-python/stack.yaml index 7b4e796..3496a5c 100644 --- a/language-python/stack.yaml +++ b/language-python/stack.yaml @@ -1,4 +1,4 @@ -resolver: lts-20.26 +resolver: lts-23.19 packages: - .