pkgforge 0.26.0 → 0.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: db428168b67ebc4529a958db211c17b5dc15048026dbb8d7a4008c8164fe7524
4
- data.tar.gz: 74f9a10516ce116473e41bc35d2dcbb2ff4674fef1e8cbf05e6c5c07cfe6f674
3
+ metadata.gz: abb836ade461f7c09cd0f2e23a2219291ee0a93cc431b903ff32e44cdddf4f87
4
+ data.tar.gz: 3ec234443d2a0a42df6061bb5bb466936ad896dc0da11a83b53a45338af32514
5
5
  SHA512:
6
- metadata.gz: d733b393180ee74dc3c271f98884c1e89c9639b5b379315d4068566f50bcff7fc596d1b2cdd6104c5625fbf03cda4e288e73c8823cc4f0c08f8281937d8348c0
7
- data.tar.gz: 941c164622cbe2629045994784abb31921893b1a7f5bf19927c1ffdcfa48dbac0576e28a9f606f2528c480567669a81c9b61ff94e213b5a15c48460add663eed
6
+ metadata.gz: a680525d1ffb74fb7f56743225383bf41b37b6e6c0226bedc4bc7a8540fa3a4139aa04b8ac7b9beddbe34fa7c6c95b781aa31ee2738ee6f772e57aef1e346b66
7
+ data.tar.gz: 4ef6d12818959faa64b7650a79fea350a8d8541038ebe7a3d94f6b5ee4d54ef476b2918ef1bc400d6d16ee85432ac871dcb1b33c6d38c15df19b274ea58d8fbc
@@ -0,0 +1,46 @@
1
+ name: Build
2
+ on:
3
+ pull_request:
4
+ push:
5
+ jobs:
6
+ build:
7
+ name: Build
8
+ runs-on: ubuntu-22.04
9
+ permissions:
10
+ contents: write
11
+ steps:
12
+ - name: Checkout
13
+ uses: actions/checkout@v3
14
+ with:
15
+ submodules: recursive
16
+ - uses: ruby/setup-ruby@v1
17
+ with:
18
+ ruby-version: '3.1'
19
+ bundler-cache: true
20
+ - name: Build
21
+ run: bundle exec rake
22
+ - name: Release
23
+ if: github.ref_type == 'tag'
24
+ run: bundle exec rake release
25
+ env:
26
+ GEM_HOST_API_KEY: ${{ secrets.GEM_HOST_API_KEY }}
27
+ - name: Post to a Slack channel
28
+ if: ${{ failure() }}
29
+ uses: slackapi/slack-github-action@v1.18.0
30
+ env:
31
+ SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
32
+ SLACK_WEBHOOK_TYPE: INCOMING_WEBHOOK
33
+ with:
34
+ payload: |
35
+ {
36
+ "text": "*${{ github.repository }}*\nBuild failed: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}",
37
+ "blocks": [
38
+ {
39
+ "type": "section",
40
+ "text": {
41
+ "type": "mrkdwn",
42
+ "text": "*${{ github.repository }}*\nBuild failed: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}"
43
+ }
44
+ }
45
+ ]
46
+ }
data/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2016 Les Aker
3
+ Copyright (c) 2022 Les Aker
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -2,9 +2,7 @@ pkgforge
2
2
  =========
3
3
 
4
4
  [![Gem Version](https://img.shields.io/gem/v/pkgforge.svg)](https://rubygems.org/gems/pkgforge)
5
- [![Build Status](https://img.shields.io/travis/com/akerl/pkgforge.svg)](https://travis-ci.com/akerl/pkgforge)
6
- [![Coverage Status](https://img.shields.io/codecov/c/github/akerl/pkgforge.svg)](https://codecov.io/github/akerl/pkgforge)
7
- [![Code Quality](https://img.shields.io/codacy/fb7636f572b04067801ac9024ed71228.svg)](https://www.codacy.com/app/akerl/pkgforge)
5
+ [![GitHub Workflow Status](https://img.shields.io/github/workflow/status/akerl/pkgforge/Build)](https://github.com/akerl/pkgforge/actions)
8
6
  [![MIT Licensed](https://img.shields.io/badge/license-MIT-green.svg)](https://tldrlegal.com/license/mit-license)
9
7
 
10
8
  DSL engine for building Arch packages
data/bin/pkgforge CHANGED
@@ -6,11 +6,9 @@ require 'mercenary'
6
6
  FILE_NAME = '.pkgforge'.freeze
7
7
 
8
8
  def add_common_opts(cmd)
9
- # rubocop:disable Metrics/LineLength
10
9
  cmd.option :directory, '-d DIR', '--directory DIR', 'Change to directory before loading'
11
10
  cmd.option :skipcleanup, '-s', '--skipcleanup', 'Skip cleanup of tmpdirs and tmpfiles'
12
11
  cmd.option :statefile, '--statefile FILE', 'State file to re-use build directories'
13
- # rubocop:enable Metrics/LineLength
14
12
  end
15
13
 
16
14
  def get_file(options)
@@ -30,7 +30,7 @@ module PkgForge
30
30
  Contract Maybe[ArrayOf[String]] => nil
31
31
  def libs(value = nil)
32
32
  value ||= @forge.deps.keys
33
- value.map! { |x| '-l' + x.to_s }
33
+ value.map! { |x| "-l#{x}" }
34
34
  @forge.libs += value
35
35
  nil
36
36
  end
@@ -47,7 +47,7 @@ module PkgForge
47
47
  def download_file(dep_name, dep_hash, file)
48
48
  dep_hash[:org] ||= org
49
49
  dep_hash[:site] ||= 'https://github.com'
50
- url = "#{dep_hash[:site]}/#{dep_hash[:org]}/#{dep_name}/releases/download/#{dep_hash[:version]}/#{dep_name}.tar.gz" # rubocop:disable Metrics/LineLength
50
+ url = "#{dep_hash[:site]}/#{dep_hash[:org]}/#{dep_name}/releases/download/#{dep_hash[:version]}/#{dep_name}.tar.gz" # rubocop:disable Layout/LineLength
51
51
  File.open(file, 'wb') do |fh|
52
52
  fh << open(url, 'rb').read # rubocop:disable Security/Open
53
53
  end
@@ -64,7 +64,7 @@ module PkgForge
64
64
  else
65
65
  actual = Digest::SHA256.file(file).hexdigest
66
66
  return if actual == expected
67
- raise "Checksum fail for #{file}: #{actual} (actual) != #{expected} (expected)" # rubocop:disable Metrics/LineLength
67
+ raise "Checksum fail for #{file}: #{actual} (actual) != #{expected} (expected)"
68
68
  end
69
69
  end
70
70
 
@@ -75,7 +75,7 @@ module PkgForge
75
75
 
76
76
  Contract None => nil
77
77
  def remove_linker_archives!
78
- deps.keys.each do |dep_name|
78
+ deps.each_key do |dep_name|
79
79
  File.unlink(*Dir.glob("#{tmpdir(dep_name)}/**/*.la"))
80
80
  end
81
81
  nil
@@ -83,7 +83,7 @@ module PkgForge
83
83
 
84
84
  Contract None => nil
85
85
  def remove_pkgconfig_files!
86
- deps.keys.each do |dep_name|
86
+ deps.each_key do |dep_name|
87
87
  File.unlink(*Dir.glob("#{tmpdir(dep_name)}/**/*.pc"))
88
88
  end
89
89
  nil
@@ -97,7 +97,7 @@ module PkgForge
97
97
  Contract HashOf[Symbol => Or[String, Hash]] => nil
98
98
  def deps(value)
99
99
  value = value.map { |k, v| [k, v.is_a?(Hash) ? v : { version: v }] }
100
- @forge.deps = Hash[value]
100
+ @forge.deps = value.to_h
101
101
  nil
102
102
  end
103
103
 
@@ -39,7 +39,7 @@ module PkgForge
39
39
  def upload_artifacts!
40
40
  return unless state[:artifacts]
41
41
  state[:artifacts].each do |artifact|
42
- args = ['targit', '--authfile', '.creds_github', '--create']
42
+ args = ['targit', '--authfile', '.creds_github', '--create', '--force']
43
43
  args += ['--name', artifact[:name]]
44
44
  args += ['--endpoint', endpoint] if endpoint
45
45
  args += ["#{org}/#{name}", version, artifact[:source]]
@@ -1,5 +1,5 @@
1
1
  ##
2
2
  # Declare version number
3
3
  module PkgForge
4
- VERSION = '0.26.0'.freeze
4
+ VERSION = '0.28.0'.freeze
5
5
  end
data/pkgforge.gemspec CHANGED
@@ -5,7 +5,8 @@ require 'pkgforge/version'
5
5
  Gem::Specification.new do |s|
6
6
  s.name = 'pkgforge'
7
7
  s.version = PkgForge::VERSION
8
- s.date = Time.now.strftime('%Y-%m-%d')
8
+
9
+ s.required_ruby_version = '>= 3.0'
9
10
 
10
11
  s.summary = 'DSL engine for building Arch packages'
11
12
  s.description = 'DSL engine for building Arch packages'
@@ -15,17 +16,12 @@ Gem::Specification.new do |s|
15
16
  s.license = 'MIT'
16
17
 
17
18
  s.files = `git ls-files`.split
18
- s.test_files = `git ls-files spec/*`.split
19
19
  s.executables = ['pkgforge']
20
20
 
21
- s.add_dependency 'contracts', '~> 0.16.0'
21
+ s.add_dependency 'contracts', '~> 0.17.0'
22
22
  s.add_dependency 'cymbal', '~> 2.0.0'
23
- s.add_dependency 'mercenary', '~> 0.3.4'
23
+ s.add_dependency 'mercenary', '~> 0.4.0'
24
24
 
25
- s.add_development_dependency 'codecov', '~> 0.1.1'
26
- s.add_development_dependency 'fuubar', '~> 2.5.0'
27
- s.add_development_dependency 'goodcop', '~> 0.8.0'
28
- s.add_development_dependency 'rake', '~> 13.0.0'
29
- s.add_development_dependency 'rspec', '~> 3.9.0'
30
- s.add_development_dependency 'rubocop', '~> 0.76.0'
25
+ s.add_development_dependency 'goodcop', '~> 0.9.5'
26
+ s.metadata['rubygems_mfa_required'] = 'true'
31
27
  end
data/spec/spec_helper.rb CHANGED
@@ -1,11 +1,2 @@
1
- if ENV['CI'] == 'true'
2
- require 'simplecov'
3
- require 'codecov'
4
- SimpleCov.formatter = SimpleCov::Formatter::Codecov
5
- SimpleCov.start do
6
- add_filter '/spec/'
7
- end
8
- end
9
-
10
1
  require 'rspec'
11
2
  require 'pkgforge'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pkgforge
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.26.0
4
+ version: 0.28.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Les Aker
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-02-17 00:00:00.000000000 Z
11
+ date: 2022-10-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: contracts
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.16.0
19
+ version: 0.17.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 0.16.0
26
+ version: 0.17.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: cymbal
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -44,98 +44,28 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 0.3.4
47
+ version: 0.4.0
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 0.3.4
55
- - !ruby/object:Gem::Dependency
56
- name: codecov
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - "~>"
60
- - !ruby/object:Gem::Version
61
- version: 0.1.1
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - "~>"
67
- - !ruby/object:Gem::Version
68
- version: 0.1.1
69
- - !ruby/object:Gem::Dependency
70
- name: fuubar
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - "~>"
74
- - !ruby/object:Gem::Version
75
- version: 2.5.0
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - "~>"
81
- - !ruby/object:Gem::Version
82
- version: 2.5.0
54
+ version: 0.4.0
83
55
  - !ruby/object:Gem::Dependency
84
56
  name: goodcop
85
57
  requirement: !ruby/object:Gem::Requirement
86
58
  requirements:
87
59
  - - "~>"
88
60
  - !ruby/object:Gem::Version
89
- version: 0.8.0
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - "~>"
95
- - !ruby/object:Gem::Version
96
- version: 0.8.0
97
- - !ruby/object:Gem::Dependency
98
- name: rake
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - "~>"
102
- - !ruby/object:Gem::Version
103
- version: 13.0.0
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - "~>"
109
- - !ruby/object:Gem::Version
110
- version: 13.0.0
111
- - !ruby/object:Gem::Dependency
112
- name: rspec
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - "~>"
116
- - !ruby/object:Gem::Version
117
- version: 3.9.0
61
+ version: 0.9.5
118
62
  type: :development
119
63
  prerelease: false
120
64
  version_requirements: !ruby/object:Gem::Requirement
121
65
  requirements:
122
66
  - - "~>"
123
67
  - !ruby/object:Gem::Version
124
- version: 3.9.0
125
- - !ruby/object:Gem::Dependency
126
- name: rubocop
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - "~>"
130
- - !ruby/object:Gem::Version
131
- version: 0.76.0
132
- type: :development
133
- prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - "~>"
137
- - !ruby/object:Gem::Version
138
- version: 0.76.0
68
+ version: 0.9.5
139
69
  description: DSL engine for building Arch packages
140
70
  email: me@lesaker.org
141
71
  executables:
@@ -143,12 +73,10 @@ executables:
143
73
  extensions: []
144
74
  extra_rdoc_files: []
145
75
  files:
146
- - ".circle-ruby"
76
+ - ".github/workflows/build.yml"
147
77
  - ".gitignore"
148
- - ".prospectus"
149
78
  - ".rspec"
150
79
  - ".rubocop.yml"
151
- - ".travis.yml"
152
80
  - Gemfile
153
81
  - LICENSE
154
82
  - README.md
@@ -177,7 +105,8 @@ files:
177
105
  homepage: https://github.com/akerl/pkgforge
178
106
  licenses:
179
107
  - MIT
180
- metadata: {}
108
+ metadata:
109
+ rubygems_mfa_required: 'true'
181
110
  post_install_message:
182
111
  rdoc_options: []
183
112
  require_paths:
@@ -186,17 +115,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
186
115
  requirements:
187
116
  - - ">="
188
117
  - !ruby/object:Gem::Version
189
- version: '0'
118
+ version: '3.0'
190
119
  required_rubygems_version: !ruby/object:Gem::Requirement
191
120
  requirements:
192
121
  - - ">="
193
122
  - !ruby/object:Gem::Version
194
123
  version: '0'
195
124
  requirements: []
196
- rubygems_version: 3.0.1
125
+ rubygems_version: 3.3.7
197
126
  signing_key:
198
127
  specification_version: 4
199
128
  summary: DSL engine for building Arch packages
200
- test_files:
201
- - spec/pkgforge_spec.rb
202
- - spec/spec_helper.rb
129
+ test_files: []
data/.circle-ruby DELETED
@@ -1,4 +0,0 @@
1
- 2.6.1
2
- 2.5.3
3
- 2.4.5
4
- 2.3.8
data/.prospectus DELETED
@@ -1,11 +0,0 @@
1
- my_slug = 'akerl/pkgforge'
2
-
3
- Prospectus.extra_dep('file', 'prospectus_travis')
4
- Prospectus.extra_dep('file', 'prospectus_gems')
5
-
6
- item do
7
- noop
8
-
9
- extend ProspectusGems::Gemspec.new
10
- extend ProspectusTravis::Build.new(my_slug)
11
- end
data/.travis.yml DELETED
@@ -1,10 +0,0 @@
1
- dist: xenial
2
- install:
3
- - for i in $(cat .circle-ruby) ; do rvm install $i || exit 1 ; done
4
- - for i in $(cat .circle-ruby) ; do rvm-exec $i bundle install || exit 1 ; done
5
- script:
6
- - for i in $(cat .circle-ruby) ; do rvm-exec $i bundle exec rake || exit 1 ; done
7
- notifications:
8
- email: false
9
- slack:
10
- secure: hiSpJYwTPJUSw9aS2AG28isKW8Sel209yOVRRwr5U0LV5XLsiMCIHjc8sUPliTIcHNEZgBkoBdVe9cEMpcIwV5oeHWJi/tPt0dMISJ5P8K1mG0i2ULk5Up7vOUDN0WctL8CzhiGCcMr/H1lk3VbHKsxgcozIitnocCIwZuswJqNwu2XpkRw5xxVIMAK9tIZGfH+XMwFZcLghQsAF55fHyKYUVVI5n7PMLVbiDY8u9cVlZKL4qa3dBuus903f/zPGSJXbLcPqnVbuyOlIewxSNaPDX7YjIAdgkNk4IE+gCO82FnNpkWqVdtGT8Nx0PLOkt5FICl7aBFjIanFV1NnMo7qVXj0XNRdIoMBqx5T3WKp9k1EaYnaZwDax1zEDamyUSikwc0BPjnW1gZX5Hv6bQAVMWoXIZz9xJVd1Opv2sH1v534e+eCdcqHBv5sIFbYofeN3KvBEfdFBE4YHorT0u/rtBOBoNBVwrstjvNs3W9CbGqgubH2JUtCky2W+4mXwpmndXTYG8DZkMZ7YCqlQYgJLyPuLdxUjSz6IdMVaz/g8c5/d71jlJuiBl+VX6vFMmtec0/e9ivwH5RhkcsYrGw6dkKh3qymmdoHgc65K5dOLluNvZf/AQyInVXZAivKb2ppIW1t9pjaWN2wX6hEP7Vb8516OwJYzuGHUJFrBpUY=