kindlegen 3.0.5 → 3.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: dd96e25739a230150e98eb71d155ca472dd3bfb4b6476ee65937bdeae9990a34
4
- data.tar.gz: 8673c90cd66914efc0bde71cdd0ec0ebc9f39ddbaa3a784be2ff0a52abf90832
3
+ metadata.gz: aa25bd7075e56327aa57252627e4a6942304a962119ccf1dcc6b60db0d6e468c
4
+ data.tar.gz: 91d23647cfbb87f27343e961d656eac991d8384b7873bc9fdd784ad3d5dc96ed
5
5
  SHA512:
6
- metadata.gz: acf98eafc589e2d0520271e925a49e4c8189eddf63ca5e43833546e7c3d6fcbaf73a26d18a773c519522e4045f0dae9f48fd5cf2fedf9b74358166de946fcdad
7
- data.tar.gz: b82e6a04c579bdc528874336ab17de9ab34ff6ab4a6b7f3c30fc8535909e104b85e91be24c77918a249ec790112dfc4ed52d11384f11c3b05e43ae7d4645b22b
6
+ metadata.gz: 72280f6dae8e5082161340c186d27946149f3236fd65b00d5c7e016efd9844e203ed649db55c8021608b0c44c089ce638bee7ffd2e4622f394b90b25e55ba772
7
+ data.tar.gz: c24c8be58fd34494fe4d4b0b80e5caec846053ff604e7d9fa693ca0af8fae798d4e532e11b9a3c355b210cc64b36bc0f564afba577c5b4a47903acef31acdbe7
@@ -0,0 +1,19 @@
1
+ name: CI
2
+ on: [push, pull_request]
3
+
4
+ jobs:
5
+ build:
6
+ strategy:
7
+ matrix:
8
+ ruby: [2.4, 2.5, 2.6, 2.7]
9
+ # TODO: https://github.com/tdtds/kindlegen/issues/36
10
+ # Add macos-latest when kindlegen is fixed to work on Catalina
11
+ platform: [ubuntu-latest, windows-latest]
12
+ runs-on: ${{ matrix.platform }}
13
+ steps:
14
+ - uses: actions/checkout@v2
15
+ - uses: ruby/setup-ruby@v1
16
+ with:
17
+ ruby-version: ${{ matrix.ruby }}
18
+ - run: bundle install --jobs 4 --retry 3
19
+ - run: bundle exec rake build test
data/.gitignore CHANGED
@@ -2,6 +2,7 @@
2
2
  *.swp
3
3
  /pkg
4
4
  /.bundle
5
+ /.idea
5
6
  /vendor/bundle
6
7
  /Gemfile.lock
7
8
  /.ruby-version
data/ext/Rakefile CHANGED
@@ -4,8 +4,8 @@
4
4
  #
5
5
  require 'rbconfig'
6
6
  require 'fileutils'
7
+ require 'open-uri'
7
8
 
8
- AMAZON = 'http://kindlegen.s3.amazonaws.com'
9
9
  BINDIR = '../bin'
10
10
 
11
11
  def create_default_task(target)
@@ -18,29 +18,42 @@ def create_default_task(target)
18
18
  end
19
19
 
20
20
  def create_task_for_unix(config)
21
+ require 'rubygems/package'
22
+ require 'zlib'
23
+
21
24
  tarball = config[:tarball]
22
- unzip = config[:unzip]
23
25
  target = config[:target]
24
- url = "#{AMAZON}/#{tarball}"
26
+ url = ENV['KINDLEGEN_TARBALL_URL'] || config[:url]
25
27
 
26
28
  create_default_task(target)
27
29
 
28
30
  file target => tarball do
29
- sh "#{unzip} #{tarball}"
30
- sh "chmod +x #{target}"
31
+ Gem::Package::TarReader.new(Zlib::GzipReader.open(tarball)) do |tar|
32
+ tar.each do |entry|
33
+ next unless entry.file?
34
+ next if File.exist?(entry.full_name)
35
+
36
+ dir = File.dirname(entry.full_name)
37
+ FileUtils.mkpath(dir) if dir != '.' && !File.exist?(dir)
38
+ File.open(entry.full_name, 'wb') do |f|
39
+ f.write(entry.read)
40
+ end
41
+ end
42
+ end
43
+ File.chmod(0o755, target)
31
44
  end
32
45
 
33
46
  file tarball do
34
- sh "curl #{url} -L -o #{tarball}"
47
+ curl(url, tarball)
35
48
  end
36
49
  end
37
50
 
38
- # curl for windows
39
51
  def curl(url, tarball)
40
52
  puts "open(#{url})"
41
53
  puts "save to #{tarball}"
42
- data = open(url, 'rb').read
43
- open(tarball, 'wb').write(data)
54
+ open(url) do |file|
55
+ IO.copy_stream(file, tarball)
56
+ end
44
57
  end
45
58
 
46
59
  # unzip for windows
@@ -54,12 +67,11 @@ def unzip(tarball)
54
67
  end
55
68
 
56
69
  def create_task_for_windows(config)
57
- require 'open-uri'
58
70
  require 'zip'
59
71
 
60
72
  tarball = config[:tarball]
61
73
  target = config[:target]
62
- url = "#{AMAZON}/#{tarball}"
74
+ url = ENV['KINDLEGEN_TARBALL_URL'] || config[:url]
63
75
 
64
76
  create_default_task(target)
65
77
 
@@ -76,17 +88,18 @@ case RbConfig::CONFIG['host_os']
76
88
  when /mac|darwin/i
77
89
  create_task_for_unix(
78
90
  { tarball: 'KindleGen_Mac_i386_v2_9.zip',
79
- unzip: 'unzip',
80
- target: 'kindlegen' })
91
+ target: 'kindlegen',
92
+ url: 'https://web.archive.org/web/20200814013519/https://kindlegen.s3.amazonaws.com/KindleGen_Mac_i386_v2_9.zip' })
81
93
  when /linux|cygwin/i
82
94
  create_task_for_unix(
83
95
  { tarball: 'kindlegen_linux_2.6_i386_v2_9.tar.gz',
84
- unzip: 'tar -zx --no-same-owner -f',
85
- target: 'kindlegen' })
96
+ target: 'kindlegen',
97
+ url: 'https://web.archive.org/web/20150803131026/https://kindlegen.s3.amazonaws.com/kindlegen_linux_2.6_i386_v2_9.tar.gz' })
86
98
  when /mingw32|mswin32/i
87
99
  create_task_for_windows(
88
100
  { tarball: 'kindlegen_win32_v2_9.zip',
89
- target: 'kindlegen.exe' })
101
+ target: 'kindlegen.exe',
102
+ url: 'http://web.archive.org/web/20150407060917/http://kindlegen.s3.amazonaws.com/kindlegen_win32_v2_9.zip' })
90
103
  else
91
104
  STDERR.puts "Host OS unsupported!"
92
105
  exit(1)
@@ -1,3 +1,3 @@
1
1
  module Kindlegen
2
- VERSION = '3.0.5' unless const_defined?(:VERSION)
2
+ VERSION = '3.1.0' unless const_defined?(:VERSION)
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kindlegen
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.5
4
+ version: 3.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - TADA Tadashi
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-12-24 00:00:00.000000000 Z
11
+ date: 2021-04-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubyzip
@@ -76,9 +76,9 @@ extensions:
76
76
  - ext/Rakefile
77
77
  extra_rdoc_files: []
78
78
  files:
79
+ - ".github/workflows/ci.yml"
79
80
  - ".gitignore"
80
81
  - ".tachikoma.yml"
81
- - ".travis.yml"
82
82
  - Gemfile
83
83
  - LICENSE
84
84
  - README.md
@@ -108,7 +108,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
108
108
  - !ruby/object:Gem::Version
109
109
  version: '0'
110
110
  requirements: []
111
- rubygems_version: 3.0.3
111
+ rubygems_version: 3.1.6
112
112
  signing_key:
113
113
  specification_version: 4
114
114
  summary: Installing kindlegen command.
data/.travis.yml DELETED
@@ -1,10 +0,0 @@
1
- language: ruby
2
- sudo: false
3
- cache: bundler
4
- rvm:
5
- - 2.4.7
6
- - 2.5.7
7
- - 2.6.5
8
- - ruby-head
9
- # NOTE the build step is required to run the tests
10
- script: bundle exec rake build test