NixOS / nixpkgs

Nix Packages collection & NixOS
MIT License
18.39k stars 14.34k forks source link

category-extras: Encountered missing dependencies: comonad ==4.*, semigroupoids ==4.*, transformers >=0.2 && <0.4 #45859

Closed srghma closed 3 years ago

srghma commented 6 years ago

Issue description

 ~  nix-shell --pure -p "haskellPackages.ghcWithPackages (pkgs: with pkgs; [ category-extras ])" --run "ghci"
warning: ignoring untrusted substituter 'https://hie-nix.cachix.org'
these derivations will be built:
  /nix/store/14v3ladx7cay0wzdm9izg8vkkrxdnicv-representable-functors-3.2.0.2.drv
  /nix/store/gc7bli84qn5rki270g2a32wvnqslbg9m-comonad-extras-4.0.drv
  /nix/store/ji3hdl0c5lv01ih4y7x8rk4lp4dwxcjm-indexed-extras-0.2.drv
  /nix/store/7shp231rj3lzzv6yddspzpn2hgl62jdz-category-extras-1.0.2.drv
  /nix/store/p8pb1fa5c019cjdcq7nmpnhfg87j11yh-ghc-8.2.2-with-packages.drv
building '/nix/store/gc7bli84qn5rki270g2a32wvnqslbg9m-comonad-extras-4.0.drv'...
building '/nix/store/ji3hdl0c5lv01ih4y7x8rk4lp4dwxcjm-indexed-extras-0.2.drv'...
building '/nix/store/14v3ladx7cay0wzdm9izg8vkkrxdnicv-representable-functors-3.2.0.2.drv'...
setupCompilerEnvironmentPhase
Build with /nix/store/zncdaxamqaf5l9pz1aw23a7wmcj93crx-ghc-8.2.2.
ignoring (possibly broken) abi-depends field for packages
unpacking sources
unpacking source archive /nix/store/sdnl2zmjdr3cni5h60sa54vysaki37n5-comonad-extras-4.0.tar.gz
source root is comonad-extras-4.0
setting SOURCE_DATE_EPOCH to timestamp 1385403786 of file comonad-extras-4.0/.travis.yml
patching sources
compileBuildDriverPhase
setupCompileFlags: -package-db=/build/package.conf.d -j8 -threaded
setupCompilerEnvironmentPhase
Build with /nix/store/zncdaxamqaf5l9pz1aw23a7wmcj93crx-ghc-8.2.2.
[1 of 1] Compiling Main             ( Setup.lhs, /build/Main.o )
setupCompilerEnvironmentPhase
Build with /nix/store/zncdaxamqaf5l9pz1aw23a7wmcj93crx-ghc-8.2.2.
ignoring (possibly broken) abi-depends field for packages
unpacking sources
unpacking source archive /nix/store/6qlmampimrdmrwl4f9pfjh8012r76irq-representable-functors-3.2.0.2.tar.gz
source root is representable-functors-3.2.0.2
setting SOURCE_DATE_EPOCH to timestamp 1381676516 of file representable-functors-3.2.0.2/.vim.custom
patching sources
compileBuildDriverPhase
setupCompileFlags: -package-db=/build/package.conf.d -j8 -threaded
Linking Setup ...
ignoring (possibly broken) abi-depends field for packages
unpacking sources
unpacking source archive /nix/store/g319znk1wrc97zl4qsvnb7a3m41fs3c6-indexed-extras-0.2.tar.gz
source root is indexed-extras-0.2
setting SOURCE_DATE_EPOCH to timestamp 1467944680 of file indexed-extras-0.2/Setup.hs
patching sources
compileBuildDriverPhase
setupCompileFlags: -package-db=/build/package.conf.d -j8 -threaded
[1 of 1] Compiling Main             ( Setup.lhs, /build/Main.o )
[1 of 1] Compiling Main             ( Setup.hs, /build/Main.o )
Linking Setup ...
Linking Setup ...
configuring
configureFlags: --verbose --prefix=/nix/store/05981wvcbqr2wn0hywpxal35vkqhav8a-comonad-extras-4.0 --libdir=$prefix/lib/$compiler --libsubdir=$pkgid --docdir=/nix/store/y5khs6x5fmjddz38izpnr72xjr7zvakj-comonad-extras-4.0-doc/share/doc --with-gcc=gcc --package-db=/build/package.conf.d --ghc-option=-optl=-Wl,-rpath=/nix/store/05981wvcbqr2wn0hywpxal35vkqhav8a-comonad-extras-4.0/lib/ghc-8.2.2/comonad-extras-4.0 --ghc-option=-j8 --disable-split-objs --disable-library-profiling --disable-profiling --enable-shared --disable-coverage --enable-library-vanilla --enable-executable-dynamic --enable-tests --ghc-option=-split-sections --extra-lib-dirs=/nix/store/54cwjh1lsmjpk2cbs43gw89w4zhk3ybb-ncurses-6.0-20171125/lib --extra-lib-dirs=/nix/store/wc2ll61lypsv9yig6mvy73c0lw1dp15a-gmp-6.1.2/lib --extra-lib-dirs=/nix/store/54cwjh1lsmjpk2cbs43gw89w4zhk3ybb-ncurses-6.0-20171125/lib
configuring
configuring
configureFlags: --verbose --prefix=/nix/store/cammvxndlrzacqymdahlmiazkj6vfcm2-indexed-extras-0.2 --libdir=$prefix/lib/$compiler --libsubdir=$pkgid --docdir=/nix/store/jnjb7r86242w06p8ndp51caiarb66rpf-indexed-extras-0.2-doc/share/doc --with-gcc=gcc --package-db=/build/package.conf.d --ghc-option=-optl=-Wl,-rpath=/nix/store/cammvxndlrzacqymdahlmiazkj6vfcm2-indexed-extras-0.2/lib/ghc-8.2.2/indexed-extras-0.2 --ghc-option=-j8 --disable-split-objs --disable-library-profiling --disable-profiling --enable-shared --disable-coverage --enable-library-vanilla --enable-executable-dynamic --enable-tests --ghc-option=-split-sections --extra-lib-dirs=/nix/store/54cwjh1lsmjpk2cbs43gw89w4zhk3ybb-ncurses-6.0-20171125/lib --extra-lib-dirs=/nix/store/wc2ll61lypsv9yig6mvy73c0lw1dp15a-gmp-6.1.2/lib --extra-lib-dirs=/nix/store/54cwjh1lsmjpk2cbs43gw89w4zhk3ybb-ncurses-6.0-20171125/lib
configureFlags: --verbose --prefix=/nix/store/rgvdlyrz4r7b5m3aav2nllcbvnkj0jvr-representable-functors-3.2.0.2 --libdir=$prefix/lib/$compiler --libsubdir=$pkgid --docdir=/nix/store/a6mrr9b655y2jidlxg04fdifmbkn5x7w-representable-functors-3.2.0.2-doc/share/doc --with-gcc=gcc --package-db=/build/package.conf.d --ghc-option=-optl=-Wl,-rpath=/nix/store/rgvdlyrz4r7b5m3aav2nllcbvnkj0jvr-representable-functors-3.2.0.2/lib/ghc-8.2.2/representable-functors-3.2.0.2 --ghc-option=-j8 --disable-split-objs --disable-library-profiling --disable-profiling --enable-shared --disable-coverage --enable-library-vanilla --enable-executable-dynamic --enable-tests --ghc-option=-split-sections --extra-lib-dirs=/nix/store/54cwjh1lsmjpk2cbs43gw89w4zhk3ybb-ncurses-6.0-20171125/lib --extra-lib-dirs=/nix/store/wc2ll61lypsv9yig6mvy73c0lw1dp15a-gmp-6.1.2/lib --extra-lib-dirs=/nix/store/54cwjh1lsmjpk2cbs43gw89w4zhk3ybb-ncurses-6.0-20171125/lib
Configuring comonad-extras-4.0...
CallStack (from HasCallStack):
  die', called at libraries/Cabal/Cabal/Distribution/Simple/Configure.hs:948:20 in Cabal-2.0.1.0:Distribution.Simple.Configure
  configureFinalizedPackage, called at libraries/Cabal/Cabal/Distribution/Simple/Configure.hs:470:12 in Cabal-2.0.1.0:Distribution.Simple.Configure
  configure, called at libraries/Cabal/Cabal/Distribution/Simple.hs:570:20 in Cabal-2.0.1.0:Distribution.Simple
  confHook, called at libraries/Cabal/Cabal/Distribution/Simple/UserHooks.hs:67:5 in Cabal-2.0.1.0:Distribution.Simple.UserHooks
  configureAction, called at libraries/Cabal/Cabal/Distribution/Simple.hs:174:19 in Cabal-2.0.1.0:Distribution.Simple
  defaultMainHelper, called at libraries/Cabal/Cabal/Distribution/Simple.hs:119:27 in Cabal-2.0.1.0:Distribution.Simple
  defaultMain, called at Setup.lhs:7:10 in main:Main
Setup: Encountered missing dependencies:
comonad ==4.*, semigroupoids ==4.*, transformers >=0.2 && <0.4
builder for '/nix/store/gc7bli84qn5rki270g2a32wvnqslbg9m-comonad-extras-4.0.drv' failed with exit code 1
cannot build derivation '/nix/store/p8pb1fa5c019cjdcq7nmpnhfg87j11yh-ghc-8.2.2-with-packages.drv': 1 dependencies couldn't be built
error: build of '/nix/store/p8pb1fa5c019cjdcq7nmpnhfg87j11yh-ghc-8.2.2-with-packages.drv' failed

Technical details

 ✘  ~  nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 4.14.59, NixOS, 18.03.133029.d0c868ec17c (Impala)`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.0.4`
 - channels(srghma): `"postman-6.1.4, qtpass-1.2.1, terraform-0.11.7, nix-diff-1.0.1, intero-0.1.20.drv, libreoffice-6.0.2.1, icedtea-web-1.6.2, xkbcomp-1.4.0, qtox-1.13.0, utox-0.16.1, bfg-repo-cleaner, jq-1.5, firefox-60.0.2esr, home-manager-path, python3-3.6.5, sqlitebrowser-3.10.1"`
 - channels(root): `"nixos-18.03, nixpkgs-unstable-18.09pre147772.d1ae60cbad7"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs`

P.S.

also reproduced on latest nixpkgs 37c0f1cafa6d6097f0aa7caf9f0c6b94abb18cb1

srghma commented 6 years ago

the only comonad we have right now in nixpkgs is v5, but category-extras needs v4, I could add it myself and change

  "category-extras" = callPackage
-    ({ mkDerivation, adjunctions, bifunctors, categories, comonad
+   ({ mkDerivation, adjunctions, bifunctors, categories, comonad_4
     , comonad-extras, comonad-transformers, comonads-fd, contravariant
     , distributive, either, free, groupoids, indexed, indexed-extras
     , invariant, kan-extensions, keys, monad-products, pointed
     , profunctor-extras, profunctors, recursion-schemes, reducers
     , representable-functors, representable-profunctors
     , semigroupoid-extras, semigroupoids, semigroups, void
     }:
     mkDerivation {
       pname = "category-extras";
       version = "1.0.2";
       sha256 = "168psp1qd80838b9945499qh99jidbl2gngcrjqk6hb0qsyhckcq";
       libraryHaskellDepends = [
-        adjunctions bifunctors categories comonad comonad-extras
+       adjunctions bifunctors categories comonad_4 comonad-extras
         comonad-transformers comonads-fd contravariant distributive either
         free groupoids indexed indexed-extras invariant kan-extensions keys
         monad-products pointed profunctor-extras profunctors
         recursion-schemes reducers representable-functors
         representable-profunctors semigroupoid-extras semigroupoids
         semigroups void
       ];
       doHaddock = false;
       description = "A meta-package documenting various packages inspired by category theory";
       license = stdenv.lib.licenses.bsd3;
       hydraPlatforms = stdenv.lib.platforms.none;
     }) {};

but I dont know how to add it to pkgs/development/haskell-modules/hackage-packages.nix

stale[bot] commented 4 years ago

Thank you for your contributions.

This has been automatically marked as stale because it has had no activity for 180 days.

If this is still important to you, we ask that you leave a comment below. Your comment can be as simple as "still important to me". This lets people see that at least one person still cares about this. Someone will have to do this at most twice a year if there is no other activity.

Here are suggestions that might help resolve this more quickly:

  1. Search for maintainers and people that previously touched the related code and @ mention them in a comment.
  2. Ask on the NixOS Discourse.
  3. Ask on the #nixos channel on irc.freenode.net.
pennae commented 3 years ago

since version 1.0 of the packages (uploaded to hackage on 2012-02-01T01:59:32Z) this package exists only to document where the code it once contained had gone:

The obsolete category-extras package provided a monolithic set of modules designed for the use of category theory in Haskell. It was exploded into more focused, self-contained packages (listed in the dependencies below); this meta-package documents where the code has gone.

having it fail to build feels more like a wakeup call to remove/mark broken things that still depend on it almost ten years later?

cdepillabout commented 3 years ago

@pennae Thanks for the explanation!

That sounds reasonable. Recent versions of Nixpkgs have category-extras in pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml, so I think this is good to be closed.