[opensuse-packaging] OBS unable to capture built Haskell packages for openSUSE:Backports:SLE-12
Hi, I was trying to update the ghc-semigroups package in openSUSE:Backports:SLE-12 channel to the latest from openSUSE:Factory. During the build, the log mentioned a number of packages of different versions which were missing inside Backports:SLE-12 channel. I took a view of the dependency package versions inside the channel, and most of them seemed fine. But even after building them separately inside a subproject, ghc-semigroups is unable to capture their presence during runtime. Those packages can be viewed here (https://build.opensuse.org/project/show/home:ShikharJ:HaskellUpdate). We initially thought that maybe this was because of packages not being mentioned explicitly in the spec file, but then it would seem contradictory, as these are there in Factory channel as well. Any help regarding this would be appreciated. Regards, Shikhar Jaiswal -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
Hi Shikhar,
https://build.opensuse.org/project/show/home:ShikharJ:HaskellUpdate
the semigroups.cabal [1] file specifies different sets of dependencies depending on which version of GHC compiles the package. A (simplified) snippet of the file reads: | library | -- legacy configuration | if impl(ghc < 7.11.20151002) | build-depends: binary | build-depends: tagged >= 0.4.4 && < 1 | build-depends: text >= 0.10 && < 2 | build-depends: hashable >= 1.1 && < 1.3 | build-depends: unordered-containers >= 0.2 && < 0.3 | build-depends: transformers >= 0.2 && < 0.6 | , transformers-compat >= 0.5 && < 1 You compile with GHC 7.10.3, so in your configuration these settings are in effect. Your semigroups.spec file, however, comes from Factory -- which has GHC 8.4.3 -- and the build does not depend on those packages there (because they were merged into GHC's core libraries and are now all part of 'base'). Therefore, the semigroups.spec file in Factory does not list any of those packages as a dependency. If you want to generate a spec file that works properly with GHC 7.10.3, then you can install cabal2spec [2], download the cabal file from [1], and run: $ cabal2spec --compiler=ghc-7.10.3 semigroups.cabal That gives you a "semigroups.spec" with all necessary dependencies included. Best regards, Peter [1] http://hackage.haskell.org/package/semigroups-0.18.5/semigroups.cabal [2] http://hackage.haskell.org/package/cabal2spec -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
participants (2)
-
Peter Simons
-
Shikhar Jaiswal