packages feed

cabal2nix 2.19.0 → 2.19.1

raw patch · 6 files changed

+40/−51 lines, 6 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

CHANGELOG.md view
@@ -1,5 +1,31 @@ # Revision History for cabal2nix +## 2.19.1++**Warning**: This version of `cabal2nix` generates Nix expressions that+are expected to be used with at least NixOS 22.11 or the unstable+channels at `3928cfa27d9925f9fbd1d211cf2549f723546a81` or later (which+should be all unstable channels published after 2022-10-23) due to changes+how `libcrypt` is provided by `nixpkgs`. For details read below.++* `cabal2nix` and `hackage2nix` will now emit a dependency on `libxcrypt`+  if the `crypt` library is requested by a package description. This has+  been done because `nixpkgs` has+  [disabled `libcrypt` being bundled with `glibc`](https://github.com/NixOS/nixpkgs/pull/181764),+  so the library will need to be pulled in from elsewhere.+  These new generated nix expressions may not work correctly with older+  versions of `nixpkgs` (since two `libcrypt`s would be pulled in).+  Versions expected to work are listed in the warning above.+  See also [#576](https://github.com/NixOS/cabal2nix/pull/576).+* `cabal2nix` and `hackage2nix` can now resolve the `FLAC` library name.+  See also [#567](https://github.com/NixOS/cabal2nix/pull/567).+* Fix test suite compilation with `Cabal >= 3.8`.+  See also [#572](https://github.com/NixOS/cabal2nix/pull/572).+* Packages closely tied to `cabal2nix` have been merged into the main+  `cabal2nix` source repository. As a consequence, the cabal2nix source+  code has been moved into the `cabal2nix` subdirectory.+  See also [#567](https://github.com/NixOS/cabal2nix/pull/567).+ ## 2.19.0  Note that some of the API has also changed in a breaking
README.md view
@@ -69,50 +69,3 @@ This repository also contains, in the [`hackage2nix/`](./hackage2nix) directory, the tool to update the Haskell packages in [nixpkgs](https://github.com/NixOS/nixpkgs). It has its own README there.--## Building--`cabal2nix` is built using [`cabal-install`](https://www.haskell.org/cabal/),-like you'd expect, and you are free to use your favourite way of setting up-a Haskell development environment.--Since `cabal2nix` is quite intertwined with the packages `distribution-nixpkgs`-and `hackage-db`, we recommend setting up a shared development environment-for the three packages like so:--```console-$ mkdir /path/to/cabal2nix-root && cd /path/to/cabal2nix-root-$ # clone repositories, note that you may need to checkout an-$ # older tag for some depending on breaking changes on master.-$ git clone https://github.com/NixOS/cabal2nix.git-$ git clone https://github.com/NixOS/hackage-db.git-$ git clone https://github.com/NixOS/distribution-nixpkgs.git-$ # setup development environment with shellFor-$ cat > shell.nix << EOF-# assumes nix{os,pkgs}-unstable-{ pkgs ? import <nixpkgs> {} }:--pkgs.haskellPackages.shellFor {-  packages = p: [-    p.cabal2nix-unstable-    p.distribution-nixpkgs-    p.hackage-db-  ];--  # for running doctests locally-  nativeBuildInputs = [-    pkgs.haskellPackages.doctest-  ];--  # set environment variable, so the development version of-  # distribution-nixpkgs finds derivation-attr-paths.nix-  distribution_nixpkgs_datadir = toString ./distribution-nixpkgs;-}-EOF-$ # tell cabal about local packages-$ cat > cabal.project << EOF-packages: ./*/*.cabal-EOF-$ # test our new development environment-$ nix-shell --run "cabal v2-build exe:cabal2nix exe:hackage2nix"-```
cabal2nix.cabal view
@@ -1,5 +1,5 @@ name:               cabal2nix-version:            2.19.0+version:            2.19.1 synopsis:           Convert Cabal files into Nix build instructions. description:   Convert Cabal files into Nix build instructions. Users of Nix can install the latest@@ -12,7 +12,7 @@ -- list all contributors: git log --pretty='%an' | sort | uniq maintainer:         sternenseemann <sternenseemann@systemli.org> stability:          stable-tested-with:        GHC == 8.8.4 || == 8.10.7 || == 9.0.2+tested-with:        GHC == 8.8.4 || == 8.10.7 || == 9.0.2 || == 9.2.2 category:           Distribution, Nix homepage:           https://github.com/nixos/cabal2nix#readme bug-reports:        https://github.com/nixos/cabal2nix/issues@@ -26,6 +26,7 @@ source-repository head   type:     git   location: https://github.com/nixos/cabal2nix+  subdir:   cabal2nix  library   exposed-modules:    Cabal2nix
src/Distribution/Nixpkgs/Haskell/FromCabal/Name.hs view
@@ -36,7 +36,7 @@ libNixName "cairo-pdf"                          = return "cairo" libNixName "cairo-ps"                           = return "cairo" libNixName "cairo-svg"                          = return "cairo"-libNixName "crypt"                              = []  -- provided by glibc+libNixName "crypt"                              = return "libxcrypt" -- starting with NixOS 22.11, glibc's libcrypt will no longer be built libNixName "crypto"                             = return "openssl" libNixName "curses"                             = return "ncurses" libNixName "dbusmenu-glib-0.4"                  = return "libdbusmenu"@@ -45,6 +45,7 @@ libNixName "ff"                                 = return "libff" libNixName "fftw3"                              = return "fftw" libNixName "fftw3f"                             = return "fftwFloat"+libNixName "FLAC"                               = return "flac" libNixName "freetype2"                          = return "freetype" libNixName "gconf"                              = return "GConf" libNixName "gconf-2.0"                          = return "GConf"
test/Main.hs view
@@ -1,5 +1,6 @@ {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE LambdaCase #-}+{-# LANGUAGE CPP #-}  module Main ( main ) where @@ -13,8 +14,13 @@ import qualified Data.Set as Set import Distribution.Compiler import Distribution.Package+#if MIN_VERSION_Cabal(3,8,1)+import Distribution.Simple.PackageDescription+import Distribution.Types.GenericPackageDescription+#else import Distribution.PackageDescription import Distribution.PackageDescription.Parsec+#endif import Distribution.System import Distribution.Verbosity import Distribution.Version
test/golden-test-cases/crypt-sha512.nix.golden view
@@ -1,5 +1,6 @@ { mkDerivation, attoparsec, base, bytestring, cryptohash-sha512-, lib, quickcheck-instances, tasty, tasty-hunit, tasty-quickcheck+, lib, libxcrypt, quickcheck-instances, tasty, tasty-hunit+, tasty-quickcheck }: mkDerivation {   pname = "crypt-sha512";@@ -12,6 +13,7 @@     base bytestring quickcheck-instances tasty tasty-hunit     tasty-quickcheck   ];+  testSystemDepends = [ libxcrypt ];   homepage = "https://github.com/phadej/crypt-sha512";   description = "Pure Haskell implelementation for GNU SHA512 crypt algorithm";   license = lib.licenses.bsd3;