ffi-binary-libfixposix 0.5.1.0-java

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: 79b0de3010815faa260009199fa2311c3ae206d1986f1ea5a531eab03c2bcd4a
4
+ data.tar.gz: f85e05958b0b6d3993741e4fb5bea193d1babb85a290296a01f870f8b9fd0ca5
5
+ SHA512:
6
+ metadata.gz: 18b39e8d04071ab4cd63bf7fa70638a5fb20be1e079d0f6508e505aa6e9f9a616372cfb9bb0a5839a34acf0ec45031fc13a33c0c7db9470d6b6244a964ff3f57
7
+ data.tar.gz: f69db78556c3d926f1ec725c8bf638f8b1dc9221c43f8a80763d8c434290a3e34fc7b52dca6b42bab34f77e301fb5f2313b50f80f76f24a73e07095fb531f5d5
@@ -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,71 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ffi-binary-libfixposix
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.5.1.0
5
+ platform: java
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/arm64-darwin/libfixposix.dylib
37
+ - lib/libfixposix/binary/arm64-linux/libfixposix.so
38
+ - lib/libfixposix/binary/armv6-linux/libfixposix.so
39
+ - lib/libfixposix/binary/armv7-linux/libfixposix.so
40
+ - lib/libfixposix/binary/version.rb
41
+ - lib/libfixposix/binary/x86-freebsd/libfixposix.so
42
+ - lib/libfixposix/binary/x86-linux/libfixposix.so
43
+ - lib/libfixposix/binary/x86_64-darwin/libfixposix.dylib
44
+ - lib/libfixposix/binary/x86_64-freebsd/libfixposix.so
45
+ - lib/libfixposix/binary/x86_64-linux/libfixposix.so
46
+ homepage: https://github.com/byteit101/subspawn
47
+ licenses: []
48
+ metadata:
49
+ homepage_uri: https://github.com/byteit101/subspawn
50
+ source_code_uri: https://github.com/byteit101/subspawn
51
+ changelog_uri: https://github.com/byteit101/subspawn
52
+ post_install_message:
53
+ rdoc_options: []
54
+ require_paths:
55
+ - lib
56
+ required_ruby_version: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: 2.6.0
61
+ required_rubygems_version: !ruby/object:Gem::Requirement
62
+ requirements:
63
+ - - ">="
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
66
+ requirements: []
67
+ rubygems_version: 3.0.3.1
68
+ signing_key:
69
+ specification_version: 4
70
+ summary: Pre-built libfixposix binaries
71
+ test_files: []