MyNixOS website logo
Description

Convert stack projects to cabal.project + cabal.project.freeze.

Convert stack.yaml / package.yaml to cabal.project / cabal.project.freeze/ *.cabal.

Gitter Haskell CI Docker build Hackage version license

stack2cabal

This is forked of tseenshe/stack2cabal and the current hackage package.

Installation

Clone the repo and build with either cabal or stack or see the release page for binaries.

Docker

Docker pulls Docker stars Docker image size

docker pull hasufell/stack2cabal:latest

Usage

To convert a stack.yaml to cabal.project simply cd to the project directory and run:

stack2cabal

This will also create a cabal.project.freeze based on the stack resolver.

Also see stack2cabal --help for further options.

Docker

docker run --rm \
  -v /etc/passwd:/etc/passwd:ro \
  -u `id -u`:`id -g` \
  -v `pwd`:`pwd` \
  -w `pwd` \
  --tmpfs "$HOME/.cache" \
  hasufell/stack2cabal:latest

Notes

  • Hackage packages that are specified as git repositories in e.g. extra-deps might have a different version than the stack resolver. Therefore stack2cabal will download all repos and ignore their package names when generating cabal.project.freeze. This can take some time depending on your project. Pass --no-inspect-remotes to skip this.
Metadata

Version

1.0.14

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows