summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEugen Wissner <belka@caraus.de>2024-09-01 17:34:24 +0200
committerEugen Wissner <belka@caraus.de>2024-09-01 17:34:24 +0200
commit4f74c2ec10682b4725a413894c67063817810582 (patch)
treec24ab4900ecbb76271cb11a653d34014ea50628b /src
parent14cc805dcfce79ab699ebb83261749a3a1c227fd (diff)
downloadslackbuilder-4f74c2ec10682b4725a413894c67063817810582.tar.gz
Support text based placeholders
Diffstat (limited to 'src')
-rw-r--r--src/Main.hs70
1 files changed, 13 insertions, 57 deletions
diff --git a/src/Main.hs b/src/Main.hs
index ba7dc54..ac0b474 100644
--- a/src/Main.hs
+++ b/src/Main.hs
@@ -8,7 +8,6 @@ module Main
import Control.Exception (Exception(..), handle)
import Data.Char (isNumber)
-import Data.List.NonEmpty (NonEmpty(..))
import Control.Monad.Catch (MonadThrow(..))
import Control.Monad.IO.Class (MonadIO(..))
import qualified Data.Map as Map
@@ -41,15 +40,8 @@ autoUpdatable =
[ PackageDescription
{ latest =
let ghArguments = PackageOwner{ owner = "universal-ctags", name = "ctags" }
- templateTail =
- [ Package.VersionPlaceholder
- , Package.StaticPlaceholder "/ctags-"
- , Package.VersionPlaceholder
- , Package.StaticPlaceholder ".tar.gz"
- ]
template = Package.DownloadTemplate
- $ Package.StaticPlaceholder "https://github.com/universal-ctags/ctags/archive/"
- :| templateTail
+ "https://github.com/universal-ctags/ctags/archive/{version}/ctags-{version}.tar.gz"
in Package.Updater
{ detectLatest = latestGitHub ghArguments "(v)\\."
, getVersion = reuploadWithTemplate template []
@@ -62,8 +54,7 @@ autoUpdatable =
{ latest =
let packagistArguments = PackageOwner{ owner = "composer", name = "composer" }
template = Package.DownloadTemplate
- $ Package.StaticPlaceholder "https://getcomposer.org/download/"
- :| [Package.VersionPlaceholder, Package.StaticPlaceholder "/composer.phar"]
+ "https://getcomposer.org/download/{version}/composer.phar"
in Package.Updater
{ detectLatest = latestPackagist packagistArguments
, getVersion = downloadWithTemplate template
@@ -79,9 +70,7 @@ autoUpdatable =
, name = "jitsi-meet-electron"
}
template = Package.DownloadTemplate
- $ Package.StaticPlaceholder "https://github.com/jitsi/jitsi-meet-electron/releases/download/v"
- :| Package.VersionPlaceholder
- : [Package.StaticPlaceholder "/jitsi-meet-x86_64.AppImage"]
+ "https://github.com/jitsi/jitsi-meet-electron/releases/download/v{version}/jitsi-meet-x86_64.AppImage"
in Package.Updater
{ detectLatest = latestGitHub ghArguments "(v)*"
, getVersion = downloadWithTemplate template
@@ -97,9 +86,7 @@ autoUpdatable =
, name = "php-src"
}
template = Package.DownloadTemplate
- $ Package.StaticPlaceholder "https://www.php.net/distributions/php-"
- :| Package.VersionPlaceholder
- : [Package.StaticPlaceholder ".tar.xz"]
+ "https://www.php.net/distributions/php-{version}.tar.xz"
in Package.Updater
{ detectLatest = latestGitHub ghArguments "(php-)8.2.\\d"
, getVersion = downloadWithTemplate template
@@ -114,15 +101,8 @@ autoUpdatable =
{ owner = "kovidgoyal"
, name = "kitty"
}
- templateTail =
- [ Package.StaticPlaceholder "/kitty-"
- , Package.VersionPlaceholder
- , Package.StaticPlaceholder ".tar.xz"
- ]
template = Package.DownloadTemplate
- $ Package.StaticPlaceholder "https://github.com/kovidgoyal/kitty/releases/download/v"
- :| Package.VersionPlaceholder
- : templateTail
+ "https://github.com/kovidgoyal/kitty/releases/download/v{version}/kitty-{version}.tar.xz"
in Package.Updater
{ detectLatest = latestGitHub ghArguments "(v)\\."
, getVersion = reuploadWithTemplate template [RawCommand "go" ["mod", "vendor"]]
@@ -138,11 +118,7 @@ autoUpdatable =
, name = "rdiff-backup"
}
template = Package.DownloadTemplate
- $ Package.StaticPlaceholder "https://github.com/rdiff-backup/rdiff-backup/releases/download/v"
- :| Package.VersionPlaceholder
- : Package.StaticPlaceholder "/rdiff-backup-"
- : Package.VersionPlaceholder
- : [Package.StaticPlaceholder ".tar.gz"]
+ "https://github.com/rdiff-backup/rdiff-backup/releases/download/v{version}/rdiff-backup-{version}.tar.gz"
in Package.Updater
{ detectLatest = latestGitHub ghArguments "(v)\\."
, getVersion = reuploadWithTemplate template []
@@ -161,9 +137,8 @@ autoUpdatable =
. snd
. Text.breakOn needle
}
- template = Package.DownloadTemplate $ pure
- $ Package.StaticPlaceholder
- "https://binaries.webex.com/WebexDesktop-Ubuntu-Official-Package/Webex.deb"
+ template = Package.DownloadTemplate
+ "https://binaries.webex.com/WebexDesktop-Ubuntu-Official-Package/Webex.deb"
in Package.Updater
{ detectLatest = latestText textArguments
, getVersion = downloadWithTemplate template
@@ -179,11 +154,7 @@ autoUpdatable =
, name = "librsync"
}
template = Package.DownloadTemplate
- $ Package.StaticPlaceholder "https://github.com/librsync/librsync/archive/v"
- :| Package.VersionPlaceholder
- : Package.StaticPlaceholder "/librsync-"
- : Package.VersionPlaceholder
- : [Package.StaticPlaceholder ".tar.gz"]
+ "https://github.com/librsync/librsync/archive/v{version}/librsync-{version}.tar.gz"
in Package.Updater
{ detectLatest = latestGitHub ghArguments "(v)\\."
, getVersion = reuploadWithTemplate template []
@@ -199,11 +170,7 @@ autoUpdatable =
, versionPicker = Text.strip
}
template = Package.DownloadTemplate
- $ Package.StaticPlaceholder "https://downloads.dlang.org/releases/2.x/"
- :| Package.VersionPlaceholder
- : Package.StaticPlaceholder "/dmd."
- : Package.VersionPlaceholder
- : [Package.StaticPlaceholder ".linux.tar.xz"]
+ "https://downloads.dlang.org/releases/2.x/{version}/dmd.{version}.linux.tar.xz"
in Package.Updater
{ detectLatest = latestText textArguments
, getVersion = downloadWithTemplate template
@@ -218,9 +185,7 @@ autoUpdatable =
{ textURL = "https://downloads.dlang.org/releases/LATEST"
, versionPicker = Text.strip
}
- template = Package.DownloadTemplate
- $ Package.StaticPlaceholder "https://codeload.github.com/dlang/tools/tar.gz/v"
- :| [Package.VersionPlaceholder]
+ template = Package.DownloadTemplate "https://codeload.github.com/dlang/tools/tar.gz/v{version}"
in Package.Updater
{ detectLatest = latestText textArguments
, getVersion = reuploadWithTemplate template []
@@ -247,9 +212,7 @@ autoUpdatable =
, getVersion = cloneFromGit dcdURI "v"
, is64 = False
}
- dubTemplate = Package.DownloadTemplate
- $ Package.StaticPlaceholder "https://codeload.github.com/dlang/dub/tar.gz/v"
- :| [Package.VersionPlaceholder]
+ dubTemplate = Package.DownloadTemplate "https://codeload.github.com/dlang/dub/tar.gz/v{version}"
dscannerURI = [uri|https://github.com/dlang-community/D-Scanner.git|]
in Map.fromList
[ ("DUB", latestDub)
@@ -263,15 +226,8 @@ autoUpdatable =
{ owner = "simd-everywhere"
, name = "simde"
}
- templateTail =
- [ Package.StaticPlaceholder "/simde-amalgamated-"
- , Package.VersionPlaceholder
- , Package.StaticPlaceholder ".tar.xz"
- ]
template = Package.DownloadTemplate
- $ Package.StaticPlaceholder "https://github.com/simd-everywhere/simde/releases/download/v"
- :| Package.VersionPlaceholder
- : templateTail
+ "https://github.com/simd-everywhere/simde/releases/download/v{version}/simde-amalgamated-{version}.tar.xz"
in Package.Updater
{ detectLatest = latestGitHub ghArguments "(v)\\."
, getVersion = downloadWithTemplate template