summaryrefslogtreecommitdiff
path: root/src/Init.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Init.hs')
-rw-r--r--src/Init.hs7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/Init.hs b/src/Init.hs
index 09f8ed7..63899e4 100644
--- a/src/Init.hs
+++ b/src/Init.hs
@@ -11,7 +11,8 @@ import Data.Char (isAlphaNum, isNumber)
import Data.List (foldl', intercalate, isPrefixOf)
import Data.Version (Version (..))
import System.Directory (canonicalizePath, copyFile,
- doesFileExist)
+ doesFileExist,
+ setPermissions, getPermissions, writable)
import System.Environment (getArgs, getProgName)
import System.Exit (exitFailure)
import System.FilePath (splitDirectories, (</>))
@@ -65,6 +66,10 @@ main = do
putStrLn $ "Creating " ++ dst
makeDirectories dst
copyFile src dst
+ -- On some systems, the source folder may be readonly,
+ -- and copyFile will therefore create a readonly project...
+ p <- getPermissions dst
+ setPermissions dst (p {writable = True})
putStrLn $ "Creating " ++ cabalPath
createCabal cabalPath name