ffi-binary-libfixposix 0.5.1.0-x86_64-freebsd
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 +7 -0
- data/lib/libfixposix/binary/libfixposix.so +0 -0
- data/lib/libfixposix/binary/version.rb +21 -0
- data/lib/libfixposix/binary.rb +27 -0
- metadata +63 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 110d0868207fb26bbb22da3b6d979057284956e235b1a62243bafbaa20b28224
|
4
|
+
data.tar.gz: dd493ee03f94c1756f4141953a35c9b06771418577bf7c817d4ee582adb3814b
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 4607f0e73f6adeb652f5878ecf0c32ecc93f26bc7d121c649900174905eeb063b2fea88459593d2c2127ae3ba46fb76867ae0859aba669d822f16318085ac2ff
|
7
|
+
data.tar.gz: 30587a9e55192e559e7955cf8e16caf29952807d6d052bd43a8b9bef801cdbabee66776216e1c4a8380f391cdd263742107cf729a83970f3bffafc847f8806de
|
Binary file
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require 'ffi'
|
3
|
+
|
4
|
+
module LFP
|
5
|
+
module Binary
|
6
|
+
API_VERSION = "0.5.1" # the same as the binary, but hard coded
|
7
|
+
GEM_VERSION = "#{API_VERSION}.0"
|
8
|
+
NAME = if FFI::Platform.mac?
|
9
|
+
"libfixposix.dylib"
|
10
|
+
elsif FFI::Platform.windows?
|
11
|
+
raise "No Win32 libfixposix"
|
12
|
+
else # TODO: all .so?
|
13
|
+
"libfixposix.so"
|
14
|
+
end
|
15
|
+
PATH = if !File.exist?(File.join(__dir__, NAME))
|
16
|
+
File.join(__dir__, RbConfig.expand("$(target_cpu)-$(target_os)".dup), NAME)
|
17
|
+
else
|
18
|
+
File.join(__dir__, NAME)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require 'ffi'
|
3
|
+
require 'libfixposix/binary/version'
|
4
|
+
|
5
|
+
module LFP
|
6
|
+
module Binary
|
7
|
+
|
8
|
+
# TODO: we do depend on ffi-bindings, but they depend on us.
|
9
|
+
# make this one-off check class to avoid circular dependencies
|
10
|
+
module InternalLocalCheck
|
11
|
+
extend FFI::Library
|
12
|
+
ffi_lib(PATH)
|
13
|
+
class Buildinfo < FFI::Struct
|
14
|
+
layout :release, :uint64, # unsigned long int release;
|
15
|
+
:vcsid, [:uint8, 33] # char vcsid[32 + 1];
|
16
|
+
end
|
17
|
+
attach_function :buildinfo, :lfp_buildinfo, [Buildinfo.by_ref], :int32
|
18
|
+
end
|
19
|
+
InternalLocalCheck::Buildinfo.new.tap {|ptr|
|
20
|
+
InternalLocalCheck.buildinfo(ptr)
|
21
|
+
SO_VERSION = [ptr[:release]].pack("L").unpack("ccc").reverse.join(".")
|
22
|
+
}
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
# now configure
|
27
|
+
ENV["LIBFIXPOSIX_PATH"] = ((ENV["LIBFIXPOSIX_PATH"]&.split(";;") || []) + [LFP::Binary::PATH]).uniq.join(";;")
|
metadata
ADDED
@@ -0,0 +1,63 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: ffi-binary-libfixposix
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.5.1.0
|
5
|
+
platform: x86_64-freebsd
|
6
|
+
authors:
|
7
|
+
- Patrick Plenefisch
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2022-11-11 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: ffi
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.0'
|
27
|
+
description: Pre-built libfixposix binaries for use with ffi-bindings-libfixposix.
|
28
|
+
Part of the SubSpawn Project
|
29
|
+
email:
|
30
|
+
- simonpatp@gmail.com
|
31
|
+
executables: []
|
32
|
+
extensions: []
|
33
|
+
extra_rdoc_files: []
|
34
|
+
files:
|
35
|
+
- lib/libfixposix/binary.rb
|
36
|
+
- lib/libfixposix/binary/libfixposix.so
|
37
|
+
- lib/libfixposix/binary/version.rb
|
38
|
+
homepage: https://github.com/byteit101/subspawn
|
39
|
+
licenses: []
|
40
|
+
metadata:
|
41
|
+
homepage_uri: https://github.com/byteit101/subspawn
|
42
|
+
source_code_uri: https://github.com/byteit101/subspawn
|
43
|
+
changelog_uri: https://github.com/byteit101/subspawn
|
44
|
+
post_install_message:
|
45
|
+
rdoc_options: []
|
46
|
+
require_paths:
|
47
|
+
- lib
|
48
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
49
|
+
requirements:
|
50
|
+
- - ">="
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: 2.6.0
|
53
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
54
|
+
requirements:
|
55
|
+
- - ">="
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
version: '0'
|
58
|
+
requirements: []
|
59
|
+
rubygems_version: 3.0.3.1
|
60
|
+
signing_key:
|
61
|
+
specification_version: 4
|
62
|
+
summary: Pre-built libfixposix binaries
|
63
|
+
test_files: []
|