packages feed

cabal2nix 2.15.0 → 2.15.1

raw patch · 8 files changed

+37/−27 lines, 8 filesdep ~CabalPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: Cabal

API changes (from Hackage documentation)

Files

README.md view
@@ -27,16 +27,16 @@ `file:///local/path/pkg.cabal` URI that doesn't depend on network access. However, if the source hash is not already in `cabal2nix`'s cache or provided using the `--sha256` option, `cabal2nix` still needs to download the source-code to compute the hash, which obviously still causes network traffic. Run the-utility with `--help` to see the complete list of supported command line flags.+code to compute the hash, which still causes network traffic. Run the utility+with `--help` to see the complete list of supported command-line flags. -Detailed instructions how to use those generated files with Nix can be found at+Detailed instructions on how to use those generated files with Nix can be found at https://nixos.org/nixpkgs/manual/#how-to-create-nix-builds-for-your-own-private-haskell-packages.  `cabal2nix` can also build derivations for projects from other sources than-hackage. You only need to provide an URI that points to a cabal project. The-most common usecase for this is probably to generate a derivation for a project-on the local file system:+Hackage. You only need to provide a URI that points to a cabal project. The+most common use-case for this is probably to generate a derivation for a+project on the local file system:      $ cabal get mtl-2.2.1 && cd mtl-2.2.1     $ cabal2nix .
cabal2nix.cabal view
@@ -1,5 +1,5 @@ name:               cabal2nix-version:            2.15.0+version:            2.15.1 synopsis:           Convert Cabal files into Nix build instructions. description:   Convert Cabal files into Nix build instructions. Users of Nix can install the latest@@ -27,7 +27,7 @@                     gebbert, laMudri, Александр Цамутали maintainer:         Peter Simons <simons@cryp.to> stability:          stable-tested-with:        GHC == 8.6.5, GHC == 8.8.1+tested-with:        GHC == 8.6.5, GHC == 8.8.3, GHC == 8.10.1 category:           Distribution, Nix homepage:           https://github.com/nixos/cabal2nix#readme bug-reports:        https://github.com/nixos/cabal2nix/issues@@ -61,7 +61,7 @@   other-modules:      Paths_cabal2nix   hs-source-dirs:     src   build-depends:      base                 > 4.11-                    , Cabal                > 3+                    , Cabal                == 3.0.*                     , aeson                > 1                     , ansi-wl-pprint                     , bytestring@@ -84,7 +84,6 @@                     , transformers                     , yaml   default-language:   Haskell2010-  default-extensions: MonadFailDesugaring   other-extensions:   MultiParamTypeClasses                       ScopedTypeVariables                       FlexibleInstances@@ -102,7 +101,6 @@   hs-source-dirs:     cabal2nix   build-depends:      base, cabal2nix   default-language:   Haskell2010-  default-extensions: MonadFailDesugaring   ghc-options:        -Wall -Wcompat -Wincomplete-uni-patterns -Wincomplete-record-updates                       -Wredundant-constraints @@ -112,7 +110,7 @@                       Paths_cabal2nix   hs-source-dirs:     hackage2nix   build-depends:      base                 < 5-                    , Cabal                > 2.4+                    , Cabal                     , aeson                     , bytestring                     , cabal2nix@@ -129,16 +127,15 @@                     , optparse-applicative                     , pretty               >= 1.1.2   default-language:   Haskell2010-  default-extensions: MonadFailDesugaring   ghc-options:        -Wall -Wcompat -Wincomplete-uni-patterns -Wincomplete-record-updates-                      -Wredundant-constraints -threaded -rtsopts -with-rtsopts=-N+                      -Wredundant-constraints -threaded -rtsopts -with-rtsopts=-maxN16  test-suite regression-test   type:               exitcode-stdio-1.0   main-is:            Main.hs   hs-source-dirs:     test   build-depends:      base-                    , Cabal        > 2.4+                    , Cabal                     , cabal2nix                     , containers                     , directory@@ -150,7 +147,6 @@                     , tasty                     , tasty-golden   default-language:   Haskell2010-  default-extensions: MonadFailDesugaring   build-tools:        cabal2nix   ghc-options:        -Wall -Wcompat -Wincomplete-uni-patterns -Wincomplete-record-updates                       -Wredundant-constraints -threaded -with-rtsopts=-K64K
hackage2nix/Main.hs view
@@ -10,7 +10,7 @@ import Control.Monad.Par.Combinator import Control.Monad.Par.IO import Control.Monad.Trans ( liftIO )-import Data.List+import Data.List ( intercalate ) import Data.Map.Strict ( Map ) import qualified Data.Map.Strict as Map import Data.Maybe
src/Cabal2nix.hs view
@@ -11,10 +11,9 @@ import Control.Exception ( bracket ) import Control.Lens import Control.Monad-import Data.List+import Data.List ( intercalate, isPrefixOf ) import Data.List.Split import Data.Maybe ( fromMaybe, isJust, listToMaybe )-import Data.Monoid ( (<>) ) import qualified Data.Set as Set import Data.String import Data.Time@@ -136,6 +135,7 @@   "watchos"       -> "ios"   "tvos"          -> "ios"   "linux-android" -> "linux-android"+  "linux-androideabi" -> "linux-androideabi"   _ | "linux-" `isPrefixOf` os -> "linux"   _ -> fromMaybe os $ listToMaybe     [prefix | prefix <- osPrefixes, prefix `isPrefixOf` os]
src/Distribution/Nixpkgs/Haskell/Derivation.hs view
@@ -15,7 +15,7 @@  import Control.DeepSeq import Control.Lens-import Data.List+import Data.List ( isPrefixOf ) import Data.Set ( Set ) import qualified Data.Set as Set import Data.Set.Lens
src/Distribution/Nixpkgs/Haskell/FromCabal/Flags.hs view
@@ -4,6 +4,7 @@  import Distribution.Nixpkgs.Haskell.OrphanInstances ( ) +import Data.Char import Distribution.Package import Distribution.PackageDescription import Distribution.Version@@ -15,6 +16,7 @@ configureCabalFlags' (PackageIdentifier name version)  | name == "accelerate-examples"= [disable "opencl"]  | name == "arithmoi"           = [disable "llvm"]+ | name == "bustle"             = [disable "hgettext"] -- https://gitlab.freedesktop.org/bustle/bustle/issues/13  | name == "cabal-plan"         = [enable "exe"]  | name == "cassava"            = [disable "bytestring--lt-0_10_4"]  | name == "darcs"              = [enable "library", enable "force-char8-encoding"]@@ -26,7 +28,7 @@                                   , enable "dbus"                                   , disable "debuglocks"                                   , enable "magicmime"-                                  , disable "networkbsd"+                                  , enable "networkbsd"                                   , enable "pairing"                                   , enable "production"                                   , enable "s3"@@ -57,7 +59,10 @@  | otherwise                    = []  enable :: String -> (FlagName,Bool)-enable name = (mkFlagName name, True)+enable name = (mkFlagName' name, True)  disable :: String -> (FlagName,Bool)-disable name = (mkFlagName name, False)+disable name = (mkFlagName' name, False)++mkFlagName' :: String -> FlagName+mkFlagName' = mkFlagName . map toLower
src/Distribution/Nixpkgs/Haskell/FromCabal/Name.hs view
@@ -29,6 +29,7 @@ libNixName "appindicator3-0.1"                  = return "libappindicator-gtk3" libNixName "asound"                             = return "alsaLib" libNixName "b2"                                 = return "libb2"+libNixName "boost_context"                      = return "boost" libNixName "bz2"                                = return "bzip2" libNixName "c++"                                = []  -- What is that? libNixName "cairo-gobject"                      = return "cairo"@@ -94,6 +95,8 @@ libNixName "libavutil"                          = return "ffmpeg" libNixName "libgsasl"                           = return "gsasl" libNixName "libpcre"                            = return "pcre"+libNixName "libpcre2"                           = return "pcre2"+libNixName "libpcre2-8"                         = libNixName "libpcre2" libNixName "libqrencode"                        = return "qrencode" libNixName "libR"                               = return "R" libNixName "libsoup-gnome-2.4"                  = return "libsoup"@@ -200,7 +203,6 @@ buildToolNixName "nix-hash"                     = return "nix" buildToolNixName "nix-instantiate"              = return "nix" buildToolNixName "nix-store"                    = return "nix"-buildToolNixName "pkg-config"                   = return "pkgconfig" buildToolNixName x                              = return (fromString x)  -- | Helper function to extract the package name from a String that may or may
src/Distribution/Nixpkgs/Haskell/FromCabal/PostProcess.hs view
@@ -13,6 +13,7 @@ import qualified Data.Set as Set import Distribution.Nixpkgs.Haskell import Distribution.Nixpkgs.Meta+import Distribution.Nixpkgs.License import Distribution.Package import Distribution.System import Distribution.Text@@ -78,7 +79,7 @@   , ("alsa-core", over (metaSection . platforms) (Set.filter (\(Platform _ os) -> os == Linux)))   , ("bindings-GLFW", over (libraryDepends . system) (Set.union (Set.fromList [bind "pkgs.xorg.libXext", bind "pkgs.xorg.libXfixes"])))   , ("bindings-lxc", over (metaSection . platforms) (Set.filter (\(Platform _ os) -> os == Linux)))-  , ("bustle", set (libraryDepends . pkgconfig . contains "system-glib = pkgs.glib") True)+  , ("bustle", bustleOverrides)   , ("Cabal", set doCheck False) -- test suite doesn't work in Nix   , ("Cabal >2.2", over (setupDepends . haskell) (Set.union (Set.fromList [self "mtl", self "parsec"]))) -- https://github.com/haskell/cabal/issues/5391   , ("cabal-helper", set doCheck False) -- https://github.com/DanielG/cabal-helper/issues/17@@ -89,7 +90,7 @@   , ("dns", set testTarget "spec")      -- don't execute tests that try to access the network   , ("eventstore", over (metaSection . platforms) (Set.filter (\(Platform arch _) -> arch == X86_64)))   , ("freenect < 1.2.1", over configureFlags (Set.union (Set.fromList ["--extra-include-dirs=${pkgs.freenect}/include/libfreenect", "--extra-lib-dirs=${pkgs.freenect}/lib"])))-  , ("fltkhs", set (libraryDepends . system . contains (pkg "fltk14")) True . set (libraryDepends . pkgconfig . contains (pkg "libGLU_combined")) True) -- TODO: fltk14 belongs into the *setup* dependencies.+  , ("fltkhs", set (libraryDepends . system . contains (pkg "fltk14")) True . over (libraryDepends . pkgconfig) (Set.union (pkgs ["libGLU", "libGL"]))) -- TODO: fltk14 belongs into the *setup* dependencies.   , ("gf", set phaseOverrides gfPhaseOverrides . set doCheck False)   , ("gi-cairo", giCairoPhaseOverrides)                     -- https://github.com/haskell-gi/haskell-gi/issues/36   , ("gi-gdk", set runHaddock True )@@ -255,7 +256,7 @@   , "  sed -i \"s|numJobs (bf bi)++||\" ./Setup.hs"     -- Parallel compilation fails. Disable it.   , "'';"-  , "preBuild = ''export LD_LIBRARY_PATH=`pwd`/dist/build:$LD_LIBRARY_PATH'';"+  , "preBuild = ''export LD_LIBRARY_PATH=`pwd`/dist/build''${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH'';"     -- The build step itself, after having built the library, needs to be able     -- to find the library it just built in order to compile grammar files.   ]@@ -400,3 +401,9 @@                           , "  mv \"man/\"*.1 $out/share/man/man1/"                           , "'';"                           ]++bustleOverrides :: Derivation -> Derivation+bustleOverrides = set (libraryDepends . pkgconfig . contains "system-glib = pkgs.glib") True+                . set (executableDepends . pkgconfig . contains "gio-unix = null") False+                . set (metaSection . license) (Known "stdenv.lib.licenses.lgpl21Plus")+                . set (metaSection . hydraPlatforms) allKnownPlatforms