mini_portile2 2.0.0.rc1 → 2.0.0.rc2
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
[![travis status](https://travis-ci.org/flavorjones/mini_portile.svg?branch=master)](https://travis-ci.org/flavorjones/mini_portile?branch=master)
|
4
9
|
[![appveyor status](https://ci.appveyor.com/api/projects/status/509669xx1qlhqqab/branch/master?svg=true)](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
|