mini_portile2 2.0.0.rc1 → 2.0.0.rc2
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 +4 -4
- data/CHANGELOG.md +3 -1
- data/README.md +24 -13
- data/Rakefile +1 -1
- data/lib/mini_portile2/mini_portile.rb +6 -1
- data/lib/mini_portile2/version.rb +1 -1
- data/mini_portile2.gemspec +1 -1
- metadata +5 -26
- checksums.yaml.gz.sig +0 -4
- data.tar.gz.sig +0 -2
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4268ba519aa7b02fb3e5b6311dffad8874b00707
|
4
|
+
data.tar.gz: bce96164d5109be44530938dba309cbe2c400582
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 265fee5858f5de3327ed4d025f6f7f709ad22fdfc84028376eaa2dd1046f02d45ea6151b963b837529cd7ab7b88bbc071bf3fdd95ba7da43441f6ee024c9c22c
|
7
|
+
data.tar.gz: bbaed9a380ce2afed8e7ac356eaa9910346b72ff835bcabf58a5e17fd4077b7d0f987d9f853485a2572876ebbf2783aeb7733e2e0586964508a6b744ef89bbca
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -1,5 +1,10 @@
|
|
1
1
|
# MiniPortile
|
2
2
|
|
3
|
+
This documents versions 2 and up, for which the require file was
|
4
|
+
renamed to `mini_portile2`. For mini_portile versions 0.6.x and
|
5
|
+
previous, please visit
|
6
|
+
[the v0.6.x branch](https://github.com/flavorjones/mini_portile/tree/v0.6.x).
|
7
|
+
|
3
8
|
[](https://travis-ci.org/flavorjones/mini_portile?branch=master)
|
4
9
|
[](https://ci.appveyor.com/project/flavorjones/mini-portile/branch/master)
|
5
10
|
|
@@ -41,9 +46,9 @@ appropriate `ENV` variables.)
|
|
41
46
|
|
42
47
|
## Sounds easy, but where's the catch?
|
43
48
|
|
44
|
-
|
45
|
-
|
46
|
-
**
|
49
|
+
At this time (and highly likely will be always) `mini_portile2` is
|
50
|
+
only compatible with **GCC compilers** and **autoconf**- or
|
51
|
+
**configure**-based projects.
|
47
52
|
|
48
53
|
That is, it assumes the library you want to build contains a
|
49
54
|
`configure` script, which all the autoconf-based libraries do.
|
@@ -55,7 +60,7 @@ Now that you know the catch, and you're still reading this, here is a
|
|
55
60
|
quick example:
|
56
61
|
|
57
62
|
```ruby
|
58
|
-
gem "mini_portile2", "~> 2.0.0" # if used in extconf.rb
|
63
|
+
gem "mini_portile2", "~> 2.0.0" # NECESSARY if used in extconf.rb. see below.
|
59
64
|
require "mini_portile2"
|
60
65
|
recipe = MiniPortile.new("libiconv", "1.13.1")
|
61
66
|
recipe.files = ["http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz"]
|
@@ -63,17 +68,23 @@ recipe.cook
|
|
63
68
|
recipe.activate
|
64
69
|
```
|
65
70
|
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
71
|
+
The gem version constraint makes sure that your extconf.rb is
|
72
|
+
protected against possible backwards-incompatible changes to
|
73
|
+
`mini_portile2`. This constraint is REQUIRED if you're using
|
74
|
+
`mini_portile2` within a gem installation process (e.g., extconf.rb),
|
75
|
+
because Bundler doesn't enforce gem version constraints at
|
76
|
+
install-time (only at run-time.
|
77
|
+
|
78
|
+
`#cook` will download, extract, patch, configure and compile the
|
79
|
+
library into a namespaced structure.
|
80
|
+
|
81
|
+
`#activate` ensures GCC will find this library and prefer it over a
|
82
|
+
system-wide installation.
|
72
83
|
|
73
84
|
|
74
85
|
### Directory Structure Conventions
|
75
86
|
|
76
|
-
`
|
87
|
+
`mini_portile2` follows the principle of **convention over configuration** and
|
77
88
|
established a folder structure where is going to place files and perform work.
|
78
89
|
|
79
90
|
Take the above example, and let's draw some picture:
|
@@ -98,7 +109,7 @@ In above structure, `<platform>` refers to the architecture that
|
|
98
109
|
represents the operating system you're using (e.g. i686-linux,
|
99
110
|
i386-mingw32, etc).
|
100
111
|
|
101
|
-
Inside the platform folder, `
|
112
|
+
Inside the platform folder, `mini_portile2` will store the artifacts
|
102
113
|
that result from the compilation process. The library is versioned so
|
103
114
|
you can keep multiple versions around on disk without clobbering
|
104
115
|
anything.
|
@@ -120,7 +131,7 @@ recipe.path # => /home/luis/projects/myapp/ports/i686-linux/libiconv/1.13.1
|
|
120
131
|
### How can I combine this with my compilation task?
|
121
132
|
|
122
133
|
In the simplest case, your rake `compile` task will depend on
|
123
|
-
`
|
134
|
+
`mini_portile2` compilation and most important, activation.
|
124
135
|
|
125
136
|
Example:
|
126
137
|
|
data/Rakefile
CHANGED
@@ -4,7 +4,7 @@ require 'bundler/gem_tasks'
|
|
4
4
|
namespace :test do
|
5
5
|
desc "Test MiniPortile by running unit tests"
|
6
6
|
task :unit do
|
7
|
-
sh "ruby -w -W2 -I
|
7
|
+
sh "ruby -w -W2 -I. -Ilib -e \"#{Dir["test/test_*.rb"].map{|f| "require '#{f}';"}.join}\" -- -v"
|
8
8
|
end
|
9
9
|
|
10
10
|
desc "Test MiniPortile by compiling examples"
|
@@ -99,7 +99,12 @@ class MiniPortile
|
|
99
99
|
digest = Digest::MD5.hexdigest(computed_options.to_s)
|
100
100
|
File.open(md5_file, "w") { |f| f.write digest }
|
101
101
|
|
102
|
-
|
102
|
+
if RUBY_PLATFORM=~/mingw|mswin/
|
103
|
+
# Windows doesn't recognize the shebang.
|
104
|
+
execute('configure', %w(sh ./configure) + computed_options)
|
105
|
+
else
|
106
|
+
execute('configure', %w(./configure) + computed_options)
|
107
|
+
end
|
103
108
|
end
|
104
109
|
|
105
110
|
def compile
|
data/mini_portile2.gemspec
CHANGED
@@ -7,7 +7,7 @@ Gem::Specification.new do |spec|
|
|
7
7
|
spec.name = "mini_portile2"
|
8
8
|
spec.version = MiniPortile::VERSION
|
9
9
|
|
10
|
-
spec.authors = ['Luis Lavena', 'Mike Dalessio']
|
10
|
+
spec.authors = ['Luis Lavena', 'Mike Dalessio', 'Lars Kanis']
|
11
11
|
spec.email = 'mike.dalessio@gmail.com'
|
12
12
|
|
13
13
|
spec.summary = "Simplistic port-like solution for developers"
|
metadata
CHANGED
@@ -1,36 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mini_portile2
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.0.
|
4
|
+
version: 2.0.0.rc2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Luis Lavena
|
8
8
|
- Mike Dalessio
|
9
|
+
- Lars Kanis
|
9
10
|
autorequire:
|
10
11
|
bindir: bin
|
11
|
-
cert_chain:
|
12
|
-
-
|
13
|
-
-----BEGIN CERTIFICATE-----
|
14
|
-
MIIDPDCCAiSgAwIBAgIBAjANBgkqhkiG9w0BAQUFADBEMQ0wCwYDVQQDDARsYXJz
|
15
|
-
MR8wHQYKCZImiZPyLGQBGRYPZ3JlaXotcmVpbnNkb3JmMRIwEAYKCZImiZPyLGQB
|
16
|
-
GRYCZGUwHhcNMTUwMzEzMjAzMjExWhcNMTYwMzEyMjAzMjExWjBEMQ0wCwYDVQQD
|
17
|
-
DARsYXJzMR8wHQYKCZImiZPyLGQBGRYPZ3JlaXotcmVpbnNkb3JmMRIwEAYKCZIm
|
18
|
-
iZPyLGQBGRYCZGUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZb4Uv
|
19
|
-
RFJfRu/VEWiy3psh2jinETjiuBrL0NeRFGf8H7iU9+gx/DI/FFhfHGLrDeIskrJx
|
20
|
-
YIWDMmEjVO10UUdj7wu4ZhmU++0Cd7Kq9/TyP/shIP3IjqHjVLCnJ3P6f1cl5rxZ
|
21
|
-
gqo+d3BAoDrmPk0rtaf6QopwUw9RBiF8V4HqvpiY+ruJotP5UQDP4/lVOKvA8PI9
|
22
|
-
P0GmVbFBrbc7Zt5h78N3UyOK0u+nvOC23BvyHXzCtcFsXCoEkt+Wwh0RFqVZdnjM
|
23
|
-
LMO2vULHKKHDdX54K/sbVCj9pN9h1aotNzrEyo55zxn0G9PHg/G3P8nMvAXPkUTe
|
24
|
-
brhXrfCwWRvOXA4TAgMBAAGjOTA3MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0G
|
25
|
-
A1UdDgQWBBRAHK81igrXodaDj8a8/BIKsaZrETANBgkqhkiG9w0BAQUFAAOCAQEA
|
26
|
-
MSeqyuvnysrcVerV+iQHfW1k53W8sl0pA8f8t/VFp7fUfKXJ9K7AGby4y9xOsqII
|
27
|
-
AeHuFrYoCxgoJL2k088/IKdu5bsuJ4FWzDpIV70uSOZsPKhlBiLqDLvccFnB/XBe
|
28
|
-
3qSVN9x1I/lkVT4j55MqKjvvkn5GCfKz6JLPHgwEihiV0qmgsX2uZnxU4JbAbI5R
|
29
|
-
4NX+7Dq+AuZUp5MtQslByeESOalT3SBfXSQ8QkZPwMVstsRm2h+0kVRu/AQHiGwJ
|
30
|
-
6jkDey5mE3jQb893U6ihl55uLkVQwxZZTq/flNWjTIcbbvKKafEGdGv5uOlB+KRL
|
31
|
-
PRtgPFlA2jDgUr1EPAIH1Q==
|
32
|
-
-----END CERTIFICATE-----
|
33
|
-
date: 2015-11-17 00:00:00.000000000 Z
|
12
|
+
cert_chain: []
|
13
|
+
date: 2015-11-22 00:00:00.000000000 Z
|
34
14
|
dependencies:
|
35
15
|
- !ruby/object:Gem::Dependency
|
36
16
|
name: bundler
|
@@ -137,7 +117,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
137
117
|
version: 1.3.1
|
138
118
|
requirements: []
|
139
119
|
rubyforge_project:
|
140
|
-
rubygems_version: 2.4.
|
120
|
+
rubygems_version: 2.4.8
|
141
121
|
signing_key:
|
142
122
|
specification_version: 4
|
143
123
|
summary: Simplistic port-like solution for developers
|
@@ -151,4 +131,3 @@ test_files:
|
|
151
131
|
- test/test_cook.rb
|
152
132
|
- test/test_digest.rb
|
153
133
|
- test/test_proxy.rb
|
154
|
-
has_rdoc:
|
checksums.yaml.gz.sig
DELETED
data.tar.gz.sig
DELETED
metadata.gz.sig
DELETED
Binary file
|