packages feed

hlibsass 0.1.5.1 → 0.1.5.2

raw patch · 3 files changed

+48/−41 lines, 3 filessetup-changedPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

CHANGELOG.md view
@@ -1,6 +1,10 @@ # Change Log All notable changes to this project will be documented in this file. +## [0.1.5.2] - 2017-03-19+### Fixed+- Build process for dependant libraries works with Cabal 1.24 & Stack 1.4+ ## [0.1.5.0] - 2015-12-19 ### Added - Bindings to `sass_value_op`, `sass_import_get_imp_path` and@@ -59,6 +63,7 @@ - Bindings to Libsass C API - Basic tests +[0.1.5.2]: https://github.com/jakubfijalkowski/hlibsass/compare/v0.1.5.0...v0.1.5.2 [0.1.5.0]: https://github.com/jakubfijalkowski/hlibsass/compare/v0.1.4.0...v0.1.5.0 [0.1.4.0]: https://github.com/jakubfijalkowski/hlibsass/compare/v0.1.3.0...v0.1.4.0 [0.1.3.0]: https://github.com/jakubfijalkowski/hlibsass/compare/v0.1.2.1...v0.1.3.0
Setup.hs view
@@ -18,11 +18,13 @@ main = defaultMainWithHooks hooksFix     where         hooks = simpleUserHooks {-            preConf = \a f -> makeLibsass a f >> preConf simpleUserHooks a f-          , confHook = \a f -> confHook simpleUserHooks a f >>= updateExtraLibDirs+            preConf = makeLibsass+          , confHook = (\a f -> confHook simpleUserHooks a f >>= updateExtraLibDirs)+          , postConf = disablePostConfHooks+          , preBuild = updateLibDirs           , postCopy = copyLibsass           , postClean = cleanLibsass-          , preSDist = \a f -> (updateLibsassVersion a f >> preSDist simpleUserHooks a f)+          , preSDist = updateLibsassVersion         }         -- Fix for Cabal-1.18 - it does not `copy` on `install`, so we `copy` on         -- `install` manually. ;)@@ -30,43 +32,51 @@                        then hooks { postInst = installLibsass }                        else hooks -makeLibsass :: Args -> ConfigFlags -> IO ()-makeLibsass _ f =+makeLibsass :: Args -> ConfigFlags -> IO HookedBuildInfo+makeLibsass _ f = do     let verbosity = fromFlag $ configVerbosity f         external = getCabalFlag "externalLibsass" f         target = if getCabalFlag "sharedLibsass" f then "shared" else "static"-    in unless external $ rawSystemExit verbosity "env"+    unless external $ rawSystemExit verbosity "env"          ["BUILD=" ++ target, "make", "--directory=libsass"]+    return emptyHookedBuildInfo +disablePostConfHooks :: Args -> ConfigFlags -> PackageDescription -> LocalBuildInfo -> IO ()+disablePostConfHooks args flags pd lbi+  | getCabalFlag "externalLibsass" flags = postConf simpleUserHooks args flags pd lbi+  | otherwise = return ()++updateLibDirs :: Args -> BuildFlags -> IO HookedBuildInfo+updateLibDirs _ _ = do+    dir <- getCurrentDirectory+    let libsassDir = dir ++ "/libsass/lib"+        bi = emptyBuildInfo { extraLibDirs = [ libsassDir ] }+    return (Just bi, [])+ updateExtraLibDirs :: LocalBuildInfo -> IO LocalBuildInfo updateExtraLibDirs lbi     | getCabalFlag "externalLibsass" $ configFlags lbi = return lbi     | otherwise = do-        let packageDescription = localPkgDescr lbi-            lib = fromJust $ library packageDescription+        let pkg_descr = localPkgDescr lbi+            lib = fromJust $ library pkg_descr             libBuild = libBuildInfo lib-        dir <- getCurrentDirectory+            libPref = libdir $ absoluteInstallDirs pkg_descr lbi NoCopyDest         return lbi {-            localPkgDescr = packageDescription {+            localPkgDescr = pkg_descr {                 library = Just $ lib {                     libBuildInfo = libBuild {-                        extraLibDirs = (dir ++ "/libsass/lib") :-                            extraLibDirs libBuild+                        extraLibDirs = libPref : extraLibDirs libBuild                     }                 }             }         } -copyLibsass :: Args -> CopyFlags -> PackageDescription -> LocalBuildInfo -> IO ()-copyLibsass _ flags pkg_descr lbi =-    let libPref = libdir . absoluteInstallDirs pkg_descr lbi-                . fromFlag . copyDest-                $ flags-        verb = fromFlag $ copyVerbosity flags-        config = configFlags lbi-        external = getCabalFlag "externalLibsass" config+copyLib :: ConfigFlags -> LocalBuildInfo -> FilePath -> IO ()+copyLib fl lbi libPref =+    let verb = fromFlag $ configVerbosity fl+        external = getCabalFlag "externalLibsass" fl         Platform _ os = hostPlatform lbi-        shared = getCabalFlag "sharedLibsass" config+        shared = getCabalFlag "sharedLibsass" fl         ext = if shared then "so" else "a"     in unless external $         if os == Windows@@ -82,40 +92,32 @@                     ("libsass/lib/libsass." ++ ext)                     (libPref ++ "/libsass." ++ ext) +copyLibsass :: Args -> CopyFlags -> PackageDescription -> LocalBuildInfo -> IO ()+copyLibsass _ flags pkg_descr lbi =+    let libPref = libdir . absoluteInstallDirs pkg_descr lbi+                . fromFlag . copyDest+                $ flags+        config = configFlags lbi+     in copyLib config lbi libPref+ installLibsass :: Args -> InstallFlags -> PackageDescription -> LocalBuildInfo -> IO () installLibsass _ flags pkg_descr lbi =     let libPref = libdir $ absoluteInstallDirs pkg_descr lbi NoCopyDest-        verb = fromFlag $ installVerbosity flags         config = configFlags lbi-        external = getCabalFlag "externalLibsass" config-        Platform _ os = hostPlatform lbi-        shared = getCabalFlag "sharedLibsass" config-        ext = if shared then "so" else "a"-    in unless external $-        if os == Windows-            then do-                installExecutableFile verb-                    "libsass/lib/libsass.a"-                    (libPref ++ "/libsass.a")-                when shared $ installExecutableFile verb-                    "libsass/lib/libsass.dll"-                    (libPref ++ "/libsass.dll")-           else-                installExecutableFile verb-                    ("libsass/lib/libsass." ++ ext)-                    (libPref ++ "/libsass." ++ ext)+     in copyLib config lbi libPref  cleanLibsass :: Args -> CleanFlags -> PackageDescription -> () -> IO () cleanLibsass _ flags _ _ =     rawSystemExit (fromFlag $ cleanVerbosity flags) "env"         ["make", "--directory=libsass", "clean"] -updateLibsassVersion :: Args -> SDistFlags -> IO ()+updateLibsassVersion :: Args -> SDistFlags -> IO HookedBuildInfo updateLibsassVersion _ flags = do     let verbosity = fromFlag $ sDistVerbosity flags     ver <- rawSystemStdout verbosity "env" [ "git", "-C", "libsass", "describe",         "--abbrev=4", "--dirty", "--always", "--tags" ]     writeFile "libsass/VERSION" ver+    return emptyHookedBuildInfo  getCabalFlag :: String -> ConfigFlags -> Bool getCabalFlag name flags = fromMaybe False (lookup (FlagName name') allFlags)
hlibsass.cabal view
@@ -1,5 +1,5 @@ name:                hlibsass-version:             0.1.5.1+version:             0.1.5.2 license:             MIT license-file:        LICENSE author:              Jakub Fijałkowski <fiolek94@gmail.com>