summaryrefslogtreecommitdiff
path: root/lib/SlackBuilder/Info.hs
diff options
context:
space:
mode:
authorEugen Wissner <belka@caraus.de>2023-10-05 19:24:42 +0200
committerEugen Wissner <belka@caraus.de>2023-10-05 19:24:42 +0200
commitf3beee3e19e2d64c8700cf67eb6cefc345efcf41 (patch)
tree0c623d8000656894cc0831a35642836057f8ea7d /lib/SlackBuilder/Info.hs
parent7b5598a02e0faff590d94391a8b323e6fe74a4fe (diff)
downloadslackbuilder-f3beee3e19e2d64c8700cf67eb6cefc345efcf41.tar.gz
Combine info file structures
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