Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 10 additions & 3 deletions cabal2nix/Main.hs
Original file line number Diff line number Diff line change
Expand Up @@ -92,10 +92,17 @@ findCabalFiles path = doesFileExist (path </> Hpack.packageConfig) >>= \case
Right r ->
return $ [InMemory (Just Hpack)
(Hpack.decodeResultCabalFile r)
(encodeUtf8 $ Hpack.renderPackage [] (Hpack.decodeResultPackage r))]
(encodeUtf8 $ render r)]

where encodeUtf8 :: String -> ByteString
encodeUtf8 = T.encodeUtf8 . T.pack
where
render :: Hpack.DecodeResult -> String
render r =
let body = Hpack.renderPackage [] (Hpack.decodeResultPackage r)
cabalVersion = Hpack.decodeResultCabalVersion r
in cabalVersion ++ body

encodeUtf8 :: String -> ByteString
encodeUtf8 = T.encodeUtf8 . T.pack


expr :: FilePath -> String -> String -> IO (Binding NExpr)
Expand Down
14 changes: 11 additions & 3 deletions lib/Stack2nix/Project.hs
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,18 @@ findCabalFiles UsePackageYamlFirst path = doesFileExist (path </> Hpack.packageC
Right r ->
return $ [InMemory (Just Hpack)
(Hpack.decodeResultCabalFile r)
(encodeUtf8 $ Hpack.renderPackage [] (Hpack.decodeResultPackage r))]
(encodeUtf8 $ render r)]

where
render :: Hpack.DecodeResult -> String
render r =
let body = Hpack.renderPackage [] (Hpack.decodeResultPackage r)
cabalVersion = Hpack.decodeResultCabalVersion r
in cabalVersion ++ body

encodeUtf8 :: String -> ByteString
encodeUtf8 = T.encodeUtf8 . T.pack

where encodeUtf8 :: String -> ByteString
encodeUtf8 = T.encodeUtf8 . T.pack

findOnlyCabalFiles :: FilePath -> IO [CabalFile]
findOnlyCabalFiles path = fmap (OnDisk . (path </>)) . filter (isSuffixOf ".cabal") <$> listDirectory path
13 changes: 10 additions & 3 deletions plan2nix/Plan2Nix/Project.hs
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,14 @@ findCabalFiles path = doesFileExist (path </> Hpack.packageConfig) >>= \case
Right r ->
return $ [InMemory (Just Hpack)
(Hpack.decodeResultCabalFile r)
(encodeUtf8 $ Hpack.renderPackage [] (Hpack.decodeResultPackage r))]
(encodeUtf8 $ render r)]

where encodeUtf8 :: String -> ByteString
encodeUtf8 = T.encodeUtf8 . T.pack
where
render :: Hpack.DecodeResult -> String
render r =
let body = Hpack.renderPackage [] (Hpack.decodeResultPackage r)
cabalVersion = Hpack.decodeResultCabalVersion r
in cabalVersion ++ body

encodeUtf8 :: String -> ByteString
encodeUtf8 = T.encodeUtf8 . T.pack