distrib 0.0.0 → 0.0.1

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: 6e1c4a65f98506966816587a1299980be18b136fe388b9707315be3b0e9ef108
4
- data.tar.gz: facc6d4ab81d14852e627fa835c486e9ea6595dc93ac84e675f376de625f722a
3
+ metadata.gz: 813542f279baf7e855c080a0565ad0bbf69c33f50a9bb0a185ddacf5cf2b072e
4
+ data.tar.gz: 89fa1dfc5f625b2cb586087ad706f98a0b3e251163581e518396c8c5eaa268c2
5
5
  SHA512:
6
- metadata.gz: 1c3df5fc12eaac5cf84124a0bcd9b2ecd0e1c5512eddfb42379b9909f7fad718c5684f7ffbdf6b71b4d337850c6276ef42c1bc08d7fb0a14ad204922e641c5de
7
- data.tar.gz: 74583fe7305c82310583d1feb9b77d54c3138086dc093971835627523a2ff4e3978d2bbef9f34522a94970b32ff78b9cc31cb07c3b428439dab2cf330d5c69a3
6
+ metadata.gz: 3f2b65d2545675b4ad8c9131583fc7010218ea5cfb24ed9a89247fff4b4ad84a06c6a900f8f8e4f75e0418a6666e4721e5178dd9aa0a98863607e5020cb893a8
7
+ data.tar.gz: c3d2287b86fa67c2793f6b60a822e170ca766f6a4c02c4d5e26a7c466a959d0310585a08525793a998cb7adc040daf633c6a3d2aa193c31cc5f7de9929791bf7
data/CHANGES.md CHANGED
@@ -5,4 +5,8 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
- ## 0.0.0 - 2026-07-11
8
+ ## 0.0.1 - 2026-07-28
9
+ ### Added
10
+ - `#[distrib::export]` for `pyo3` and `wasm-bindgen`
11
+
12
+ ## 0.0.0 - 2026-07-25
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.0
1
+ 0.0.1
@@ -0,0 +1,69 @@
1
+ # This is free and unencumbered software released into the public domain.
2
+
3
+ require 'rubygems/specification'
4
+
5
+ module Distrib; end
6
+ module Distrib::Ruby; end
7
+
8
+ module Distrib::Ruby::Gemspec
9
+ ##
10
+ # Builds up a `Gem::Specification`.
11
+ #
12
+ # @example
13
+ # require 'distrib/ruby/gemspec'
14
+ #
15
+ # Distrib::Ruby::Gemspec.build!(__FILE__) do |gemspec|
16
+ # gemspec.add_dependency 'liquid'
17
+ # end
18
+ #
19
+ # @param gemspec_path [String] the path to the gemspec file
20
+ # @param kwargs [Hash] keyword arguments for the gemspec
21
+ # @yield [Gem::Specification] the gemspec object
22
+ # @return [Gem::Specification]
23
+ def self.build!(gemspec_path, **kwargs, &block)
24
+ gemspec_path = Pathname(gemspec_path)
25
+
26
+ gemspec = Gem::Specification.new do |s|
27
+ s.name = (kwargs[:name] || gemspec_path.basename('.*')).to_s
28
+ s.version = (kwargs[:version] || File.read('VERSION').chomp).to_s
29
+ s.date = (kwargs[:date] || File.mtime('VERSION').strftime('%Y-%m-%d')).to_s
30
+ s.license = 'Unlicense' if File.exist?('UNLICENSE')
31
+
32
+ authors = (File.readlines('AUTHORS') rescue []).map(&:chomp)
33
+ s.authors = authors.map { |entry| entry[/^\*\s+(.+?)\s+</, 1] }
34
+ s.email = authors.map { |entry| entry[/<([^>]+)>/, 1] }
35
+
36
+ s.files = %w[AUTHORS CHANGES.md README.md UNLICENSE VERSION]
37
+ s.files.reject! { |f| !File.exist?(f) }
38
+ s.files += Dir['lib/**/*.rb']
39
+ s.files += Dir['ext/**/*.{rb,rs,lock,toml}']
40
+ s.extensions = Dir['ext/*/extconf.rb']
41
+
42
+ s.required_ruby_version = '>= 4.0' # just a default
43
+
44
+ s.add_dependency 'rb_sys' if File.exist?('Cargo.toml')
45
+
46
+ s.add_development_dependency 'distrib', '~> 0' unless s.name == 'distrib'
47
+ s.add_development_dependency 'rake', '~> 13'
48
+ s.add_development_dependency 'rake-compiler', '~> 1.3' if File.exist?('Cargo.toml')
49
+ s.add_development_dependency 'rspec', '~> 3.13' if Dir.exist?('spec')
50
+ s.add_development_dependency 'yard' , '~> 0.9'
51
+ end
52
+
53
+ yield gemspec if block_given?
54
+
55
+ gemspec.metadata = (gemspec.metadata || {}.transform_keys(&:to_s))
56
+
57
+ if !gemspec.metadata.has_key?('documentation_uri')
58
+ gemspec.metadata['documentation_uri'] =
59
+ "https://rubydoc.info/gems/#{gemspec.name}"
60
+ end
61
+
62
+ if !gemspec.metadata.has_key?('homepage_uri')
63
+ gemspec.metadata['homepage_uri'] =
64
+ gemspec.homepage || "https://rubygems.org/gems/#{gemspec.name}"
65
+ end
66
+
67
+ gemspec
68
+ end
69
+ end # Distrib::Ruby::Gemspec
@@ -0,0 +1,7 @@
1
+ # This is free and unencumbered software released into the public domain.
2
+
3
+ require 'bundler/gem_tasks'
4
+ require 'rake/extensiontask'
5
+ require 'rake/testtask'
6
+ require 'rb_sys/extensiontask'
7
+ require 'rspec/core/rake_task'
@@ -0,0 +1,6 @@
1
+ # This is free and unencumbered software released into the public domain.
2
+
3
+ module Distrib; end
4
+ module Distrib::Ruby; end
5
+
6
+ require_relative 'ruby/gemspec'
data/lib/distrib.rb CHANGED
@@ -4,4 +4,5 @@
4
4
  # Distrib helps you distribute your software.
5
5
  module Distrib; end
6
6
 
7
+ require_relative 'distrib/ruby'
7
8
  require_relative 'distrib/version'
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: distrib
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.0
4
+ version: 0.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Arto Bendiken
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2026-07-25 00:00:00.000000000 Z
10
+ date: 2026-07-29 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: rake
@@ -52,7 +52,8 @@ dependencies:
52
52
  - !ruby/object:Gem::Version
53
53
  version: '0.9'
54
54
  description: Distrib helps you distribute your software.
55
- email: arto@bendiken.net
55
+ email:
56
+ - arto@bendiken.net
56
57
  executables: []
57
58
  extensions: []
58
59
  extra_rdoc_files: []
@@ -63,16 +64,19 @@ files:
63
64
  - UNLICENSE
64
65
  - VERSION
65
66
  - lib/distrib.rb
67
+ - lib/distrib/ruby.rb
68
+ - lib/distrib/ruby/gemspec.rb
69
+ - lib/distrib/ruby/tasks.rb
66
70
  - lib/distrib/version.rb
67
71
  homepage: https://distrib.sh
68
72
  licenses:
69
73
  - Unlicense
70
74
  metadata:
75
+ source_code_uri: https://github.com/artob/distrib
71
76
  bug_tracker_uri: https://github.com/artob/distrib/issues
72
77
  changelog_uri: https://github.com/artob/distrib/blob/master/CHANGES.md
73
78
  documentation_uri: https://rubydoc.info/gems/distrib
74
79
  homepage_uri: https://distrib.sh
75
- source_code_uri: https://github.com/artob/distrib
76
80
  rdoc_options: []
77
81
  require_paths:
78
82
  - lib