smartcard 0.3.1-x86-mswin32-60 → 0.3.2-x86-mswin32-60

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.
data/BUILD CHANGED
@@ -1,18 +1,20 @@
1
1
  = Builds are hard
2
- +smartcard+ needs to talk to hardware (card readers), so it's bound to use a Ruby extension.
3
- This means C, and platform-specific building nightmares. Read below for details.
2
+ +smartcard+ needs to talk to hardware (card readers), so it's bound to use a
3
+ Ruby extension. This means C, and platform-specific building nightmares.
4
+ Read below for details.
4
5
 
5
6
  = The build system
6
- +smartcard+ uses {echoe}[http://blog.evanweaver.com/files/doc/fauna/echoe/] for builds. This
7
- automates most of the building and packaging work, and can even push the gem to rubyforge,
8
- with a bit of luck. Most used commands:
7
+ +smartcard+ uses {echoe}[http://blog.evanweaver.com/files/doc/fauna/echoe/] for
8
+ builds. This automates most of the building and packaging work, and can even
9
+ push the gem to rubyforge, with a bit of luck. Most used commands:
9
10
  rake manifest # builds the manifest (do this after checking out)
10
11
  rake package # builds the gem for your platform
11
12
  rake mswin package # cross-builds the gem for Windows
12
13
  rake test # builds the gem and runs the tests
13
14
  rake docs # runs Rdoc to produce the docs
14
15
 
15
- On the other hand, you have to <tt>gem install echoe</tt> to be able to build anything.
16
+ On the other hand, you have to <tt>gem install echoe</tt> to be able to build
17
+ anything.
16
18
 
17
19
  = Platform-specific information
18
20
 
@@ -20,14 +22,17 @@ On the other hand, you have to <tt>gem install echoe</tt> to be able to build an
20
22
 
21
23
  You need to install the Developer Tools to get gcc.
22
24
 
23
- Leopard includes a working PC/SC provider, as well as a good driver for CCID readers.
24
- Tiger's PC/SC implementation is broken and incomplete, so the Ruby extension code in +smartcard+
25
- has a few hacks to work around that (look for the <tt>RB_SMARTCARD_OSX_TIGER_HACK</tt> define.
26
- The following commands are broken / don't work:
25
+ Leopard (OSX 10.5) includes a working PC/SC provider, as well as a good driver
26
+ for CCID readers.
27
+
28
+ Tiger's (OSX 10.4) PC/SC implementation is broken and incomplete, so the Ruby
29
+ extension code in +smartcard+ has a few hacks to work around that (look for the
30
+ <tt>RB_SMARTCARD_OSX_TIGER_HACK</tt> define. The following commands are broken /
31
+ don't work:
27
32
  * Smartcard::PCSC::Context#is_valid (always returs +true+)
28
- * Smartcard::PCSC::Card#get_attribute (throws exception because it's not implemented)
29
- * Smartcard::PCSC::Card#set_attribute (throws exception because it's not implemented)
30
- * Smartcard::PCSC::Card#control (Tiger's API is broken, so the call will probably not work)
33
+ * Smartcard::PCSC::Card#get_attribute (not implemented, throws exception)
34
+ * Smartcard::PCSC::Card#set_attribute (not implemented, throws exception)
35
+ * Smartcard::PCSC::Card#control (Tiger's API is broken, the call may not work)
31
36
 
32
37
  The developer team doesn't support or test against ports of +gcc+ or +pcsclite+,
33
38
  but we success notifications are welcome.
@@ -37,29 +42,36 @@ but we success notifications are welcome.
37
42
  A lot of effort has been spent to make Windows builds as easy as possible.
38
43
  +smartcard+ is currently built using a full edition of
39
44
  {Visual Studio 2005}[http://msdn.microsoft.com/vstudio/], but all sources
40
- indicate that {Visual C++ Express 2005}[http://www.microsoft.com/express/download/] works,
41
- as long as you also install a Windows SDK (you're on your own for that). Visual Studio 2008
42
- might work, but it hasn't been tested yet.
45
+ indicate that
46
+ {Visual C++ Express 2005}[http://www.microsoft.com/express/download/]
47
+ works, as long as you also install a Windows SDK (you're on your own for that).
48
+ Visual Studio 2008 might work, but it hasn't been tested yet.
43
49
 
44
50
  A summary of the hacks that have been done to get Windows builds working:
45
- * removing the extension files from the gemspec at the "right time" so that +echoe+ compiles the extension, and the gem doesn't require re-compilation (see the +Rakefile+)
51
+ * removing the extension files from the gemspec at the "right time" so that
52
+ +echoe+ compiles the extension, and the gem doesn't require re-compilation (see
53
+ the +Rakefile+)
46
54
  * adding the compiled extension to the file list in the gemspec
47
- * adding code to <tt>extconf.rb</tt> to patch the +Makefile+ so a manifest is embedded in the extension dll (and ruby doesn't crash if it uses a different version of the C runtime)
55
+ * adding code to <tt>extconf.rb</tt> to patch the +Makefile+ so a manifest is
56
+ embedded in the extension dll (and ruby doesn't crash if it uses a different
57
+ version of the C runtime)
48
58
 
49
59
  == Linux
50
60
 
51
61
  +smartcard+ is developed (and tested) against the
52
- {MUSCLE project}[http://www.linuxnet.com/software.html]. If you go this route, you need to
53
- get at least the {pcsclite library}[http://pcsclite.alioth.debian.org/] and a driver.
54
- +smartcard+ developers use the {CCID driver}[http://pcsclite.alioth.debian.org/], which
55
- works on most (new) readers.
62
+ {MUSCLE project}[http://www.linuxnet.com/software.html]. If you go this route,
63
+ you need to get at least the
64
+ {pcsclite library}[http://pcsclite.alioth.debian.org/] and a driver.
65
+ +smartcard+ developers use the
66
+ {CCID driver}[http://pcsclite.alioth.debian.org/], which works on most (new)
67
+ readers.
56
68
 
57
69
  === Ubuntu
58
70
 
59
- Installing the following packages (and their dependencies) gets you going on Ubuntu (tested on 7.10):
60
- * buildessentials
71
+ Installing the following packages (and their dependencies) gets you going on
72
+ Ubuntu (tested on 7.10, 8.04, and 8.10):
73
+ * build-essential
61
74
  * libccid
62
- * libpcsclite
63
- * libpcsclite-dev
75
+ * libpcsclite-dev (depends on libpcsclite or libpcsclite1)
64
76
  * pcscd
65
77
  * pcsc-tools
data/CHANGELOG CHANGED
@@ -1,3 +1,5 @@
1
+ v0.3.2. Fixed documentation for ReaderStates class.
2
+
1
3
  v0.3.1. Fixed documentation for the new PcscException class.
2
4
 
3
5
  v0.3.0. Added PcscException class used to wrap PC/SC exceptions.
data/README CHANGED
@@ -1,32 +1,37 @@
1
- +smartcard+ aims to become the standard support library for smart-card development on ruby.
2
- Right now, the project offers a PC/SC binding that is working on ruby 1.8, under
3
- Linux, OSX, and Windows. Future plans include a high level abstraction for the PC/SC binding
4
- (plus any other bindings people need), and an interface for Java cards.
1
+ +smartcard+ aims to become the standard support library for smart-card
2
+ development on ruby. Right now, the project offers a PC/SC binding that is
3
+ working on ruby 1.8, under Linux, OSX, and Windows. Future plans include a high
4
+ level abstraction for the PC/SC binding (plus any other bindings people need),
5
+ and an interface for Java cards.
5
6
 
6
7
  = Installation
7
8
 
8
9
  gem install smartcard
9
10
  Windows:: Select the <tt>win32</tt> gem.
10
11
  OSX:: Install the Developer Tools to get +gcc+. Requires Tiger or Leopard.
11
- UNIX:: You need a PC/SC provider. See the {BUILD file}[link://files/BUILD.html] for details. The file also contains package lists for popular distributions.
12
+ UNIX:: You need a PC/SC provider. See the {BUILD file}[link://files/BUILD.html]
13
+ for details. The file also contains package lists for popular distributions.
12
14
 
13
15
  = Documentation
14
16
 
15
- The documentation you see was generated with RDoc. If you install the +smartcard+ gem, you should be
16
- able to use ri to see the documentation. If you're using the SVN version, you can <tt>rake doc</tt> to build
17
- the HTML documentation yourself.
17
+ The documentation you see was generated with RDoc. If you install the
18
+ +smartcard+ gem, you should be able to use ri to see the documentation. If
19
+ you're using the SVN version, you can <tt>rake doc</tt> to build the HTML
20
+ documentation yourself.
18
21
 
19
22
  = License
20
23
 
21
- +smartcard+ is released under the MIT license. This means you're free to do whatever you want
22
- with it. However, it'd be nice to let the developers know if you plan to include this in a
23
- distribution (bragging rights are always good). The {LICENSE file}[link://files/LICENSE.html]
24
- has the license in legalese.
24
+ +smartcard+ is released under the MIT license. This means you're free to do
25
+ whatever you want with it. However, it'd be nice to let the developers know if
26
+ you plan to include this in a distribution (bragging rights are always good).
27
+ The {LICENSE file}[link://files/LICENSE.html] has the license in legalese.
25
28
 
26
29
  = Acknowledgements
27
30
 
28
- +smartcard+ is developed by Victor Costan while working as a Research Assistant for MIT, under
29
- {Prof. Srini Devadas}[http://people.csail.mit.edu/devadas/], in the
30
- {Trusted Computing group}[http://projects.csail.mit.edu/tc/].
31
- The work is funded by a grant from {Quanta Computer Inc}[http://www.quanta.com.tw], under the
31
+ +smartcard+ is developed by Victor Costan while working as a Research Assistant
32
+ for MIT, under {Prof. Srini Devadas}[http://people.csail.mit.edu/devadas/], in
33
+ the {Trusted Computing group}[http://projects.csail.mit.edu/tc/].
34
+
35
+ The work is funded by a grant from
36
+ {Quanta Computer Inc}[http://www.quanta.com.tw], under the
32
37
  {T-Party Project}[http://projects.csail.mit.edu/tparty/].
data/Rakefile ADDED
@@ -0,0 +1,36 @@
1
+ require 'rubygems'
2
+ gem 'echoe'
3
+ require 'echoe'
4
+
5
+ Echoe.new('smartcard') do |p|
6
+ p.project = 'smartcard' # rubyforge project
7
+
8
+ p.author = 'Victor Costan'
9
+ p.email = 'victor@costan.us'
10
+ p.summary = 'Interface with ISO 7816 smart cards.'
11
+ p.url = 'http://www.costan.us/smartcard'
12
+
13
+ p.need_tar_gz = !Platform.windows?
14
+ p.need_zip = !Platform.windows?
15
+ p.clean_pattern += ['ext/**/*.manifest', 'ext/**/*_autogen.h']
16
+ p.rdoc_pattern = /^(lib|bin|tasks|ext)|^BUILD|^README|^CHANGELOG|^TODO|^LICENSE|^COPYING$/
17
+
18
+ p.eval = proc do |p|
19
+ if Platform.windows?
20
+ p.files += ['lib/smartcard/pcsc.so']
21
+ p.platform = Gem::Platform::CURRENT
22
+
23
+ # take out the extension info from the gemspec
24
+ task :postcompile_hacks => [:compile] do
25
+ p.extensions.clear
26
+ end
27
+
28
+ task :package => [ :clean, :compile, :postcompile_hacks ]
29
+ end
30
+ end
31
+ end
32
+
33
+ if $0 == __FILE__
34
+ Rake.application = Rake::Application.new
35
+ Rake.application.run
36
+ end
@@ -12,9 +12,10 @@ if RUBY_PLATFORM =~ /darwin/
12
12
  pcsc_defines.push 'RB_SMARTCARD_OSX_TIGER_HACK'
13
13
  end
14
14
  elsif RUBY_PLATFORM =~ /win/
15
-
16
15
  have_library('winscard')
17
- pcsc_defines << 'PCSC_SURROGATE_SCARD_IS_VALID_CONTEXT' unless have_library('winscard', 'SCardIsValidContext')
16
+ unless have_library('winscard', 'SCardIsValidContext')
17
+ pcsc_defines << 'PCSC_SURROGATE_SCARD_IS_VALID_CONTEXT'
18
+ end
18
19
  else
19
20
  # pcsclite is retarded and uses stuff like '#include <wintypes.h>'
20
21
  $CFLAGS += ' -I /usr/include/PCSC -I /usr/local/include/PCSC'
@@ -25,7 +26,9 @@ pcsc_headers = []
25
26
  ['wintypes.h', 'reader.h', 'winscard.h', 'pcsclite.h'].each do |header|
26
27
  ['', 'PCSC/', './pcsc_surrogate_'].each do |path_prefix|
27
28
  if have_header(path_prefix + header)
28
- pcsc_headers.push((path_prefix[0,1] == '.') ? "\"#{path_prefix + header}\"" : "<#{path_prefix + header}>")
29
+ pcsc_headers.push((path_prefix[0,1] == '.') ?
30
+ "\"#{path_prefix + header}\"" :
31
+ "<#{path_prefix + header}>")
29
32
  break
30
33
  end
31
34
  end
@@ -34,9 +37,15 @@ end
34
37
  File.open('pcsc_autogen.h', 'w') do |f|
35
38
  pcsc_defines.each { |d| f.write "\#define #{d}\n" }
36
39
  pcsc_headers.each { |h| f.write "\#include #{h}\n" }
37
- end
40
+ end
41
+
42
+ if have_macro('SCARDHANDLE', ['pcsc_autogen.h']) or
43
+ have_type('SCARDHANDLE', ['pcsc_autogen.h'])
44
+ create_makefile('smartcard/pcsc')
45
+ else
46
+ STDERR.write "PC/SC libraries missing!\n"
47
+ end
38
48
 
39
- create_makefile('smartcard/pcsc')
40
49
 
41
50
  def win32_hack(mf_name)
42
51
  # get the version of MSVC
@@ -50,7 +59,7 @@ def win32_hack(mf_name)
50
59
  return if msvc_ver == 12
51
60
  end
52
61
 
53
- # evil, evil, evil -- hack the makefile to embed the manifest in the extension dll
62
+ # HACK: monkey-patch the makefile to embed a manifest in the extension dll
54
63
  make_contents = File.open(mf_name, 'r') { |f| f.read }
55
64
  make_rules = make_contents.split(/(\n|\r)(\n|\r)+/)
56
65
  new_make_rules = make_rules.map do |rule|
@@ -38,7 +38,8 @@ static VALUE PCSC_ReaderStates_alloc(VALUE klass) {
38
38
  * new(num_states) --> reader_states
39
39
  *
40
40
  * Creates an array of +num_states+ reader state elements.
41
- * The states are unusable until they are assigned reader names by calling ReaderStates#set_reader_name_of.
41
+ * The states are unusable until they are assigned reader names by calling
42
+ * Smartcard::PCSC::ReaderStates#set_reader_name_of.
42
43
  */
43
44
  static VALUE PCSC_ReaderStates_initialize(VALUE self, VALUE rbNumStates) {
44
45
  struct PCSCReaderStates *states;
@@ -77,10 +78,12 @@ static int _validate_readerstates_args(VALUE rbReaderStates, VALUE rbIndex, stru
77
78
  * call-seq:
78
79
  * current_state_of(index) --> current_state
79
80
  *
80
- * The current state (_dwCurrentState_ in PC/SC) in the <tt>index</tt>th reader state element.
81
- * Smartcard::PCSC::Context#get_status_change blocks as long as the reader state equals this value.
81
+ * The current state (_dwCurrentState_ in PC/SC) in the <tt>index</tt>th reader
82
+ * state element. Smartcard::PCSC::Context#get_status_change blocks as long as
83
+ * the reader state equals this value.
82
84
  *
83
- * The returned state is a bitfield; the bits are defined in the Smartcard::PCSC::STATE_ constants.
85
+ * The returned state is a bitfield; the bits are defined in the
86
+ * Smartcard::PCSC::STATE_ constants. See Smartcard::PCSC::STATE_UNAWARE.
84
87
  *
85
88
  * +index+:: the 0-based index of the reader state element to be queried
86
89
  */
@@ -98,10 +101,12 @@ static VALUE PCSC_ReaderStates_current_state_of(VALUE self, VALUE rbIndex) {
98
101
  * call-seq:
99
102
  * event_state_of(index) --> event_state
100
103
  *
101
- * The event state (_dwEventState_ in PC/SC) in the <tt>index</tt>th reader state element.
102
- * Smartcard::PCSC::Context#get_status_change stores the updated reader state in this value.
104
+ * The event state (_dwEventState_ in PC/SC) in the <tt>index</tt>th reader
105
+ * state element. Smartcard::PCSC::Context#get_status_change stores the updated
106
+ * reader state in this value.
103
107
  *
104
- * The returned state is a bitfield; the bits are defined in the Smartcard::PCSC::STATE_ constants.
108
+ * The returned state is a bitfield; the bits are defined in the
109
+ * Smartcard::PCSC::STATE_ constants. See Smartcard::PCSC::STATE_UNAWARE.
105
110
  *
106
111
  * +index+:: the 0-based index of the reader state element to be queried
107
112
  */
Binary file
data/smartcard.gemspec CHANGED
@@ -1,66 +1,32 @@
1
-
2
- # Gem::Specification for Smartcard-0.3.1
3
- # Originally generated by Echoe
1
+ # -*- encoding: utf-8 -*-
4
2
 
5
3
  Gem::Specification.new do |s|
6
4
  s.name = %q{smartcard}
7
- s.version = "0.3.1"
5
+ s.version = "0.3.2"
8
6
  s.platform = %q{x86-mswin32-60}
9
7
 
10
- s.specification_version = 2 if s.respond_to? :specification_version=
11
-
12
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
+ s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
13
9
  s.authors = ["Victor Costan"]
14
- s.date = %q{2008-05-01}
10
+ s.date = %q{2009-06-01}
15
11
  s.description = %q{Interface with ISO 7816 smart cards.}
16
12
  s.email = %q{victor@costan.us}
17
13
  s.extra_rdoc_files = ["BUILD", "CHANGELOG", "ext/smartcard_pcsc/extconf.rb", "ext/smartcard_pcsc/pcsc.h", "ext/smartcard_pcsc/pcsc_card.c", "ext/smartcard_pcsc/pcsc_constants.c", "ext/smartcard_pcsc/pcsc_context.c", "ext/smartcard_pcsc/pcsc_exception.c", "ext/smartcard_pcsc/pcsc_io_request.c", "ext/smartcard_pcsc/pcsc_main.c", "ext/smartcard_pcsc/pcsc_multi_strings.c", "ext/smartcard_pcsc/pcsc_namespace.c", "ext/smartcard_pcsc/pcsc_reader_states.c", "ext/smartcard_pcsc/pcsc_surrogate_reader.h", "ext/smartcard_pcsc/pcsc_surrogate_wintypes.h", "lib/smartcard/pcsc_exception.rb", "lib/smartcard.rb", "LICENSE", "README"]
18
- s.files = ["BUILD", "CHANGELOG", "ext/smartcard_pcsc/extconf.rb", "ext/smartcard_pcsc/pcsc.h", "ext/smartcard_pcsc/pcsc_card.c", "ext/smartcard_pcsc/pcsc_constants.c", "ext/smartcard_pcsc/pcsc_context.c", "ext/smartcard_pcsc/pcsc_exception.c", "ext/smartcard_pcsc/pcsc_io_request.c", "ext/smartcard_pcsc/pcsc_main.c", "ext/smartcard_pcsc/pcsc_multi_strings.c", "ext/smartcard_pcsc/pcsc_namespace.c", "ext/smartcard_pcsc/pcsc_reader_states.c", "ext/smartcard_pcsc/pcsc_surrogate_reader.h", "ext/smartcard_pcsc/pcsc_surrogate_wintypes.h", "lib/smartcard/pcsc_exception.rb", "lib/smartcard.rb", "LICENSE", "Manifest", "README", "test/test_containers.rb", "test/test_smoke.rb", "tests/ts_pcsc_ext.rb", "smartcard.gemspec", "lib/smartcard/pcsc.so"]
19
- s.has_rdoc = true
14
+ s.files = ["BUILD", "CHANGELOG", "ext/smartcard_pcsc/extconf.rb", "ext/smartcard_pcsc/pcsc.h", "ext/smartcard_pcsc/pcsc_card.c", "ext/smartcard_pcsc/pcsc_constants.c", "ext/smartcard_pcsc/pcsc_context.c", "ext/smartcard_pcsc/pcsc_exception.c", "ext/smartcard_pcsc/pcsc_io_request.c", "ext/smartcard_pcsc/pcsc_main.c", "ext/smartcard_pcsc/pcsc_multi_strings.c", "ext/smartcard_pcsc/pcsc_namespace.c", "ext/smartcard_pcsc/pcsc_reader_states.c", "ext/smartcard_pcsc/pcsc_surrogate_reader.h", "ext/smartcard_pcsc/pcsc_surrogate_wintypes.h", "lib/smartcard/pcsc_exception.rb", "lib/smartcard.rb", "LICENSE", "Manifest", "README", "test/test_containers.rb", "test/test_smoke.rb", "tests/ts_pcsc_ext.rb", "smartcard.gemspec", "Rakefile", "lib/smartcard/pcsc.so"]
20
15
  s.homepage = %q{http://www.costan.us/smartcard}
21
16
  s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Smartcard", "--main", "README"]
22
17
  s.require_paths = ["lib", "ext"]
23
18
  s.rubyforge_project = %q{smartcard}
24
- s.rubygems_version = %q{1.1.1}
19
+ s.rubygems_version = %q{1.3.4}
25
20
  s.summary = %q{Interface with ISO 7816 smart cards.}
26
21
  s.test_files = ["test/test_containers.rb", "test/test_smoke.rb"]
27
- end
28
22
 
23
+ if s.respond_to? :specification_version then
24
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
25
+ s.specification_version = 3
29
26
 
30
- # # Original Rakefile source (requires the Echoe gem):
31
- #
32
- # require 'rubygems'
33
- # gem 'echoe'
34
- # require 'echoe'
35
- #
36
- # Echoe.new('smartcard') do |p|
37
- # p.project = 'smartcard' # rubyforge project
38
- #
39
- # p.author = 'Victor Costan'
40
- # p.email = 'victor@costan.us'
41
- # p.summary = 'Interface with ISO 7816 smart cards.'
42
- # p.url = 'http://www.costan.us/smartcard'
43
- #
44
- # p.need_tar_gz = false
45
- # p.clean_pattern += ['ext/**/*.manifest', 'ext/**/*_autogen.h']
46
- # p.rdoc_pattern = /^(lib|bin|tasks|ext)|^BUILD|^README|^CHANGELOG|^TODO|^LICENSE|^COPYING$/
47
- #
48
- # p.eval = proc do |p|
49
- # if Platform.windows?
50
- # p.files += ['lib/smartcard/pcsc.so']
51
- # p.platform = Gem::Platform::CURRENT
52
- #
53
- # # take out the extension info from the gemspec
54
- # task :postcompile_hacks => [:compile] do
55
- # p.extensions.clear
56
- # end
57
- #
58
- # task :package => [ :clean, :compile, :postcompile_hacks ]
59
- # end
60
- # end
61
- # end
62
- #
63
- # if $0 == __FILE__
64
- # Rake.application = Rake::Application.new
65
- # Rake.application.run
66
- # end
27
+ if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
28
+ else
29
+ end
30
+ else
31
+ end
32
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: smartcard
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.2
5
5
  platform: x86-mswin32-60
6
6
  authors:
7
7
  - Victor Costan
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-05-01 00:00:00 -04:00
12
+ date: 2009-06-01 00:00:00 -04:00
13
13
  default_executable:
14
14
  dependencies: []
15
15
 
@@ -64,9 +64,12 @@ files:
64
64
  - test/test_smoke.rb
65
65
  - tests/ts_pcsc_ext.rb
66
66
  - smartcard.gemspec
67
+ - Rakefile
67
68
  - lib/smartcard/pcsc.so
68
69
  has_rdoc: true
69
70
  homepage: http://www.costan.us/smartcard
71
+ licenses: []
72
+
70
73
  post_install_message:
71
74
  rdoc_options:
72
75
  - --line-numbers
@@ -88,14 +91,14 @@ required_rubygems_version: !ruby/object:Gem::Requirement
88
91
  requirements:
89
92
  - - ">="
90
93
  - !ruby/object:Gem::Version
91
- version: "0"
94
+ version: "1.2"
92
95
  version:
93
96
  requirements: []
94
97
 
95
98
  rubyforge_project: smartcard
96
- rubygems_version: 1.1.1
99
+ rubygems_version: 1.3.4
97
100
  signing_key:
98
- specification_version: 2
101
+ specification_version: 3
99
102
  summary: Interface with ISO 7816 smart cards.
100
103
  test_files:
101
104
  - test/test_containers.rb