Add module with an info file parser

This commit is contained in:
2023-10-03 18:53:41 +02:00
parent f4b7883cf2
commit d5df676df7
7 changed files with 325 additions and 87 deletions

View File

@ -92,61 +92,6 @@ module SlackBuilder
end
end
class UniversalCtags < Updater
def update(version)
package = create_package version
uri = "https://github.com/universal-ctags/ctags/archive/#{version}/ctags-#{version}.tar.gz"
tarball = "slackbuilds/development/universal-ctags/ctags-#{version}.tar.gz"
checksum = SlackBuilder.download URI(uri), tarball
download = "https://download.dlackware.com/hosted-sources/universal-ctags/ctags-#{version}.tar.gz"
write_info package, downloads: [Download.new(download, checksum)]
update_slackbuild_version 'development/universal-ctags', version
sh 'scp', tarball, "#{CONFIG[:remote_path]}/universal-ctags"
commit 'development/universal-ctags', version
end
private
def create_package(version)
Package.new 'development/universal-ctags',
version: version,
homepage: 'https://ctags.io/',
requires: ['%README%']
end
end
class Composer < Updater
def update(version)
package = Package.new 'development/composer',
version: version,
homepage: 'https://getcomposer.org/'
uri = "https://getcomposer.org/download/#{version}/composer.phar"
checksum = SlackBuilder.download URI(uri), 'slackbuilds/development/composer/composer.phar'
write_info package, downloads: [Download.new(uri, checksum)]
update_slackbuild_version 'development/composer', version
commit 'development/composer', version
end
end
class JitsiMeetDesktop < Updater
def update(version)
package = Package.new 'network/jitsi-meet-desktop',
version: version,
homepage: 'https://jitsi.org/'
uri = "https://github.com/jitsi/jitsi-meet-electron/releases/download/v#{version}/jitsi-meet-x86_64.AppImage"
checksum = SlackBuilder.download URI(uri), 'slackbuilds/network/jitsi-meet-desktop/jitsi-meet-x86_64.AppImage'
write_info package, downloads: [Download.new(uri, checksum, is64: true)]
update_slackbuild_version 'network/jitsi-meet-desktop', version
commit 'network/jitsi-meet-desktop', version
end
end
class PHP < Updater
def update(version)
package = Package.new 'development/php82',
@ -167,15 +112,9 @@ module SlackBuilder
end
AUTO_UPDATABLE = {
'universal-ctags' => [SlackBuilder::GitHub.new('universal-ctags', 'ctags'), SlackBuilder::UniversalCtags.new],
'composer' => [SlackBuilder::Packagist.new('composer', 'composer'), SlackBuilder::Composer.new],
'php82' => [SlackBuilder::GitHub.new('php', 'php-src', 'php'), SlackBuilder::PHP.new],
'rdiff-backup' => [SlackBuilder::GitHub.new('rdiff-backup', 'rdiff-backup', 'rdiff-backup')],
'librsync' => [SlackBuilder::GitHub.new('librsync', 'librsync')],
'jitsi-meet-desktop' => [
SlackBuilder::GitHub.new('jitsi', 'jitsi-meet-electron'),
SlackBuilder::JitsiMeetDesktop.new
],
'dmd' => [SlackBuilder::LatestText.new('https://downloads.dlang.org/releases/LATEST')]
}.freeze