summaryrefslogtreecommitdiff
path: root/lib/SlackBuilder/Info.hs
diff options
context:
space:
mode:
Diffstat (limited to 'lib/SlackBuilder/Info.hs')
-rw-r--r--lib/SlackBuilder/Info.hs11
1 files changed, 9 insertions, 2 deletions
diff --git a/lib/SlackBuilder/Info.hs b/lib/SlackBuilder/Info.hs
index ed5957c..f1631d9 100644
--- a/lib/SlackBuilder/Info.hs
+++ b/lib/SlackBuilder/Info.hs
@@ -79,7 +79,7 @@ packageChecksums variableName = string (variableName <> "=\"")
packageRequires :: GenParser [ByteString]
packageRequires = string "REQUIRES=\""
- *> sepBy packageName space
+ *> sepBy (packageName <|> string "%README%") space
<* string "\"\n"
packageName :: GenParser ByteString
@@ -169,11 +169,18 @@ generate pkg = Lazy.Text.toStrict $ Text.Builder.toLazyText builder
hexAppender x acc
| x > 15 = showHex x acc
| otherwise = '0' : showHex x acc
- builder = "PKGNAM=\"" <> Text.Builder.fromString (pkgname pkg) <> "\"\n"
+ builder = "PRGNAM=\"" <> Text.Builder.fromString (pkgname pkg) <> "\"\n"
<> "VERSION=\"" <> Text.Builder.fromText (version pkg) <> "\"\n"
<> "HOMEPAGE=\"" <> Text.Builder.fromText (homepage pkg) <> "\"\n"
<> generateMultiEntry "DOWNLOAD" (render <$> downloads pkg)
<> generateMultiEntry "MD5SUM" (digestToText <$> checksums pkg)
+ <> generateMultiEntry "DOWNLOAD_x86_64" (render <$> downloads pkg)
+ <> generateMultiEntry "MD5SUM_x86_64" (digestToText <$> checksums pkg)
+ <> "REQUIRES=\"" <> fromByteStringWords (requires pkg) <> "\"\n"
+ <> "MAINTAINER=\"" <> Text.Builder.fromText (maintainer pkg) <> "\"\n"
+ <> "EMAIL=\"" <> Text.Builder.fromText (email pkg) <> "\"\n"
+ fromByteStringWords = Text.Builder.fromText
+ . Text.unwords . fmap Text.decodeUtf8
generateMultiEntry :: Text -> [Text] -> Text.Builder
generateMultiEntry name entries = Text.Builder.fromText name