Code Monkey home page Code Monkey logo

Comments (14)

Mistuke avatar Mistuke commented on August 15, 2024 1

Cabal won't support multiple build types for projects and you can't have different build-types for internal libraries. Also all Windows toolchain distributions ship msys2 these days.

from network.

tibbe avatar tibbe commented on August 15, 2024
  1. Wouldn't it be smart to eradicate the use of GNU toolchain to keep the library cross-platform?

If it could be made to work, but someone needs to do the work.

  1. If configure is a strictly must-use tool, shouldn't we ask to include MSYS into Haskell Platform with proper default setup?

The platform does included MSYS (but I'm not sure about the PATH setup) and the network package is already compiled in the distribution so the users don't need to use configure to use the network shipped with the platform.

from network.

reverofevil avatar reverofevil commented on August 15, 2024

@kazu-yamamoto

The default setup is still wrong. network package is still rendering software unusable on Windows.

idris-0.12.2 depends on network-2.6.3.1 which failed to install.

I see that now the package is supported by less opinionated person. Could we at least reopen this and mark as a bug?

from network.

reverofevil avatar reverofevil commented on August 15, 2024

Unlike cabal, stack doesn't have any problems with this package.

There is no inherent need in unix toolchain. Terrorizing Haskell users on Windows for 4 years is kinda mean.

from network.

kazu-yamamoto avatar kazu-yamamoto commented on August 15, 2024

@polkovnikov-ph I'm very sorry for your inconvenience. I'm not a right person to tackle this issue because I don't have Windows environment.

@eborden Do you handle this issue?

@snoyberg Could you explain why stack does not have this kind of problems.

from network.

snoyberg avatar snoyberg commented on August 15, 2024

Stack was designed to work around this kind of issue by providing a Unix compatible toolchain. My understanding is that the Haskell Platform implemented a similar solution, so I'm not sure why this would be a problem.

from network.

reverofevil avatar reverofevil commented on August 15, 2024

@kazu-yamamoto I'm very sorry to remind about this issue again, especially as it affects only hobby usage of Haskell on Windows.

@snoyberg The problem is that Unix compatible toolchains are no fun on Windows, and they tend to fail due to spaces, unicode in paths or just randomly. That's inherent problem of software that was primarily developed on Unix compatible systems. Haskell, on the other hand, makes no assumptions about the system, including POSIX compatibility. That's why having one of the main packages to depend on Unix toolchain is odd, to say the least.

from network.

eborden avatar eborden commented on August 15, 2024

@polkovnikov-ph I do empathize. I've opened #251 in response. I'd love to better serve Windows users.

from network.

reverofevil avatar reverofevil commented on August 15, 2024

@eborden I think there's no need in separate Windows maintainer. Once built it works fine, which implies that cbits are already working on Windows properly. The only thing to fix is Setup.hs that calls autoconf tools instead of doing same things in Haskell. It requires (almost) no Windows knowledge to port autoconf code to Haskell.

from network.

eborden avatar eborden commented on August 15, 2024

@polkovnikov-ph Can you produce a failing test case on appveyor?
https://github.com/haskell/network/blob/master/appveyor.yml

from network.

kazu-yamamoto avatar kazu-yamamoto commented on August 15, 2024

@polkovnikov-ph If we have problems unique to Windows (not building stuff), @eborden and I cannot fix them. So, it would be nice if we had a new maintainer.

from network.

Mistuke avatar Mistuke commented on August 15, 2024

Hmm I believe this should be working with platform now as well. Though their fix of using dos shortnames in paths isn't a complete fix.

from network.

Mistuke avatar Mistuke commented on August 15, 2024

I've been talking with the cabal people to support a way to keep configure scripts for non-Windows OSes and for Windows provide an opt-out with a pre-generated config.status file. On Windows the checks will always result in the same results, so it's not a very useful restriction.

I probably won't get to implementing it this month, but early next month I should have time for it (fighting too many fires at once). We can then have network use this new build-type.

This would remove the need to have stack, platform or msys2 to build network and a lot of other packages.

from network.

kazu-yamamoto avatar kazu-yamamoto commented on August 15, 2024

@Mistuke Could you try this again?

from network.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.