Bug 224192

Summary: converters/hs-dataenc, converters/hs-sandi: install conflicting interfaces
Product: Ports & Packages Reporter: Dmitry Marakasov <amdmi3>
Component: Individual Port(s)Assignee: freebsd-haskell (Nobody) <haskell>
Status: Closed FIXED    
Severity: Affects Some People CC: arrowd, pgj, rene
Priority: --- Flags: bugzilla: maintainer-feedback? (haskell)
Version: Latest   
Hardware: Any   
OS: Any   

Description Dmitry Marakasov freebsd_committer freebsd_triage 2017-12-09 00:43:19 UTC
converters/hs-dataenc and converters/hs-sandi install conflicting interfaces. For instance, when they are both installed, hedgewars will fail to compile with the following error:

[11 of 25] Compiling EngineInteraction ( EngineInteraction.hs, /usr/work/tmp/hedgewars/work/hedgewars-src-0.9.23/gameServer/EngineInteraction.o )
EngineInteraction.hs:29:1: error:
    Ambiguous interface for `Codec.Binary.Base64':
      it was found in multiple packages: dataenc-0.14.0.7 sandi-0.4.0

It seems that mutual CONFLICTS are needed for these ports, but I'm not 100% sure, thus the PR.
Comment 1 Gleb Popov freebsd_committer freebsd_triage 2017-12-09 10:21:09 UTC
Yep, it seems so.

hs-dataenc looks obsolete, its last release was in 2014. hs-darcs-2.12.5 also switched from dataenc to sandi, like hedgewars did. But we still have www/hs-hS3 and devel/hs-hashed-storage that use hs-dataenc and these also had a release in 2014.

I'd just remove devel/hs-hashed-storage, converters/hs-dataenc and www/hs-hS3 altogether and switched darcs and hedgewars to sandi, since we are duplicating Stackage efforts in our Ports tree anyway.
Comment 2 Dmitry Marakasov freebsd_committer freebsd_triage 2017-12-25 13:23:06 UTC
Should I do it right away? I cannot find the info on who's (and whether you are) on the haskell@ team, so is removing these 3 ports a sanctioned decision?
Comment 3 Gleb Popov freebsd_committer freebsd_triage 2017-12-25 13:44:56 UTC
(In reply to Dmitry Marakasov from comment #2)

> I cannot find the info on who's on the haskell@ team

@pgj definitely is.

> (and whether you are)

I don't know that myself, lol.

If @haskell is ruled by meritocracy, then it is @pgj is who can make decisions. Let's stay on safe side and just add mutual CONFLICTS for now.
Comment 4 commit-hook freebsd_committer freebsd_triage 2017-12-25 15:49:38 UTC
A commit references this bug:

Author: amdmi3
Date: Mon Dec 25 15:49:24 UTC 2017
New revision: 457241
URL: https://svnweb.freebsd.org/changeset/ports/457241

Log:
  - Add mutual runtime conflicts between hs-dataenc and hs-sandi

  If these both are installed, haskell fails to use modules from any of them:

      Ambiguous interface for `Codec.Binary.Base64':
        it was found in multiple packages: dataenc-0.14.0.7 sandi-0.4.0

  PR:		224192
  Approved by:	portmgr blanket

Changes:
  head/converters/hs-dataenc/Makefile
  head/converters/hs-sandi/Makefile
Comment 5 Gabor Pali freebsd_committer freebsd_triage 2017-12-31 11:40:47 UTC
(In reply to Dmitry Marakasov from comment #2)

If the ports targeted for removal do not have any dependents or dependents themselves are also got obsoleted (as arrowd wrote) then I think it is just safe to remove them -- together with the dependents.  That is, please make sure you do not leave any port broken by the removal.
Comment 6 commit-hook freebsd_committer freebsd_triage 2018-08-15 10:52:23 UTC
A commit references this bug:

Author: arrowd
Date: Wed Aug 15 10:51:56 UTC 2018
New revision: 477219
URL: https://svnweb.freebsd.org/changeset/ports/477219

Log:
  Deprecate www/hs-hS3, devel/hs-darcs, devel/hs-hashed-storage.

  PR:		224192
  Approved by:	tcberner (mentor)
  Differential Revision:	https://reviews.freebsd.org/D16672

Changes:
  head/converters/hs-dataenc/Makefile
  head/devel/hs-darcs/Makefile
  head/devel/hs-hashed-storage/Makefile
  head/www/hs-hS3/Makefile
Comment 7 Rene Ladan freebsd_committer freebsd_triage 2018-09-16 09:12:30 UTC
converters/hs-dataenc expired today and has been removed.