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 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
@@ -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: []