Bug 1853122
| Summary: | heads-up: hedgewars-1.0.0 fails to build with Haskell network-3 | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Jens Petersen <petersen> | ||||
| Component: | hedgewars | Assignee: | Richard Shaw <hobbes1069> | ||||
| Status: | CLOSED CURRENTRELEASE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||
| Severity: | medium | Docs Contact: | |||||
| Priority: | unspecified | ||||||
| Version: | 33 | CC: | bruno, hdegoede, hobbes1069, nickysn | ||||
| Target Milestone: | --- | ||||||
| Target Release: | --- | ||||||
| Hardware: | Unspecified | ||||||
| OS: | Unspecified | ||||||
| Whiteboard: | |||||||
| Fixed In Version: | hedgewars-1.0.0-9.fc33 | Doc Type: | If docs needed, set a value | ||||
| Doc Text: | Story Points: | --- | |||||
| Clone Of: | Environment: | ||||||
| Last Closed: | 2020-11-30 15:28:11 UTC | Type: | Bug | ||||
| Regression: | --- | Mount Type: | --- | ||||
| Documentation: | --- | CRM: | |||||
| Verified Versions: | Category: | --- | |||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||
| Embargoed: | |||||||
| Attachments: |
|
||||||
|
Description
Jens Petersen
2020-07-02 03:14:59 UTC
(Also just noting it would be better if gameServer used hedgewars-server.cabal rather than ghc --make to build. This would avoid module ambiguities and some of the extra cmake hoops.) Created attachment 1699592 [details]
hedgewars-1.0.0-server-network3.patch
I am not a network programmer - this may need some tweaks to work correctly.
Also this change to the spec file:
modified hedgewars.spec
@@ -20,6 +20,8 @@ Patch6: rpath-fix.patch
Patch8: hedgewars-cmake-ghc8-mask.patch
# Try to use gcc instead of clang
Patch9: hedgewars-clang.patch
+# Haskell network-3
+Patch10: hedgewars-1.0.0-server-network3.patch
BuildRequires: cmake gcc-c++ fpc desktop-file-utils
BuildRequires: libatomic
@@ -53,6 +55,7 @@ Summary: Standalone server for hedgewars
Requires: %{name}%{?_isa} = %{version}-%{release}
BuildRequires: ghc-stm-devel
BuildRequires: ghc-network-devel
+BuildRequires: ghc-network-bsd-devel
BuildRequires: ghc-utf8-string-devel
BuildRequires: ghc-hslogger-devel
BuildRequires: ghc-deepseq-devel
Ok, I'll take a look when I can. I have posted to the hedgewars support forum to get their input. Also, would not a copr make it easier for test builds? You can easily craft a mock repo from it. Miro has provided those for the python updates. I really know nothing about Haskell. (In reply to Richard Shaw from comment #4) > Ok, I'll take a look when I can. I have posted to the hedgewars support > forum to get their input. Thanks > Also, would not a copr make it easier for test builds? You can easily craft > a mock repo from it. Miro has provided those for the python updates. I > really know nothing about Haskell. You are right - it would help too, but basically Hedgewars is about the only "out-of-band" Haskell package in Fedora. :) But I would like to it do - we have over 500 packages in Fedora - the main problem is just lack of time. :) Also if needed I can certainly help with scripting how to test this locally. Anyway I think my patch is not too wrong, but I am not certain about all the adddress handling. (Just for my reference: https://www.hedgewars.org/node/9167) Just another heads-up that the big Haskell update push for F33 is happening now in Rawhide. https://bodhi.fedoraproject.org/updates/FEDORA-2020-ff060f7bec I asked for help from upstream a few weeks ago and just pinged them again. https://www.hedgewars.org/node/9167?page=0 I saw they have integrated Jens Petersen's patch in their upstream mercurial repository, so I guess we should proceed with it. I'm currently preparing a patch that also fixes an unrelated build failure due to the CMAKE out-of-source build change. I committed the patch and my CMAKE out-of-source build fixes. Koji scratch build here: https://koji.fedoraproject.org/koji/taskinfo?taskID=47571435 Now I get this build error, probably due to missing dependency: -- Found GHC: /usr/bin/ghc -- Looking for Haskell package containers ... -- Looking for Haskell package containers - found -- Looking for Haskell package vector ... -- Looking for Haskell package vector - found -- Looking for Haskell package bytestring ... -- Looking for Haskell package bytestring - found -- Looking for Haskell package network ... -- Looking for Haskell package network - found -- Looking for Haskell package network-bsd ... -- Looking for Haskell package network-bsd - found -- Looking for Haskell package time ... -- Looking for Haskell package time - found -- Looking for Haskell package mtl ... -- Looking for Haskell package mtl - found -- Looking for Haskell package sandi ... -- Looking for Haskell package sandi - found -- Looking for Haskell package hslogger ... -- Looking for Haskell package hslogger - found -- Looking for Haskell package process ... -- Looking for Haskell package process - not found CMake Error at cmake_modules/CheckHaskellPackageExists.cmake:44 (message): Haskell package 'process' required Call Stack (most recent call first): gameServer/CMakeLists.txt:18 (check_haskell_package_exists) -- Configuring incomplete, errors occurred! See also "/builddir/build/BUILD/hedgewars-src-1.0.0/x86_64-redhat-linux-gnu/CMakeFiles/CMakeOutput.log". See also "/builddir/build/BUILD/hedgewars-src-1.0.0/x86_64-redhat-linux-gnu/CMakeFiles/CMakeError.log". error: Bad exit status from /var/tmp/rpm-tmp.LCsEit (%build) RPM build errors: Bad exit status from /var/tmp/rpm-tmp.LCsEit (%build) # dnf repoquery --whatprovides ghc-devel\* | grep process ghc-process-devel-0:1.6.5.0-102.fc32.x86_64 ghc-typed-process-devel-0:0.2.6.0-1.fc32.x86_64 # dnf repoquery --provides ghc-process-devel Last metadata expiration check: 0:00:20 ago on Tue 21 Jul 2020 10:43:28 AM CDT. ghc-devel(process-1.6.5.0) ghc-process-devel = 1.6.5.0-102.fc32 ghc-process-devel(x86-64) = 1.6.5.0-102.fc32 ghc-process-static = 1.6.5.0-102.fc32 ghc-process-static(x86-64) = 1.6.5.0-102.fc32 You can add a BR for the package directly. It probably SHOULD be in the form of "ghc-devel(process)" but with the embedded version I don't think it would work. The provides would be more useful in dnf/rpm if it was in the form: ghc-devel(process) = 1.6.5.0 Added BuildRequires to the package directly. Koji scratch build: https://koji.fedoraproject.org/koji/taskinfo?taskID=47580266 Looks good to me, I would go ahead and do an official build. Thanks! This bug appears to have been reported against 'rawhide' during the Fedora 33 development cycle. Changing version to 33. Update is in stable, closing. |