summaryrefslogtreecommitdiff
path: root/ext/fiddle/fiddle.gemspec
blob: c3e6d48b89d32e65236a2e2f0b88d3a78916fd99 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# frozen_string_literal: true

source_version = ["", "ext/fiddle/"].find do |dir|
  begin
    break File.open(File.join(__dir__, "#{dir}lib/fiddle/version.rb")) {|f|
      f.gets("\n  VERSION = ")
      f.gets[/\s*"(.+)"/, 1]
    }
  rescue Errno::ENOENT
  end
end

Gem::Specification.new do |spec|
  spec.name          = "fiddle"
  spec.version       = source_version
  spec.authors       = ["Aaron Patterson", "SHIBATA Hiroshi"]
  spec.email         = ["aaron@tenderlovemaking.com", "hsbt@ruby-lang.org"]

  spec.summary       = %q{A libffi wrapper for Ruby.}
  spec.description   = %q{A libffi wrapper for Ruby.}
  spec.homepage      = "https://github.com/ruby/fiddle"
  spec.licenses      = ["Ruby", "BSD-2-Clause"]

  spec.files         = [
    "LICENSE.txt",
    "README.md",
    "Rakefile",
    "bin/downloader.rb",
    "bin/extlibs.rb",
    "ext/fiddle/closure.c",
    "ext/fiddle/closure.h",
    "ext/fiddle/conversions.c",
    "ext/fiddle/conversions.h",
    "ext/fiddle/depend",
    "ext/fiddle/extconf.rb",
    "ext/fiddle/extlibs",
    "ext/fiddle/fiddle.c",
    "ext/fiddle/fiddle.h",
    "ext/fiddle/function.c",
    "ext/fiddle/function.h",
    "ext/fiddle/handle.c",
    "ext/fiddle/pinned.c",
    "ext/fiddle/pointer.c",
    "ext/fiddle/win32/fficonfig.h",
    "ext/fiddle/win32/libffi-3.2.1-mswin.patch",
    "ext/fiddle/win32/libffi-config.rb",
    "ext/fiddle/win32/libffi.mk.tmpl",
    "fiddle.gemspec",
    "lib/fiddle.rb",
    "lib/fiddle/closure.rb",
    "lib/fiddle/cparser.rb",
    "lib/fiddle/function.rb",
    "lib/fiddle/import.rb",
    "lib/fiddle/pack.rb",
    "lib/fiddle/struct.rb",
    "lib/fiddle/types.rb",
    "lib/fiddle/value.rb",
    "lib/fiddle/version.rb",
  ]
  spec.require_paths = ["lib"]
  spec.extensions = ["ext/fiddle/extconf.rb"]

  spec.required_ruby_version = ">= 2.3.0"

  spec.add_development_dependency "bundler"
  spec.add_development_dependency "rake"
  spec.add_development_dependency "rake-compiler"

  # ruby head for mingw uses sub!:
  # https://github.com/MSP-Greg/ruby-loco/blob/master/patches/__operating_system.rb.patch
  spec.metadata["msys2_mingw_dependencies"] = +"libffi"
end