diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index fe6bd94..9efb621 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -13,10 +13,10 @@ jobs: - name: xrefcheck run: nix run github:serokell/xrefcheck - - name: reuse - run: nix build -L .#checks.x86_64-linux.reuse-lint - # Run step even if the previous one has failed - if: success() || failure() + # - name: reuse + # run: nix build -L .#checks.x86_64-linux.reuse-lint + # # Run step even if the previous one has failed + # if: success() || failure() - name: hlint run: nix build -L .#checks.x86_64-linux.hlint @@ -26,9 +26,9 @@ jobs: run: nix build -L .#checks.x86_64-linux.stylish-haskell if: success() || failure() - - name: check-trailing-whitespace - run: nix build -L .#checks.x86_64-linux.trailing-whitespace - if: success() || failure() + # - name: check-trailing-whitespace + # run: nix build -L .#checks.x86_64-linux.trailing-whitespace + # if: success() || failure() - name: check-hpack run: nix build -L .#checks.x86_64-linux.hpack @@ -43,11 +43,11 @@ jobs: - uses: actions/checkout@v3 - id: set-matrix - run: echo "matrix=$(nix eval --json .#ghc-matrix.x86_64-linux)" >> $GITHUB_OUTPUT + run: echo "matrix=$(nix eval --json .#build-matrix.x86_64-linux)" >> $GITHUB_OUTPUT build-and-test: needs: ghc-versions - name: ghc${{ matrix.ghc }} + name: ${{ matrix.prefix }} runs-on: [self-hosted, nix] strategy: fail-fast: false @@ -57,8 +57,8 @@ jobs: - uses: actions/checkout@v3 - name: build - run: nix build -L .#checks.x86_64-linux.ghc${{ matrix.ghc }}:build-all --keep-going + run: nix build -L .#checks.x86_64-linux.${{ matrix.prefix }}:build-all --keep-going - name: test - run: nix build -L .#checks.x86_64-linux.ghc${{ matrix.ghc }}:test-all --keep-going + run: nix build -L .#checks.x86_64-linux.${{ matrix.prefix }}:test-all --keep-going if: success() || failure() diff --git a/cabal.project b/cabal.project new file mode 100644 index 0000000..014ebd7 --- /dev/null +++ b/cabal.project @@ -0,0 +1,3 @@ +packages: + ./with-utf8/ + ./test-package/ \ No newline at end of file diff --git a/flake.lock b/flake.lock index 0a82daa..032ed11 100644 --- a/flake.lock +++ b/flake.lock @@ -16,6 +16,22 @@ "type": "github" } }, + "HTTP_2": { + "flake": false, + "locked": { + "lastModified": 1451647621, + "narHash": "sha256-oHIyw3x0iKBexEo49YeUDV1k74ZtyYKGR2gNJXXRxts=", + "owner": "phadej", + "repo": "HTTP", + "rev": "9bc0996d412fef1787449d841277ef663ad9a915", + "type": "github" + }, + "original": { + "owner": "phadej", + "repo": "HTTP", + "type": "github" + } + }, "blank": { "locked": { "lastModified": 1625557891, @@ -48,6 +64,23 @@ "type": "github" } }, + "cabal-32_2": { + "flake": false, + "locked": { + "lastModified": 1603716527, + "narHash": "sha256-X0TFfdD4KZpwl0Zr6x+PLxUt/VyKQfX7ylXHdmZIL+w=", + "owner": "haskell", + "repo": "cabal", + "rev": "48bf10787e27364730dd37a42b603cee8d6af7ee", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "3.2", + "repo": "cabal", + "type": "github" + } + }, "cabal-34": { "flake": false, "locked": { @@ -65,6 +98,23 @@ "type": "github" } }, + "cabal-34_2": { + "flake": false, + "locked": { + "lastModified": 1645834128, + "narHash": "sha256-wG3d+dOt14z8+ydz4SL7pwGfe7SiimxcD/LOuPCV6xM=", + "owner": "haskell", + "repo": "cabal", + "rev": "5ff598c67f53f7c4f48e31d722ba37172230c462", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "3.4", + "repo": "cabal", + "type": "github" + } + }, "cabal-36": { "flake": false, "locked": { @@ -82,6 +132,23 @@ "type": "github" } }, + "cabal-36_2": { + "flake": false, + "locked": { + "lastModified": 1669081697, + "narHash": "sha256-I5or+V7LZvMxfbYgZATU4awzkicBwwok4mVoje+sGmU=", + "owner": "haskell", + "repo": "cabal", + "rev": "8fd619e33d34924a94e691c5fea2c42f0fc7f144", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "3.6", + "repo": "cabal", + "type": "github" + } + }, "cardano-shell": { "flake": false, "locked": { @@ -98,11 +165,27 @@ "type": "github" } }, + "cardano-shell_2": { + "flake": false, + "locked": { + "lastModified": 1608537748, + "narHash": "sha256-PulY1GfiMgKVnBci3ex4ptk2UNYMXqGjJOxcPy2KYT4=", + "owner": "input-output-hk", + "repo": "cardano-shell", + "rev": "9392c75087cb9a3d453998f4230930dea3a95725", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "cardano-shell", + "type": "github" + } + }, "deploy-rs": { "inputs": { - "flake-compat": "flake-compat_4", - "nixpkgs": "nixpkgs_6", - "utils": "utils_2" + "flake-compat": "flake-compat_3", + "nixpkgs": "nixpkgs_3", + "utils": "utils" }, "locked": { "lastModified": 1648475189, @@ -120,12 +203,14 @@ "devshell": { "inputs": { "flake-utils": [ + "serokell-nix", "haskell-nix", "tullia", "std", "flake-utils" ], "nixpkgs": [ + "serokell-nix", "haskell-nix", "tullia", "std", @@ -149,12 +234,14 @@ "dmerge": { "inputs": { "nixlib": [ + "serokell-nix", "haskell-nix", "tullia", "std", "nixpkgs" ], "yants": [ + "serokell-nix", "haskell-nix", "tullia", "std", @@ -210,11 +297,11 @@ "flake-compat_3": { "flake": false, "locked": { - "lastModified": 1650374568, - "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=", + "lastModified": 1648199409, + "narHash": "sha256-JwPKdC2PoVBkG6E+eWw3j6BMR6sL3COpYWfif7RVb8Y=", "owner": "edolstra", "repo": "flake-compat", - "rev": "b4a34015c698c7793d592d66adbab377907a2be8", + "rev": "64a525ee38886ab9028e6f61790de0832aa3ef03", "type": "github" }, "original": { @@ -226,32 +313,49 @@ "flake-compat_4": { "flake": false, "locked": { - "lastModified": 1648199409, - "narHash": "sha256-JwPKdC2PoVBkG6E+eWw3j6BMR6sL3COpYWfif7RVb8Y=", + "lastModified": 1627913399, + "narHash": "sha256-hY8g6H2KFL8ownSiFeMOjwPC8P0ueXpCVEbxgda3pko=", "owner": "edolstra", "repo": "flake-compat", - "rev": "64a525ee38886ab9028e6f61790de0832aa3ef03", + "rev": "12c64ca55c1014cdc1b16ed5a804aa8576601ff2", "type": "github" }, "original": { - "owner": "edolstra", + "id": "flake-compat", + "type": "indirect" + } + }, + "flake-compat_5": { + "flake": false, + "locked": { + "lastModified": 1672831974, + "narHash": "sha256-z9k3MfslLjWQfnjBtEtJZdq3H7kyi2kQtUThfTgdRk0=", + "owner": "input-output-hk", + "repo": "flake-compat", + "rev": "45f2638735f8cdc40fe302742b79f248d23eb368", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "ref": "hkm/gitlab-fix", "repo": "flake-compat", "type": "github" } }, - "flake-compat_5": { + "flake-compat_6": { "flake": false, "locked": { - "lastModified": 1627913399, - "narHash": "sha256-hY8g6H2KFL8ownSiFeMOjwPC8P0ueXpCVEbxgda3pko=", + "lastModified": 1650374568, + "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=", "owner": "edolstra", "repo": "flake-compat", - "rev": "12c64ca55c1014cdc1b16ed5a804aa8576601ff2", + "rev": "b4a34015c698c7793d592d66adbab377907a2be8", "type": "github" }, "original": { - "id": "flake-compat", - "type": "indirect" + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" } }, "flake-utils": { @@ -270,6 +374,36 @@ } }, "flake-utils_2": { + "locked": { + "lastModified": 1679360468, + "narHash": "sha256-LGnza3cfXF10Biw3ZTg0u9o9t7s680Ww200t5KkHTh8=", + "owner": "hamishmack", + "repo": "flake-utils", + "rev": "e1ea268ff47ad475443dbabcd54744b4e5b9d4f5", + "type": "github" + }, + "original": { + "owner": "hamishmack", + "ref": "hkm/nested-hydraJobs", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_3": { + "locked": { + "lastModified": 1631561581, + "narHash": "sha256-3VQMV5zvxaVLvqqUrNz3iJelLw30mIVSfZmAaauM3dA=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "7e5bf3925f6fbdfaf50a2a7ca0be2879c4261d19", + "type": "github" + }, + "original": { + "id": "flake-utils", + "type": "indirect" + } + }, + "flake-utils_4": { "locked": { "lastModified": 1667395993, "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", @@ -284,7 +418,7 @@ "type": "github" } }, - "flake-utils_3": { + "flake-utils_5": { "locked": { "lastModified": 1653893745, "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", @@ -299,7 +433,7 @@ "type": "github" } }, - "flake-utils_4": { + "flake-utils_6": { "locked": { "lastModified": 1659877975, "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", @@ -314,18 +448,21 @@ "type": "github" } }, - "flake-utils_5": { + "get-tested-src": { + "flake": false, "locked": { - "lastModified": 1631561581, - "narHash": "sha256-3VQMV5zvxaVLvqqUrNz3iJelLw30mIVSfZmAaauM3dA=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "7e5bf3925f6fbdfaf50a2a7ca0be2879c4261d19", + "lastModified": 1687355864, + "narHash": "sha256-yQ4coxfnp2Jsw1kvwf2/Zn72Kltze2WrfHN54eLR070=", + "owner": "Sereja313", + "repo": "get-tested", + "rev": "455bbd047374ed907900b49641a4ea7f0a905709", "type": "github" }, "original": { - "id": "flake-utils", - "type": "indirect" + "owner": "Sereja313", + "ref": "issue-8-emit-ghc-versions", + "repo": "get-tested", + "type": "github" } }, "ghc-8.6.5-iohk": { @@ -345,6 +482,23 @@ "type": "github" } }, + "ghc-8.6.5-iohk_2": { + "flake": false, + "locked": { + "lastModified": 1600920045, + "narHash": "sha256-DO6kxJz248djebZLpSzTGD6s8WRpNI9BTwUeOf5RwY8=", + "owner": "input-output-hk", + "repo": "ghc", + "rev": "95713a6ecce4551240da7c96b6176f980af75cae", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "ref": "release/8.6.5-iohk", + "repo": "ghc", + "type": "github" + } + }, "gitignore-nix": { "flake": false, "locked": { @@ -363,8 +517,8 @@ }, "gomod2nix": { "inputs": { - "nixpkgs": "nixpkgs_2", - "utils": "utils" + "nixpkgs": "nixpkgs_5", + "utils": "utils_2" }, "locked": { "lastModified": 1655245309, @@ -395,6 +549,22 @@ "type": "indirect" } }, + "hackage_2": { + "flake": false, + "locked": { + "lastModified": 1678926579, + "narHash": "sha256-5t1QRBTsEM2wREtDf3xrHp9Kphs+AdQZKAEltaylIJQ=", + "owner": "input-output-hk", + "repo": "hackage.nix", + "rev": "fb58b0ba5773c5f0211f284b0fae061426cf8267", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "hackage.nix", + "type": "github" + } + }, "haskell-nix": { "inputs": { "HTTP": "HTTP", @@ -408,6 +578,8 @@ "hackage": [ "hackage" ], + "hls-1.10": "hls-1.10", + "hls-2.0": "hls-2.0", "hpc-coveralls": "hpc-coveralls", "hydra": "hydra", "iserv-proxy": "iserv-proxy", @@ -420,11 +592,53 @@ "nixpkgs-2111": "nixpkgs-2111", "nixpkgs-2205": "nixpkgs-2205", "nixpkgs-2211": "nixpkgs-2211", + "nixpkgs-2305": "nixpkgs-2305", "nixpkgs-unstable": "nixpkgs-unstable", "old-ghc-nix": "old-ghc-nix", "stackage": [ "stackage" + ] + }, + "locked": { + "lastModified": 1689209503, + "narHash": "sha256-9U73sWQ/JKbBhOcij8/2/M/7MfoNZxTtek5Zws840Bs=", + "owner": "input-output-hk", + "repo": "haskell.nix", + "rev": "50e7b671ca73ea9ab350d7f18ba434bf8393051a", + "type": "github" + }, + "original": { + "id": "haskell-nix", + "type": "indirect" + } + }, + "haskell-nix_2": { + "inputs": { + "HTTP": "HTTP_2", + "cabal-32": "cabal-32_2", + "cabal-34": "cabal-34_2", + "cabal-36": "cabal-36_2", + "cardano-shell": "cardano-shell_2", + "flake-compat": "flake-compat_5", + "flake-utils": "flake-utils_4", + "ghc-8.6.5-iohk": "ghc-8.6.5-iohk_2", + "hackage": "hackage_2", + "hpc-coveralls": "hpc-coveralls_2", + "hydra": "hydra_2", + "iserv-proxy": "iserv-proxy_2", + "nixpkgs": [ + "serokell-nix", + "haskell-nix", + "nixpkgs-unstable" ], + "nixpkgs-2003": "nixpkgs-2003_2", + "nixpkgs-2105": "nixpkgs-2105_2", + "nixpkgs-2111": "nixpkgs-2111_2", + "nixpkgs-2205": "nixpkgs-2205_2", + "nixpkgs-2211": "nixpkgs-2211_2", + "nixpkgs-unstable": "nixpkgs-unstable_2", + "old-ghc-nix": "old-ghc-nix_2", + "stackage": "stackage", "tullia": "tullia" }, "locked": { @@ -440,6 +654,40 @@ "type": "indirect" } }, + "hls-1.10": { + "flake": false, + "locked": { + "lastModified": 1680000865, + "narHash": "sha256-rc7iiUAcrHxwRM/s0ErEsSPxOR3u8t7DvFeWlMycWgo=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "b08691db779f7a35ff322b71e72a12f6e3376fd9", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "1.10.0.0", + "repo": "haskell-language-server", + "type": "github" + } + }, + "hls-2.0": { + "flake": false, + "locked": { + "lastModified": 1687698105, + "narHash": "sha256-OHXlgRzs/kuJH8q7Sxh507H+0Rb8b7VOiPAjcY9sM1k=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "783905f211ac63edf982dd1889c671653327e441", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "2.0.0.1", + "repo": "haskell-language-server", + "type": "github" + } + }, "hpc-coveralls": { "flake": false, "locked": { @@ -456,6 +704,22 @@ "type": "github" } }, + "hpc-coveralls_2": { + "flake": false, + "locked": { + "lastModified": 1607498076, + "narHash": "sha256-8uqsEtivphgZWYeUo5RDUhp6bO9j2vaaProQxHBltQk=", + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "rev": "14df0f7d229f4cd2e79f8eabb1a740097fdfa430", + "type": "github" + }, + "original": { + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "type": "github" + } + }, "hydra": { "inputs": { "nix": "nix", @@ -479,9 +743,34 @@ "type": "indirect" } }, + "hydra_2": { + "inputs": { + "nix": "nix_2", + "nixpkgs": [ + "serokell-nix", + "haskell-nix", + "hydra", + "nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1671755331, + "narHash": "sha256-hXsgJj0Cy0ZiCiYdW2OdBz5WmFyOMKuw4zyxKpgUKm4=", + "owner": "NixOS", + "repo": "hydra", + "rev": "f48f00ee6d5727ae3e488cbf9ce157460853fea8", + "type": "github" + }, + "original": { + "id": "hydra", + "type": "indirect" + } + }, "incl": { "inputs": { "nixlib": [ + "serokell-nix", "haskell-nix", "tullia", "std", @@ -519,6 +808,23 @@ "url": "https://gitlab.haskell.org/hamishmack/iserv-proxy.git" } }, + "iserv-proxy_2": { + "flake": false, + "locked": { + "lastModified": 1670983692, + "narHash": "sha256-avLo34JnI9HNyOuauK5R69usJm+GfW3MlyGlYxZhTgY=", + "ref": "hkm/remote-iserv", + "rev": "50d0abb3317ac439a4e7495b185a64af9b7b9300", + "revCount": 10, + "type": "git", + "url": "https://gitlab.haskell.org/hamishmack/iserv-proxy.git" + }, + "original": { + "ref": "hkm/remote-iserv", + "type": "git", + "url": "https://gitlab.haskell.org/hamishmack/iserv-proxy.git" + } + }, "lowdown-src": { "flake": false, "locked": { @@ -535,7 +841,23 @@ "type": "github" } }, - "lowdown-src_2": { + "lowdown-src_2": { + "flake": false, + "locked": { + "lastModified": 1633514407, + "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", + "owner": "kristapsdz", + "repo": "lowdown", + "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", + "type": "github" + }, + "original": { + "owner": "kristapsdz", + "repo": "lowdown", + "type": "github" + } + }, + "lowdown-src_3": { "flake": false, "locked": { "lastModified": 1632468475, @@ -554,12 +876,14 @@ "n2c": { "inputs": { "flake-utils": [ + "serokell-nix", "haskell-nix", "tullia", "std", "flake-utils" ], "nixpkgs": [ + "serokell-nix", "haskell-nix", "tullia", "std", @@ -603,8 +927,9 @@ }, "nix-nomad": { "inputs": { - "flake-compat": "flake-compat_3", + "flake-compat": "flake-compat_6", "flake-utils": [ + "serokell-nix", "haskell-nix", "tullia", "nix2container", @@ -612,11 +937,13 @@ ], "gomod2nix": "gomod2nix", "nixpkgs": [ + "serokell-nix", "haskell-nix", "tullia", "nixpkgs" ], "nixpkgs-lib": [ + "serokell-nix", "haskell-nix", "tullia", "nixpkgs" @@ -638,8 +965,8 @@ }, "nix2container": { "inputs": { - "flake-utils": "flake-utils_3", - "nixpkgs": "nixpkgs_3" + "flake-utils": "flake-utils_5", + "nixpkgs": "nixpkgs_6" }, "locked": { "lastModified": 1658567952, @@ -658,7 +985,28 @@ "nix_2": { "inputs": { "lowdown-src": "lowdown-src_2", - "nixpkgs": "nixpkgs_7" + "nixpkgs": "nixpkgs_4", + "nixpkgs-regression": "nixpkgs-regression_2" + }, + "locked": { + "lastModified": 1661606874, + "narHash": "sha256-9+rpYzI+SmxJn+EbYxjGv68Ucp22bdFUSy/4LkHkkDQ=", + "owner": "NixOS", + "repo": "nix", + "rev": "11e45768b34fdafdcf019ddbd337afa16127ff0f", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "2.11.0", + "repo": "nix", + "type": "github" + } + }, + "nix_3": { + "inputs": { + "lowdown-src": "lowdown-src_3", + "nixpkgs": "nixpkgs_8" }, "locked": { "lastModified": 1633098935, @@ -676,18 +1024,21 @@ "nixago": { "inputs": { "flake-utils": [ + "serokell-nix", "haskell-nix", "tullia", "std", "flake-utils" ], "nixago-exts": [ + "serokell-nix", "haskell-nix", "tullia", "std", "blank" ], "nixpkgs": [ + "serokell-nix", "haskell-nix", "tullia", "std", @@ -740,6 +1091,22 @@ "type": "github" } }, + "nixpkgs-2003_2": { + "locked": { + "lastModified": 1620055814, + "narHash": "sha256-8LEHoYSJiL901bTMVatq+rf8y7QtWuZhwwpKE2fyaRY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "1db42b7fe3878f3f5f7a4f2dc210772fd080e205", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-20.03-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs-2105": { "locked": { "lastModified": 1659914493, @@ -756,6 +1123,22 @@ "type": "github" } }, + "nixpkgs-2105_2": { + "locked": { + "lastModified": 1659914493, + "narHash": "sha256-lkA5X3VNMKirvA+SUzvEhfA7XquWLci+CGi505YFAIs=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "022caabb5f2265ad4006c1fa5b1ebe69fb0c3faf", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-21.05-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs-2111": { "locked": { "lastModified": 1659446231, @@ -772,7 +1155,39 @@ "type": "github" } }, + "nixpkgs-2111_2": { + "locked": { + "lastModified": 1659446231, + "narHash": "sha256-hekabNdTdgR/iLsgce5TGWmfIDZ86qjPhxDg/8TlzhE=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "eabc38219184cc3e04a974fe31857d8e0eac098d", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-21.11-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs-2205": { + "locked": { + "lastModified": 1682600000, + "narHash": "sha256-ha4BehR1dh8EnXSoE1m/wyyYVvHI9txjW4w5/oxsW5Y=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "50fc86b75d2744e1ab3837ef74b53f103a9b55a0", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-22.05-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2205_2": { "locked": { "lastModified": 1672580127, "narHash": "sha256-3lW3xZslREhJogoOkjeZtlBtvFMyxHku7I/9IVehhT8=", @@ -789,6 +1204,22 @@ } }, "nixpkgs-2211": { + "locked": { + "lastModified": 1685314633, + "narHash": "sha256-8LXBPqTQXl5ofkjpJ18JcbmLJ/lWDoMxtUwiDYv0wro=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "c8a17ce7abc03c50cd072e9e6c9b389c5f61836b", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-22.11-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2211_2": { "locked": { "lastModified": 1675730325, "narHash": "sha256-uNvD7fzO5hNlltNQUAFBPlcEjNG5Gkbhl/ROiX+GZU4=", @@ -804,86 +1235,87 @@ "type": "github" } }, - "nixpkgs-regression": { + "nixpkgs-2305": { "locked": { - "lastModified": 1643052045, - "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", + "lastModified": 1685338297, + "narHash": "sha256-+Aq4O0Jn1W1q927ZHc3Zn6RO7bwQGmb6O8xYoGy0KrM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "rev": "6287b47dbfabbb8bfbb9b1b53d198ad58a774de4", "type": "github" }, "original": { "owner": "NixOS", + "ref": "nixpkgs-23.05-darwin", "repo": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" } }, - "nixpkgs-unstable": { + "nixpkgs-regression": { "locked": { - "lastModified": 1675758091, - "narHash": "sha256-7gFSQbSVAFUHtGCNHPF7mPc5CcqDk9M2+inlVPZSneg=", + "lastModified": 1643052045, + "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "747927516efcb5e31ba03b7ff32f61f6d47e7d87", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-unstable", "repo": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" } }, - "nixpkgs_2": { + "nixpkgs-regression_2": { "locked": { - "lastModified": 1653581809, - "narHash": "sha256-Uvka0V5MTGbeOfWte25+tfRL3moECDh1VwokWSZUdoY=", + "lastModified": 1643052045, + "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "83658b28fe638a170a19b8933aa008b30640fbd1", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-unstable", "repo": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "type": "github" } }, - "nixpkgs_3": { + "nixpkgs-unstable": { "locked": { - "lastModified": 1654807842, - "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", + "lastModified": 1685347552, + "narHash": "sha256-9woSppRyUFo26yUffORTzttJ+apOt8MmCv6RxpPNTU4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fc909087cc3386955f21b4665731dbdaceefb1d8", + "rev": "f2f1ec390714d303cf84ba086e34e45b450dd8c4", "type": "github" }, "original": { "owner": "NixOS", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs_4": { + "nixpkgs-unstable_2": { "locked": { - "lastModified": 1665087388, - "narHash": "sha256-FZFPuW9NWHJteATOf79rZfwfRn5fE0wi9kRzvGfDHPA=", - "owner": "nixos", + "lastModified": 1675758091, + "narHash": "sha256-7gFSQbSVAFUHtGCNHPF7mPc5CcqDk9M2+inlVPZSneg=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "95fda953f6db2e9496d2682c4fc7b82f959878f7", + "rev": "747927516efcb5e31ba03b7ff32f61f6d47e7d87", "type": "github" }, "original": { - "owner": "nixos", + "owner": "NixOS", "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs_5": { + "nixpkgs_2": { "locked": { "lastModified": 1677407201, "narHash": "sha256-3blwdI9o1BAprkvlByHvtEm5HAIRn/XPjtcfiunpY7s=", @@ -896,7 +1328,7 @@ "type": "indirect" } }, - "nixpkgs_6": { + "nixpkgs_3": { "locked": { "lastModified": 1648219316, "narHash": "sha256-Ctij+dOi0ZZIfX5eMhgwugfvB+WZSrvVNAyAuANOsnQ=", @@ -912,7 +1344,70 @@ "type": "github" } }, + "nixpkgs_4": { + "locked": { + "lastModified": 1657693803, + "narHash": "sha256-G++2CJ9u0E7NNTAi9n5G8TdDmGJXcIjkJ3NF8cetQB8=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "365e1b3a859281cf11b94f87231adeabbdd878a2", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-22.05-small", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_5": { + "locked": { + "lastModified": 1653581809, + "narHash": "sha256-Uvka0V5MTGbeOfWte25+tfRL3moECDh1VwokWSZUdoY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "83658b28fe638a170a19b8933aa008b30640fbd1", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_6": { + "locked": { + "lastModified": 1654807842, + "narHash": "sha256-ADymZpr6LuTEBXcy6RtFHcUZdjKTBRTMYwu19WOx17E=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "fc909087cc3386955f21b4665731dbdaceefb1d8", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs_7": { + "locked": { + "lastModified": 1665087388, + "narHash": "sha256-FZFPuW9NWHJteATOf79rZfwfRn5fE0wi9kRzvGfDHPA=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "95fda953f6db2e9496d2682c4fc7b82f959878f7", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_8": { "locked": { "lastModified": 1632864508, "narHash": "sha256-d127FIvGR41XbVRDPVvozUPQ/uRHbHwvfyKHwEt5xFM=", @@ -927,7 +1422,7 @@ "type": "indirect" } }, - "nixpkgs_8": { + "nixpkgs_9": { "locked": { "lastModified": 1674736538, "narHash": "sha256-/DszFMkAgYyB9dTWKkoZa9i0zcrA6Z4hYrOr/u/FSxY=", @@ -973,40 +1468,77 @@ "type": "github" } }, + "old-ghc-nix_2": { + "flake": false, + "locked": { + "lastModified": 1631092763, + "narHash": "sha256-sIKgO+z7tj4lw3u6oBZxqIhDrzSkvpHtv0Kki+lh9Fg=", + "owner": "angerman", + "repo": "old-ghc-nix", + "rev": "af48a7a7353e418119b6dfe3cd1463a657f342b8", + "type": "github" + }, + "original": { + "owner": "angerman", + "ref": "master", + "repo": "old-ghc-nix", + "type": "github" + } + }, "root": { "inputs": { "flake-compat": "flake-compat", "flake-utils": "flake-utils", "hackage": "hackage", "haskell-nix": "haskell-nix", - "nixpkgs": "nixpkgs_5", + "nixpkgs": "nixpkgs_2", "serokell-nix": "serokell-nix", - "stackage": "stackage" + "stackage": "stackage_2" } }, "serokell-nix": { "inputs": { "deploy-rs": "deploy-rs", - "flake-compat": "flake-compat_5", - "flake-utils": "flake-utils_5", + "flake-compat": "flake-compat_4", + "flake-utils": "flake-utils_3", + "get-tested-src": "get-tested-src", "gitignore-nix": "gitignore-nix", - "nix": "nix_2", - "nixpkgs": "nixpkgs_8" + "haskell-nix": "haskell-nix_2", + "nix": "nix_3", + "nixpkgs": "nixpkgs_9" }, "locked": { - "lastModified": 1679645506, - "narHash": "sha256-6hGH98lt8Q/0eEwNVBVJrOu4/hDstMXFDOM04GJy40M=", + "lastModified": 1691574243, + "narHash": "sha256-8mtvIdgU7ZmgXJBTNNNxcnP/vao0hLkvQ0fbvWyQ/R0=", "owner": "serokell", "repo": "serokell.nix", - "rev": "c4ac9aee348e2325e0a3abdee381e86820ec116b", + "rev": "bc7c852903c592750b53b6e63974c912d4d44355", "type": "github" }, "original": { - "id": "serokell-nix", - "type": "indirect" + "owner": "serokell", + "ref": "sereja/OPS-1458-ci-wrapper", + "repo": "serokell.nix", + "type": "github" } }, "stackage": { + "flake": false, + "locked": { + "lastModified": 1678925630, + "narHash": "sha256-rl8qnpAUJl4tRZpaZ5DpgSueNfreArW09t4zTnOaoYA=", + "owner": "input-output-hk", + "repo": "stackage.nix", + "rev": "bf29b23fb77017e78c6e7b199b2c7bfb5079c4cd", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "stackage.nix", + "type": "github" + } + }, + "stackage_2": { "flake": false, "locked": { "lastModified": 1679011783, @@ -1024,6 +1556,7 @@ "std": { "inputs": { "arion": [ + "serokell-nix", "haskell-nix", "tullia", "std", @@ -1032,15 +1565,17 @@ "blank": "blank", "devshell": "devshell", "dmerge": "dmerge", - "flake-utils": "flake-utils_4", + "flake-utils": "flake-utils_6", "incl": "incl", "makes": [ + "serokell-nix", "haskell-nix", "tullia", "std", "blank" ], "microvm": [ + "serokell-nix", "haskell-nix", "tullia", "std", @@ -1048,7 +1583,7 @@ ], "n2c": "n2c", "nixago": "nixago", - "nixpkgs": "nixpkgs_4", + "nixpkgs": "nixpkgs_7", "nosys": "nosys", "yants": "yants" }, @@ -1071,6 +1606,7 @@ "nix-nomad": "nix-nomad", "nix2container": "nix2container", "nixpkgs": [ + "serokell-nix", "haskell-nix", "nixpkgs" ], @@ -1092,11 +1628,11 @@ }, "utils": { "locked": { - "lastModified": 1653893745, - "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "lastModified": 1648297722, + "narHash": "sha256-W+qlPsiZd8F3XkzXOzAoR+mpFqzm3ekQkJNa+PIh1BQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "rev": "0f8662f1319ad6abf89b3380dd2722369fc51ade", "type": "github" }, "original": { @@ -1107,11 +1643,11 @@ }, "utils_2": { "locked": { - "lastModified": 1648297722, - "narHash": "sha256-W+qlPsiZd8F3XkzXOzAoR+mpFqzm3ekQkJNa+PIh1BQ=", + "lastModified": 1653893745, + "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "0f8662f1319ad6abf89b3380dd2722369fc51ade", + "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", "type": "github" }, "original": { @@ -1123,6 +1659,7 @@ "yants": { "inputs": { "nixpkgs": [ + "serokell-nix", "haskell-nix", "tullia", "std", diff --git a/flake.nix b/flake.nix index 3beb11a..2274afb 100644 --- a/flake.nix +++ b/flake.nix @@ -15,6 +15,7 @@ inputs.hackage.follows = "hackage"; inputs.stackage.follows = "stackage"; }; + serokell-nix.url = "github:serokell/serokell.nix/sereja/OPS-1458-ci-wrapper"; hackage = { flake = false; }; @@ -36,76 +37,28 @@ lib = pkgs.lib; - hs-package-name = "with-utf8"; - - ghc-versions = [ "884" "8107" "902" "926" "944" ]; - - # invoke haskell.nix for each ghc version listed in ghc-versions - pkgs-per-ghc = lib.genAttrs (map (v: "ghc${v}") ghc-versions) - (ghc: haskellPkgs.haskell-nix.cabalProject { - src = haskellPkgs.haskell-nix.haskellLib.cleanGit { - name = hs-package-name; - src = ./.; - }; - compiler-nix-name = ghc; - - # haskell.nix configuration - modules = [{ - packages.${hs-package-name} = { - ghcOptions = [ - # fail on warnings - "-Werror" - # disable optimisations, we don't need them if we don't package or deploy the executable - "-O0" - ]; - }; - - }]; - }); - - # returns the list of all components for a package - get-package-components = pkg: - # library - lib.optional (pkg ? library) pkg.library - # haddock - ++ lib.optional (pkg ? library) pkg.library.haddock - # exes, tests and benchmarks - ++ lib.attrValues pkg.exes - ++ lib.attrValues pkg.tests - ++ lib.attrValues pkg.benchmarks; - - # all components for each specified ghc version - build-all = lib.mapAttrs' - (ghc: pkg: - let components = get-package-components pkg.${hs-package-name}.components; - in lib.nameValuePair "${ghc}:build-all" - (pkgs.linkFarmFromDrvs "build-all" components)) pkgs-per-ghc; + ci = serokell-nix.lib.haskell.makeCI haskellPkgs { + src = ./.; + stackFiles = ["stack-lts-20-7.yaml"]; + resolvers = ["lts-19.13"]; + }; - # all tests for each specified ghc version - test-all = lib.mapAttrs' - (ghc: pkg: - let tests = lib.filter lib.isDerivation - (lib.attrValues pkg.${hs-package-name}.checks); - in lib.nameValuePair "${ghc}:test-all" - (pkgs.linkFarmFromDrvs "test-all" tests)) pkgs-per-ghc; in { # nixpkgs revision pinned by this flake legacyPackages = pkgs; devShells.default = pkgs.mkShell { - buildInputs = [ pkgs.hpack ]; - }; + buildInputs = [ pkgs.hpack ]; + }; # used to dynamically build a matrix in the GitHub pipeline - ghc-matrix = { - include = map (ver: { ghc = ver; }) ghc-versions; - }; + inherit (ci) build-matrix ; # derivations that we can run from CI - checks = build-all // test-all // { + checks = ci.build-all // ci.test-all // { - trailing-whitespace = pkgs.build.checkTrailingWhitespace ./.; - reuse-lint = pkgs.build.reuseLint ./.; + # trailing-whitespace = pkgs.build.checkTrailingWhitespace ./.; + # reuse-lint = pkgs.build.reuseLint ./.; hlint = pkgs.build.haskell.hlint ./.; stylish-haskell = pkgs.build.haskell.stylish-haskell ./.; diff --git a/stack-lts-20-7.yaml b/stack-lts-20-7.yaml new file mode 100644 index 0000000..cd4a1e0 --- /dev/null +++ b/stack-lts-20-7.yaml @@ -0,0 +1,23 @@ +# SPDX-FileCopyrightText: 2021 Serokell +# +# SPDX-License-Identifier: MPL-2.0 + +resolver: lts-20.7 +packages: + - with-utf8 + - test-package + +extra-deps: + # Required for GHC >= 9 + - th-env-0.1.0.3 + + # Required for GHC >= 9.2 + - constraints-0.13.1 + - hashable-1.3.5.0 + - random-1.2.1 + + # text-2.0 + #- hashable-1.4.0.1 + #- text-2.0 + +#allow-newer: true # text-2.0: some of our deps (incorrectly) say they don’t like it diff --git a/stack.yaml b/stack.yaml index 5f3d46a..ae439b8 100644 --- a/stack.yaml +++ b/stack.yaml @@ -3,7 +3,9 @@ # SPDX-License-Identifier: MPL-2.0 resolver: lts-18.14 -packages: [.] +packages: + - with-utf8 + - test-package extra-deps: # Required for GHC >= 9 diff --git a/test-package/.gitignore b/test-package/.gitignore new file mode 100644 index 0000000..c368d45 --- /dev/null +++ b/test-package/.gitignore @@ -0,0 +1,2 @@ +.stack-work/ +*~ \ No newline at end of file diff --git a/test-package/CHANGELOG.md b/test-package/CHANGELOG.md new file mode 100644 index 0000000..e0bbd4c --- /dev/null +++ b/test-package/CHANGELOG.md @@ -0,0 +1,11 @@ +# Changelog for `test-package` + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to the +[Haskell Package Versioning Policy](https://pvp.haskell.org/). + +## Unreleased + +## 0.1.0.0 - YYYY-MM-DD diff --git a/test-package/LICENSE b/test-package/LICENSE new file mode 100644 index 0000000..c5b6c16 --- /dev/null +++ b/test-package/LICENSE @@ -0,0 +1,30 @@ +Copyright Author name here (c) 2023 + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + * Neither the name of Author name here nor the names of other + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/test-package/README.md b/test-package/README.md new file mode 100644 index 0000000..efb2f18 --- /dev/null +++ b/test-package/README.md @@ -0,0 +1 @@ +# test-package diff --git a/test-package/Setup.hs b/test-package/Setup.hs new file mode 100644 index 0000000..9a994af --- /dev/null +++ b/test-package/Setup.hs @@ -0,0 +1,2 @@ +import Distribution.Simple +main = defaultMain diff --git a/test-package/app/Main.hs b/test-package/app/Main.hs new file mode 100644 index 0000000..4c6b30f --- /dev/null +++ b/test-package/app/Main.hs @@ -0,0 +1,6 @@ +module Main (main) where + +import Lib + +main :: IO () +main = someFunc diff --git a/test-package/package.yaml b/test-package/package.yaml new file mode 100644 index 0000000..0aca137 --- /dev/null +++ b/test-package/package.yaml @@ -0,0 +1,60 @@ +name: test-package +version: 0.1.0.0 +github: "githubuser/test-package" +license: BSD3 +author: "Author name here" +maintainer: "example@example.com" +copyright: "2023 Author name here" + +extra-source-files: +- README.md +- CHANGELOG.md + +# Metadata used when publishing your package +# synopsis: Short description of your package +# category: Web + +# To avoid duplicated efforts in documentation and dealing with the +# complications of embedding Haddock markup inside cabal files, it is +# common to point users to the README.md file. +description: Please see the README on GitHub at +tested-with: GHC == 9.2.6, GHC == 9.4.4 + +dependencies: +- base >= 4.7 && < 5 + +ghc-options: +- -Wall +- -Wcompat +- -Widentities +- -Wincomplete-record-updates +- -Wincomplete-uni-patterns +- -Wmissing-export-lists +- -Wmissing-home-modules +- -Wpartial-fields +- -Wredundant-constraints + +library: + source-dirs: src + +executables: + test-package-exe: + main: Main.hs + source-dirs: app + ghc-options: + - -threaded + - -rtsopts + - -with-rtsopts=-N + dependencies: + - test-package + +tests: + test-package-test: + main: Spec.hs + source-dirs: test + ghc-options: + - -threaded + - -rtsopts + - -with-rtsopts=-N + dependencies: + - test-package diff --git a/test-package/src/Lib.hs b/test-package/src/Lib.hs new file mode 100644 index 0000000..d36ff27 --- /dev/null +++ b/test-package/src/Lib.hs @@ -0,0 +1,6 @@ +module Lib + ( someFunc + ) where + +someFunc :: IO () +someFunc = putStrLn "someFunc" diff --git a/test-package/test-package.cabal b/test-package/test-package.cabal new file mode 100644 index 0000000..9f0d562 --- /dev/null +++ b/test-package/test-package.cabal @@ -0,0 +1,63 @@ +cabal-version: 1.12 + +-- This file has been generated from package.yaml by hpack version 0.35.2. +-- +-- see: https://github.com/sol/hpack + +name: test-package +version: 0.1.0.0 +description: Please see the README on GitHub at +homepage: https://github.com/githubuser/test-package#readme +bug-reports: https://github.com/githubuser/test-package/issues +author: Author name here +maintainer: example@example.com +copyright: 2023 Author name here +license: BSD3 +license-file: LICENSE +build-type: Simple +tested-with: + GHC == 9.2.6, GHC == 9.4.4 +extra-source-files: + README.md + CHANGELOG.md + +source-repository head + type: git + location: https://github.com/githubuser/test-package + +library + exposed-modules: + Lib + other-modules: + Paths_test_package + hs-source-dirs: + src + ghc-options: -Wall -Wcompat -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-export-lists -Wmissing-home-modules -Wpartial-fields -Wredundant-constraints + build-depends: + base >=4.7 && <5 + default-language: Haskell2010 + +executable test-package-exe + main-is: Main.hs + other-modules: + Paths_test_package + hs-source-dirs: + app + ghc-options: -Wall -Wcompat -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-export-lists -Wmissing-home-modules -Wpartial-fields -Wredundant-constraints -threaded -rtsopts -with-rtsopts=-N + build-depends: + base >=4.7 && <5 + , test-package + default-language: Haskell2010 + +test-suite test-package-test + type: exitcode-stdio-1.0 + main-is: Spec.hs + other-modules: + Paths_test_package + hs-source-dirs: + test + ghc-options: -Wall -Wcompat -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-export-lists -Wmissing-home-modules -Wpartial-fields -Wredundant-constraints -threaded -rtsopts -with-rtsopts=-N + build-depends: + base >=4.7 && <5 + , test-package + default-language: Haskell2010 diff --git a/test-package/test/Spec.hs b/test-package/test/Spec.hs new file mode 100644 index 0000000..cd4753f --- /dev/null +++ b/test-package/test/Spec.hs @@ -0,0 +1,2 @@ +main :: IO () +main = putStrLn "Test suite not yet implemented" diff --git a/app/utf8-troubleshoot/Main.hs b/with-utf8/app/utf8-troubleshoot/Main.hs similarity index 100% rename from app/utf8-troubleshoot/Main.hs rename to with-utf8/app/utf8-troubleshoot/Main.hs diff --git a/app/utf8-troubleshoot/cbits/locale.c b/with-utf8/app/utf8-troubleshoot/cbits/locale.c similarity index 100% rename from app/utf8-troubleshoot/cbits/locale.c rename to with-utf8/app/utf8-troubleshoot/cbits/locale.c diff --git a/lib/Data/Text/IO/Utf8.hs b/with-utf8/lib/Data/Text/IO/Utf8.hs similarity index 100% rename from lib/Data/Text/IO/Utf8.hs rename to with-utf8/lib/Data/Text/IO/Utf8.hs diff --git a/lib/Data/Text/Lazy/IO/Utf8.hs b/with-utf8/lib/Data/Text/Lazy/IO/Utf8.hs similarity index 100% rename from lib/Data/Text/Lazy/IO/Utf8.hs rename to with-utf8/lib/Data/Text/Lazy/IO/Utf8.hs diff --git a/lib/Main/Utf8.hs b/with-utf8/lib/Main/Utf8.hs similarity index 100% rename from lib/Main/Utf8.hs rename to with-utf8/lib/Main/Utf8.hs diff --git a/lib/System/IO/Utf8.hs b/with-utf8/lib/System/IO/Utf8.hs similarity index 100% rename from lib/System/IO/Utf8.hs rename to with-utf8/lib/System/IO/Utf8.hs diff --git a/lib/System/IO/Utf8/Internal.hs b/with-utf8/lib/System/IO/Utf8/Internal.hs similarity index 100% rename from lib/System/IO/Utf8/Internal.hs rename to with-utf8/lib/System/IO/Utf8/Internal.hs diff --git a/package.yaml b/with-utf8/package.yaml similarity index 94% rename from package.yaml rename to with-utf8/package.yaml index da43e84..46d2834 100644 --- a/package.yaml +++ b/with-utf8/package.yaml @@ -21,13 +21,11 @@ category: IO author: Kirill Elagin copyright: 2020 Serokell -license-file: LICENSES/MPL-2.0.txt +# license-file: ../LICENSES/MPL-2.0.txt github: serokell/haskell-with-utf8 +tested-with: GHC == 8.8.4, GHC == 8.10.7, GHC == 9.0.2 -extra-doc-files: - - CHANGELOG.md - - README.md ghc-options: - -Wall diff --git a/test/Test.hs b/with-utf8/test/Test.hs similarity index 100% rename from test/Test.hs rename to with-utf8/test/Test.hs diff --git a/test/Test/Utf8/Choice.hs b/with-utf8/test/Test/Utf8/Choice.hs similarity index 100% rename from test/Test/Utf8/Choice.hs rename to with-utf8/test/Test/Utf8/Choice.hs diff --git a/test/Test/Utf8/ReadWrite.hs b/with-utf8/test/Test/Utf8/ReadWrite.hs similarity index 100% rename from test/Test/Utf8/ReadWrite.hs rename to with-utf8/test/Test/Utf8/ReadWrite.hs diff --git a/test/Test/Utf8/Set.hs b/with-utf8/test/Test/Utf8/Set.hs similarity index 100% rename from test/Test/Utf8/Set.hs rename to with-utf8/test/Test/Utf8/Set.hs diff --git a/test/Test/Util.hs b/with-utf8/test/Test/Util.hs similarity index 100% rename from test/Test/Util.hs rename to with-utf8/test/Test/Util.hs diff --git a/test/Tree.hs b/with-utf8/test/Tree.hs similarity index 100% rename from test/Tree.hs rename to with-utf8/test/Tree.hs diff --git a/with-utf8.cabal b/with-utf8/with-utf8.cabal similarity index 95% rename from with-utf8.cabal rename to with-utf8/with-utf8.cabal index 11baa09..e117133 100644 --- a/with-utf8.cabal +++ b/with-utf8/with-utf8.cabal @@ -1,4 +1,4 @@ -cabal-version: 1.18 +cabal-version: 1.12 -- This file has been generated from package.yaml by hpack version 0.35.2. -- @@ -24,12 +24,9 @@ bug-reports: https://github.com/serokell/haskell-with-utf8/issues author: Kirill Elagin maintainer: Kirill Elagin copyright: 2020 Serokell -license: MPL-2.0 -license-file: LICENSES/MPL-2.0.txt build-type: Simple -extra-doc-files: - CHANGELOG.md - README.md +tested-with: + GHC == 8.8.4, GHC == 8.10.7, GHC == 9.0.2 source-repository head type: git diff --git a/with-utf8.cabal.license b/with-utf8/with-utf8.cabal.license similarity index 100% rename from with-utf8.cabal.license rename to with-utf8/with-utf8.cabal.license