Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix #42: use patches for revisions #51

Closed

Fix #42: use patches for revisions

09df34e
Select commit
Loading
Failed to load commit list.
Closed

Fix #42: use patches for revisions #51

Fix #42: use patches for revisions
09df34e
Select commit
Loading
Failed to load commit list.
IOG Hydra / ci/hydra-build:x86_64-linux.x86_64-unknown-linux-musl.packages.foliage:test:foliage-test-suite failed Apr 11, 2024 in 10s

Build dependency failed

1 failed steps

Details

Failed Steps

Step 1

Derivation

/nix/store/0n7s63ygxz1zblfbfvjgrdh81vsmg3m1-foliage-exe-foliage-0.6.0.0.drv

Log

unpacking sources
unpacking source archive /nix/store/zv2iwnivr1vds7fplsjd4a23ic064skk-source-root-exe-foliage
source root is source-root-exe-foliage
patching sources
updateAutotoolsGnuConfigScriptsPhase
configuring
Configure flags:
--prefix=/nix/store/14srrsx4n2lagzl9frasqpj9vmziq881-foliage-exe-foliage-0.6.0.0 exe:foliage --package-db=clear --package-db=/build/tmp.1HWOpIP3ce/lib/ghc-9.4.8/lib/package.conf.d --exact-configuration --dependency=Cabal=Cabal-3.10.1.0-6LXFNVZ2kznAvd1KokIzj3 --dependency=Cabal-syntax=Cabal-syntax-3.10.1.0-1d8SuQRpLm0DQRNzot4kQX --dependency=binary=binary-0.8.9.1-GCvHQY8Fa3pAhmH5vEIfb7 --dependency=bytestring=bytestring-0.11.5.3-BCiuwRK6tD88fRrE06PkoM --dependency=containers=containers-0.6.7-DHAaVGaugjH47kXpszMd0y --dependency=containers=containers-0.6.7-DHAaVGaugjH47kXpszMd0y --dependency=directory=directory-1.3.7.1-JC40AfFZXzF6BNDSDksMH6 --dependency=filepath=filepath-1.4.2.2-KWVzSKZl2j8IYGZ89KgZYg --dependency=time=time-1.12.2-JD7bWW4ZoJuDu42XwbNbJD --dependency=unix=unix-2.7.3-I8aZRXQJHajGBgqypamjck --dependency=mtl=mtl-2.2.2-JH2R61IXO86L7oCsewaz7T --dependency=transformers=transformers-0.5.6.2-B9uCXmhG6YH9wvDeIjf1uP --dependency=parsec=parsec-3.1.16.1-4WlLtwYQgWMIJHr3z09efJ --dependency=text=text-2.0.2-LMtOhfqPujpBKCB2f2VSW --dependency=text=text-2.0.2-LMtOhfqPujpBKCB2f2VSW --dependency=process=process-1.6.18.0-3LN9W6SW5CkLNarnVtH2M3 --dependency=aeson=aeson-2.2.0.0-3AEFMwM3tg0CVpr6ps3VE1 --dependency=OneTuple=OneTuple-0.4.1.1-Ft09b59sqBL7CkJH7Fth7D --dependency=QuickCheck=QuickCheck-2.14.3-DgsU2qkMufkSeMsUTADNc --dependency=random=random-1.2.1.1-FGyHrEyq076K23PNLf848u --dependency=splitmix=splitmix-0.1.0.4-2Z3hpLkoU6EA9xebaL24dE --dependency=splitmix=splitmix-0.1.0.4-2Z3hpLkoU6EA9xebaL24dE --dependency=data-fix=data-fix-0.3.2-4gdKoKky5PtGdEJAjljaWL --dependency=hashable=hashable-1.4.3.0-Ey3aA1RzRln9bBwN0dCaZb --dependency=dlist=dlist-1.0-8nCROV7nHWV1xhhm1tDv9W --dependency=exceptions=exceptions-0.10.5-7mt2RpCy9Ye6Nd5mU49HK3 --dependency=stm=stm-2.5.1.0-7zWrvWEIUQ48kLnmXZT0ud --dependency=generically=generically-0.1.1-GTxhZZJ73FYjTkCm8QZAu --dependency=base-orphans=base-orphans-0.9.0-4QMoSe76tOFGX4DfjNPz0p --dependency=indexed-traversable=indexed-traversable-0.1.2.1-OFPZHmCu1V6G05trrSW4C --dependency=integer-conversion=integer-conversion-0.1-6wbLmgPCToUKY2maUOuKT3 --dependency=primitive=primitive-0.8.0.0-GTpCTQ56uvbGRK1NnS1rGn --dependency=network-uri=network-uri-2.6.4.2-GazR9dbC0GY9D36hVHMooK --dependency=th-compat=th-compat-0.1.4-J9ngOGuq7js4hkKvBBydgt --dependency=scientific=scientific-0.3.7.0-JVknAcvB7Fz8vs2WAF7bY1 --dependency=integer-logarithms=integer-logarithms-1.0.3.1-JfoQIJXh5PhDnmGGlkJE4T --dependency=semialign=semialign-1.3-98recFkqoZGJlX6nOMjYWl --dependency=indexed-traversable-instances=indexed-traversable-instances-0.1.1.2-F87EVYWn7TODkzcD6VHid8 --dependency=tagged=tagged-0.8.8-L6OViTDNTH4D3a3hijEkkH --dependency=unordered-containers=unordered-containers-0.2.19.1-HBvC7DnmFGLCdwszalgDFI --dependency=vector=vector-0.13.0.0-EMxAJYyxkLt6Q5iZqJkqzZ --dependency=vector-stream=vector-stream-0.1.0.0-3lCfHZluihABooYlJXwfC1 --dependency=semigroupoids=semigroupoids-6.0.0.1-7zoOfTc0zOPHcZv8mSyKKe --dependency=bifunctors=bifunctors-5.6.1-LL8Fm86rhag7FpfBzMrtnk --dependency=assoc=assoc-1.1-8NZjxRwxBZSAPrLXrOWBk5 --dependency=comonad=comonad-5.0.8-FBBzhMiHIlB87DRZOcOqBY --dependency=distributive=distributive-0.6.2.1-8BReSOsR5CnCgwlbMpwxZn --dependency=transformers-compat=transformers-compat-0.7.2-9KFXTWEt59e5oLr61ueHNu --dependency=foldable1-classes-compat=foldable1-classes-compat-0.1-5XDHKNR2eMf9CcwFIGEjJK --dependency=th-abstraction=th-abstraction-0.5.0.0-HClYcoSd7udFZXFPMltqYM --dependency=contravariant=contravariant-1.5.5-Csfmmdfr3TQ7S2eDyvUxZC --dependency=StateVar=StateVar-1.2.2-Kql2iasLlrn9Pz23YTpw0l --dependency=these=these-1.2-BlNnMHoKKoC9XJK1grkmCy --dependency=strict=strict-0.5-DwRXE0pcsn25ICQ76760tA --dependency=text-iso8601=text-iso8601-0.1-Gneb3qo229f4WRJGcbIxbu --dependency=time-compat=time-compat-1.9.6.1-CS4jdY3jK7KG5whpp10Zlz --dependency=text-short=text-short-0.1.5-4Qj9qL9uwJbLGpfgekBBme --dependency=uuid-types=uuid-types-1.0.5-FLJyxYZI9BODjeRMjxumpT --dependency=witherable=witherable-0.4.2-HwFhTlQcJn03D1kxRCRcyo --dependency=base16=base16-1.0-IDRaSdytbbf92yVBJNkqHh --dependency=cabal-install=cabal-install-3.10.1.0-FDutVThQ1wu4QTCoO38eIr --dependency=Cabal=Cabal-3.10.1.0-6LXFNVZ2kznAvd1KokIzj3 --dependency=HTTP=HTTP-4000.4.1-67Bp1anjYsIBAH9xpk8nW1 --dependency=network=network-3.1.4.0-JsTDFERuvsJLdkdaH1JU2H --dependency=async=async-2.2.4-KD0wlj0NVsX1d4FxM7To5B --dependency=base16-bytestring=base16-bytestring-1.0.2.0-2bLQ0wpyEVxARkVTfxmyy6 --dependency=cabal-install-solver=cabal-install-solver-3.10.1.0-8YHjNfXatmn98KOTrkpr7D --dependency=edit-distance=edit-distance-0.2.2.1-3kqAUakKldwCgBR7KvHVke --dependency=cryptohash-sha256=cryptohash-sha256-0.11.102.1-KAoiC9eOJf4evEdwtMRGY --dependency=echo=echo-0.1.4-JpJy9VeCe5BLPWevdTgPkY --dependency=hackage-security=hackage-security-0.6.2.3-C7PjnqkUHZM7xUbgDu2SuH --dependency=base64-bytestring=base64-bytestring-1.2.1.0-JRv8z75gvnDBFURaY2P5cc --dependency=ed25519=ed25519-0.0.5.0-Lxvu9UDXrvb2Xqg3PLN3sE --dependency=lukko=lukko-0.1.1.3-ApQqb4zeT537rexGUoBdJr --dependency=tar=tar-0.5.1.1-Icm5AjyU7h5DppDyOHsi7A --dependency=zlib=zlib-0.6.3.0-83eiQcT9N4I474AYj1wTo9 --dependency=regex-base=regex-base-0.94.0.2-FfwytuxpAxb6LBWTekvYrY --dependency=regex-posix=regex-posix-0.96.0.1-4LkBWMKkxCgFxYZRGJYCIp --dependency=resolv=resolv-0.1.2.0-HIhCkIWXNV0JfJkk9Gji7V --dependency=safe-exceptions=safe-exceptions-0.1.7.4-E9cnUmmAJx5B6xFDiplgu3 --dependency=optparse-applicative=optparse-applicative-0.17.1.0-FC5js3LIiwBbH2h9sQaus --dependency=ansi-wl-pprint=ansi-wl-pprint-0.6.9-DIVZPRcVz1EQd1VeJeJEo --dependency=ansi-terminal=ansi-terminal-1.0-GF5WxAdg1L5eW2Mr1O2be --dependency=ansi-terminal-types=ansi-terminal-types-0.11.5-94tBGyEfSQUHisdUb8P9op --dependency=colour=colour-2.3.6-5Hdg5NZuPkoIAWxSFkdA0e --dependency=colour=colour-2.3.6-5Hdg5NZuPkoIAWxSFkdA0e --dependency=shake=shake-0.19.7-BW9Kuvw7GG1J0rPEO2bOHa --dependency=extra=extra-1.7.14-GRM2ECbOx8f2WtrPvEoxMD --dependency=clock=clock-0.8.4-G8SzK6hYDaQ8NS4QguXJqj --dependency=filepattern=filepattern-0.1.3-AIX3iM2BoWJ5xu8vfowScy --dependency=heaps=heaps-0.4-5PB8Hy2UZs5xAS9LDwoq6 --dependency=js-dgtable=js-dgtable-0.5.2-GJOZPjRBXVeCze8bD7YdfT --dependency=js-flot=js-flot-0.8.3-IKtJvuN3TOl6yoqyRfRs9e --dependency=js-jquery=js-jquery-3.3.1-GCjw1NTKZjFJVKUV30VZHp --dependency=utf8-string=utf8-string-1.0.2-CBV7v5pOB6l9GVjwcUrqZQ --dependency=stache=stache-2.3.4-FJLwabfK0PJAmbYcoYdwmN --dependency=megaparsec=megaparsec-9.5.0-6DacirRyqdHAUWDkkI2423 --dependency=case-insensitive=case-insensitive-1.2.1.0-Llsjaq24yPCAjhxcaQSgLI --dependency=parser-combinators=parser-combinators-1.3.0-11YwG5dPNej79xqbn9HKav --dependency=tomland=tomland-1.3.3.2-A43lKxlUCWJHMLTLvH2jSc --dependency=validation-selective=validation-selective-0.2.0.0-2OZ9OswQRpRHTNftgo5U1q --dependency=selective=selective-0.7-1Y7496npCuI6aviCrCvImg --dependency=with-utf8=with-utf8-1.0.2.4-6RX1brj49ya5EkkPhhnzBl --dependency=array=array-0.5.4.0 --dependency=base=base-4.17.2.1 --dependency=deepseq=deepseq-1.4.8.0 --dependency=ghc-bignum=ghc-bignum-1.3 --dependency=ghc-boot-th=ghc-boot-th-9.4.8 --dependency=ghc-prim=ghc-prim-0.9.1 --dependency=integer-gmp=integer-gmp-1.1 --dependency=pretty=pretty-1.1.3.6 --dependency=rts=rts-1.0.2 --dependency=system-cxx-std-lib=system-cxx-std-lib-1.0 --dependency=template-haskell=template-haskell-2.19.0.0 --with-ghc=ghc --with-ghc-pkg=ghc-pkg --with-hsc2hs=hsc2hs --with-gcc=cc --with-ar=ar --with-strip=strip --disable-executable-stripping --disable-library-stripping --disable-library-profiling --disable-profiling --enable-static --enable-shared --disable-executable-dynamic --disable-coverage --enable-library-for-ghci --datadir=/nix/store/kkp5brv08n49simshwrs0dv252ymz9jg-foliage-exe-foliage-0.6.0.0-data/share/ghc-9.4.8 --enable-split-sections 
Configuring executable 'foliage' for foliage-0.6.0.0..
Warning: 'hs-source-dirs: tests' specifies a directory which does not exist.
building
Preprocessing executable 'foliage' for foliage-0.6.0.0..
Building executable 'foliage' for foliage-0.6.0.0..
[ 1 of 21] Compiling Distribution.Aeson ( app/Distribution/Aeson.hs, dist/build/foliage/foliage-tmp/Distribution/Aeson.o, dist/build/foliage/foliage-tmp/Distribution/Aeson.dyn_o )
[ 2 of 21] Compiling Distribution.Types.Orphans ( app/Distribution/Types/Orphans.hs, dist/build/foliage/foliage-tmp/Distribution/Types/Orphans.o, dist/build/foliage/foliage-tmp/Distribution/Types/Orphans.dyn_o )
[ 3 of 21] Compiling Foliage.HackageSecurity ( app/Foliage/HackageSecurity.hs, dist/build/foliage/foliage-tmp/Foliage/HackageSecurity.o, dist/build/foliage/foliage-tmp/Foliage/HackageSecurity.dyn_o )
[ 4 of 21] Compiling Foliage.CmdCreateKeys ( app/Foliage/CmdCreateKeys.hs, dist/build/foliage/foliage-tmp/Foliage/CmdCreateKeys.o )
[ 5 of 21] Compiling Foliage.Time     ( app/Foliage/Time.hs, dist/build/foliage/foliage-tmp/Foliage/Time.o, dist/build/foliage/foliage-tmp/Foliage/Time.dyn_o )
[ 6 of 21] Compiling Foliage.Options  ( app/Foliage/Options.hs, dist/build/foliage/foliage-tmp/Foliage/Options.o )
[ 7 of 21] Compiling Foliage.UpdateCabalFile ( app/Foliage/UpdateCabalFile.hs, dist/build/foliage/foliage-tmp/Foliage/UpdateCabalFile.o, dist/build/foliage/foliage-tmp/Foliage/UpdateCabalFile.dyn_o )
[ 8 of 21] Compiling Foliage.Utils.Aeson ( app/Foliage/Utils/Aeson.hs, dist/build/foliage/foliage-tmp/Foliage/Utils/Aeson.o, dist/build/foliage/foliage-tmp/Foliage/Utils/Aeson.dyn_o )
[ 9 of 21] Compiling Network.URI.Orphans ( app/Network/URI/Orphans.hs, dist/build/foliage/foliage-tmp/Network/URI/Orphans.o, dist/build/foliage/foliage-tmp/Network/URI/Orphans.dyn_o )
[10 of 21] Compiling Foliage.Meta     ( app/Foliage/Meta.hs, dist/build/foliage/foliage-tmp/Foliage/Meta.o, dist/build/foliage/foliage-tmp/Foliage/Meta.dyn_o )
[11 of 21] Compiling Foliage.Utils.GitHub ( app/Foliage/Utils/GitHub.hs, dist/build/foliage/foliage-tmp/Foliage/Utils/GitHub.o, dist/build/foliage/foliage-tmp/Foliage/Utils/GitHub.dyn_o )
[12 of 21] Compiling Foliage.Shake    ( app/Foliage/Shake.hs, dist/build/foliage/foliage-tmp/Foliage/Shake.o, dist/build/foliage/foliage-tmp/Foliage/Shake.dyn_o )
[13 of 21] Compiling Foliage.PrepareSdist ( app/Foliage/PrepareSdist.hs, dist/build/foliage/foliage-tmp/Foliage/PrepareSdist.o, dist/build/foliage/foliage-tmp/Foliage/PrepareSdist.dyn_o )
[14 of 21] Compiling Foliage.Meta.Aeson ( app/Foliage/Meta/Aeson.hs, dist/build/foliage/foliage-tmp/Foliage/Meta/Aeson.o, dist/build/foliage/foliage-tmp/Foliage/Meta/Aeson.dyn_o )
[15 of 21] Compiling Foliage.CmdImportIndex ( app/Foliage/CmdImportIndex.hs, dist/build/foliage/foliage-tmp/Foliage/CmdImportIndex.o )

app/Foliage/CmdImportIndex.hs:117:13: warning: [-Wincomplete-uni-patterns]
    Pattern match(es) are non-exhaustive
    In a pattern binding:
        Patterns of type ‘[FilePath]’ not matched:
            []
            [_]
            [_, _]
            (_:_:_:_:_)
    |
117 |         let [pkgName, pkgVersion, _] = splitDirectories path
    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

app/Foliage/CmdImportIndex.hs:118:13: warning: [-Wincomplete-uni-patterns]
    Pattern match(es) are non-exhaustive
    In a pattern binding:
        Patterns of type ‘Maybe
                            Distribution.Types.PackageName.PackageName’ not matched:
            Nothing
    |
118 |             Just name = simpleParsec pkgName
    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

app/Foliage/CmdImportIndex.hs:119:13: warning: [-Wincomplete-uni-patterns]
    Pattern match(es) are non-exhaustive
    In a pattern binding:
        Patterns of type ‘Maybe
                            Distribution.Types.Version.Version’ not matched:
            Nothing
    |
119 |             Just version = simpleParsec pkgVersion
    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[16 of 21] Compiling Foliage.FetchURL ( app/Foliage/FetchURL.hs, dist/build/foliage/foliage-tmp/Foliage/FetchURL.o, dist/build/foliage/foliage-tmp/Foliage/FetchURL.dyn_o )
[17 of 21] Compiling Foliage.PrepareSource ( app/Foliage/PrepareSource.hs, dist/build/foliage/foliage-tmp/Foliage/PrepareSource.o, dist/build/foliage/foliage-tmp/Foliage/PrepareSource.dyn_o )
[18 of 21] Compiling Foliage.PreparePackageVersion ( app/Foliage/PreparePackageVersion.hs, dist/build/foliage/foliage-tmp/Foliage/PreparePackageVersion.o, dist/build/foliage/foliage-tmp/Foliage/PreparePackageVersion.dyn_o )

app/Foliage/PreparePackageVersion.hs:191:18: error:
    • Couldn't match expected type: [Timestamped FilePath]
                  with actual type: Timestamped a1
    • In the pattern: Timestamped patch _
      In a pattern binding: (Timestamped patch _) = prevCabalFilePath
      In the expression:
        do let inputFile = cabalFileRevisionPath revisionNumber
           let (Timestamped patch _) = prevCabalFilePath
           if takeExtension inputFile `elem` [".diff", ....] then
               do Stdout out <- cmd ...
                  ....
           else
               Timestamped revisionTimestamp <$> BL.readFile inputFile
    |
191 |             let (Timestamped patch _) = prevCabalFilePath
    |                  ^^^^^^^^^^^^^^^^^^^

app/Foliage/PreparePackageVersion.hs:194:73: error:
    • Couldn't match type ‘Timestamped FilePath’ with ‘Char’
      Expected: String
        Actual: [Timestamped FilePath]
    • In the expression: prevCabalFilePath
      In the first argument of ‘cmd’, namely
        ‘["patch", "-i", inputFile, "-o", ....]’
      In a stmt of a 'do' block:
        Stdout out <- cmd ["patch", "-i", inputFile, "-o", ....]
    |
194 |                 Stdout out <- cmd ["patch", "-i", inputFile, "-o", "-", prevCabalFilePath]
    |                                                                         ^^^^^^^^^^^^^^^^^

app/Foliage/PreparePackageVersion.hs:195:26: error:
    • Couldn't match expected type: [Timestamped FilePath]
                  with actual type: Timestamped a0
    • In the second argument of ‘($)’, namely
        ‘Timestamped revisionTimestamp out’
      In a stmt of a 'do' block:
        return $ Timestamped revisionTimestamp out
      In the expression:
        do Stdout out <- cmd ["patch", "-i", ....]
           return $ Timestamped revisionTimestamp out
    • Relevant bindings include
        out :: a0 (bound at app/Foliage/PreparePackageVersion.hs:194:24)
    |
195 |                 return $ Timestamped revisionTimestamp out
    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

app/Foliage/PreparePackageVersion.hs:196:20: error:
    • Couldn't match type: Timestamped BL.ByteString
                     with: [Timestamped FilePath]
      Expected: BL.ByteString -> [Timestamped FilePath]
        Actual: BL.ByteString -> Timestamped BL.ByteString
    • In the first argument of ‘(<$>)’, namely
        ‘Timestamped revisionTimestamp’
      In the expression:
        Timestamped revisionTimestamp <$> BL.readFile inputFile
      In a stmt of a 'do' block:
        if takeExtension inputFile `elem` [".diff", ".patch"] then
            do Stdout out <- cmd ["patch", ....]
               return $ Timestamped revisionTimestamp out
        else
            Timestamped revisionTimestamp <$> BL.readFile inputFile
    |
196 |               else Timestamped revisionTimestamp <$> BL.readFile inputFile
    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

app/Foliage/PreparePackageVersion.hs:196:54: error:
    • Couldn't match type ‘IO’ with ‘Action’
      Expected: Action BL.ByteString
        Actual: IO BL.ByteString
    • In the second argument of ‘(<$>)’, namely ‘BL.readFile inputFile’
      In the expression:
        Timestamped revisionTimestamp <$> BL.readFile inputFile
      In a stmt of a 'do' block:
        if takeExtension inputFile `elem` [".diff", ".patch"] then
            do Stdout out <- cmd ["patch", ....]
               return $ Timestamped revisionTimestamp out
        else
            Timestamped revisionTimestamp <$> BL.readFile inputFile
    |
196 |               else Timestamped revisionTimestamp <$> BL.readFile inputFile
    |                                                      ^^^^^^^^^^^^^^^^^^^^^

app/Foliage/PreparePackageVersion.hs:198:9: error:
    • Couldn't match type ‘Char’ with ‘Timestamped FilePath’
      Expected: [Timestamped FilePath]
        Actual: FilePath
    • In the second argument of ‘foldlM’, namely
        ‘originalCabalFilePath’
      In the second argument of ‘(<$>)’, namely
        ‘foldlM
           (\ prevCabalFilePath
              (RevisionSpec {revisionTimestamp, revisionNumber})
              -> do let inputFile = ...
                    let (Timestamped patch _) = ...
                    if takeExtension inputFile `elem` [...] then
                        do ...
                    else
                        Timestamped revisionTimestamp <$> BL.readFile inputFile)
           originalCabalFilePath (packageVersionRevisions pkgSpec)’
      In a stmt of a 'do' block:
        cabalFileRevisions <- sortOn (Down . timestamp)
                                <$>
                                  foldlM
                                    (\ prevCabalFilePath
                                       (RevisionSpec {revisionTimestamp, revisionNumber})
                                       -> do let inputFile = ...
                                             let (Timestamped patch _) = ...
                                             if takeExtension inputFile `elem` [...] then
                                                 do ...
                                             else
                                                 Timestamped revisionTimestamp
                                                   <$> BL.readFile inputFile)
                                    originalCabalFilePath (packageVersionRevisions pkgSpec)
    |
198 |         originalCabalFilePath
    |         ^^^^^^^^^^^^^^^^^^^^^