diff options
Diffstat (limited to 'rakelib/dmd_tools.rake')
| -rw-r--r-- | rakelib/dmd_tools.rake | 85 |
1 files changed, 0 insertions, 85 deletions
diff --git a/rakelib/dmd_tools.rake b/rakelib/dmd_tools.rake deleted file mode 100644 index 118bfae..0000000 --- a/rakelib/dmd_tools.rake +++ /dev/null @@ -1,85 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at https://mozilla.org/MPL/2.0/. - -# frozen_string_literal: true - -require 'rake' -require_relative '../lib/download' - -module SlackBuilder - module DmdTools - extend Rake::FileUtilsExt - - def self.update_dmd(version) - tarball_name = "dmd.#{version}.linux.tar.xz" - - uri = URI "http://downloads.dlang.org/releases/2.x/#{version}/#{tarball_name}" - checksum = SlackBuilder.download(uri, "slackbuilds/development/dmd/#{tarball_name}") - - package = Package.new 'development/dmd', version: version, - homepage: 'https://dlang.org' - - write_info package, downloads: [Download.new(uri.to_s, checksum)] - - update_slackbuild_version 'development/dmd', package.version - commit 'development/dmd', version - end - - def self.update_tools(version, dub_version, dscanner_version, dcd_version) - checksum = collect_checksums(version, dub_version, dscanner_version, dcd_version) - - package = Package.new 'development/d-tools', - version: version, - homepage: 'https://dlang.org', - requires: ['dmd'] - - write_tools_info package, dub_version, dscanner_version, dcd_version, checksum - update_tools_versions dub_version, dscanner_version, dcd_version - - update_slackbuild_version 'development/d-tools', package.version - commit 'development/d-tools', package.version - end - - private_class_method def self.write_tools_info(package, dub_version, dscanner_version, dcd_version, checksum) - write_info package, - downloads: [ - Download.new(SlackBuilder.hosted_sources("/d-tools/dub-#{dub_version}.tar.gz"), checksum[:dub]), - Download.new(SlackBuilder.hosted_sources("/d-tools/tools-#{package.version}.tar.gz"), checksum[:tools]), - Download.new( - SlackBuilder.hosted_sources("/d-tools/D-Scanner-#{dscanner_version}.tar.xz"), checksum[:dscanner] - ), - Download.new(SlackBuilder.hosted_sources("/d-tools/DCD-#{dcd_version}.tar.xz"), checksum[:dcd]) - ] - end - - private_class_method def self.collect_checksums(version, dub_version, dscanner_version, dcd_version) - checksum = {} - - uri = URI "https://codeload.github.com/dlang/tools/tar.gz/v#{version}" - checksum[:tools] = SlackBuilder.download_and_deploy uri, "development/d-tools/tools-#{version}.tar.gz" - - uri = URI "https://codeload.github.com/dlang/dub/tar.gz/v#{dub_version}" - checksum[:dub] = SlackBuilder.download_and_deploy uri, "development/d-tools/dub-#{dub_version}.tar.gz" - - checksum[:dscanner] = SlackBuilder.clone 'https://github.com/dlang-community/D-Scanner.git', - "development/d-tools/D-Scanner-#{dscanner_version}.tar.xz" - checksum[:dcd] = SlackBuilder.clone 'https://github.com/dlang-community/DCD.git', - "development/d-tools/DCD-#{dcd_version}.tar.xz" - - checksum - end - - private_class_method def self.update_tools_versions(dub_version, dscanner_version, dcd_version) - slackbuild_filename = 'slackbuilds/development/d-tools/d-tools.SlackBuild' - slackbuild_contents = File.read(slackbuild_filename) - .gsub(/^DUB_VERSION=\${DUB_VERSION:-.+/, - "DUB_VERSION=${DUB_VERSION:-#{dub_version}}") - .gsub(/^DSCANNER_VERSION=\${DSCANNER_VERSION:-.+/, - "DSCANNER_VERSION=${DSCANNER_VERSION:-#{dscanner_version}}") - .gsub(/^DCD_VERSION=\${DCD_VERSION:-.+/, - "DCD_VERSION=${DCD_VERSION:-#{dcd_version}}") - File.open(slackbuild_filename, 'w') { |file| file.puts slackbuild_contents } - end - end -end |
