Add a gemspec and support loading ffi as a gem
This commit is contained in:
12
Rakefile
12
Rakefile
@@ -1,6 +1,12 @@
|
||||
require 'rake/testtask'
|
||||
|
||||
ROOT = File.dirname(__FILE__)
|
||||
|
||||
task :test do
|
||||
$:.unshift File.join(ROOT, "lib")
|
||||
$:.unshift File.join(ROOT, "test")
|
||||
Rake::TestTask.new do |t|
|
||||
t.verbose = true
|
||||
t.test_files = FileList["test/**/t_*.rb"]
|
||||
end
|
||||
|
||||
task :gem do
|
||||
sh "gem build netlinkrb.gemspec"
|
||||
end
|
||||
|
@@ -1,6 +1,12 @@
|
||||
require 'socket'
|
||||
require 'linux/constants'
|
||||
require 'ffi'
|
||||
|
||||
begin
|
||||
require 'ffi'
|
||||
rescue LoadError
|
||||
require('rubygems') ? retry : raise
|
||||
end
|
||||
|
||||
|
||||
# Good things about FFI::Struct:
|
||||
# - robust pre-existing code
|
||||
|
@@ -1,8 +1,13 @@
|
||||
# Patchup to add Socket#sendmsg and Socket#recvmsg for ruby 1.8
|
||||
|
||||
if BasicSocket.instance_methods.grep(/^sendmsg$/).empty?
|
||||
require 'ffi'
|
||||
begin
|
||||
require 'ffi'
|
||||
rescue LoadError
|
||||
require('rubygems') ? retry : raise
|
||||
end
|
||||
|
||||
|
||||
class BasicSocket
|
||||
module FFIExt
|
||||
extend FFI::Library
|
||||
|
17
netlinkrb.gemspec
Normal file
17
netlinkrb.gemspec
Normal file
@@ -0,0 +1,17 @@
|
||||
# encoding: utf-8
|
||||
|
||||
lib = File.expand_path("../lib", __FILE__)
|
||||
$:.unshift lib unless $:.include? lib
|
||||
|
||||
Gem::Specification.new do |s|
|
||||
s.name = "netlinkrb"
|
||||
s.version = "0.10"
|
||||
s.platform = Gem::Platform::RUBY
|
||||
s.authors = ["Brian Candler", "Patrick Cherry", "Alex Young"]
|
||||
s.email = ["matthew@bytemark.co.uk"]
|
||||
s.summary = "Interface to Linux' Netlink API"
|
||||
s.description = "Ruby native interface to the Netlink API which avoids shelling out to command-line tools as much as possible."
|
||||
s.files = Dir["{lib,examples}/**/*"] + %w{README}
|
||||
s.require_path = "lib"
|
||||
s.add_dependency "ffi"
|
||||
end
|
Reference in New Issue
Block a user