Path to this page:
./
devel/ruby-ffi,
Loading dynamic libraries, binding functions within them
Branch: CURRENT,
Version: 1.17.0,
Package name: ruby32-ffi-1.17.0,
Maintainer: pkgsrc-users== DESCRIPTION:
Ruby-FFI is a ruby extension for programmatically loading dynamic
libraries, binding functions within them, and calling those functions
from Ruby code. Moreover, a Ruby-FFI extension works without changes
on Ruby and JRuby.
Discover why should you write your next extension using Ruby-FFI
here[http://wiki.github.com/ffi/ffi/why-use-ffi].
== FEATURES/PROBLEMS:
* It has a very intuitive DSL
* It supports all C native types
* It supports C structs (also nested), enums and global variables
* It supports callbacks
* It has smart methods to handle memory management of pointers and structs
Required to run:[
devel/libffi] [
lang/ruby26-base]
Required to build:[
pkgtools/cwrappers]
Master sites:
Filesize: 985.5 KB
Version history: (Expand)
- (2024-06-08) Updated to version: ruby32-ffi-1.17.0
- (2023-11-11) Updated to version: ruby31-ffi-1.16.3
- (2023-02-09) Updated to version: ruby31-ffi-1.15.5
- (2022-02-12) Updated to version: ruby27-ffi-1.15.5
- (2021-12-08) Updated to version: ruby27-ffi-1.15.4nb1
- (2021-09-18) Updated to version: ruby27-ffi-1.15.4
CVS history: (Expand)
2023-11-11 13:09:58 by Takahiro Kambe | Files touched by this commit (3) | |
Log message:
devel/ruby-ffi: update to 1.16.3
1.16.0 (2023-09-23)
Fixed:
* Fix an issue with signed bitmasks when using flags on the most significant
bit. #949
* Fix FFI::Pointer#initialize using NUM2LL instead of NUM2ULL.
* Fix FFI::Type#inspect to properly display the constant name. #1002
* Use libffi closure allocations on hppa-Linux. #1017 Previously they would
segfault.
* Fix class name of Symbol#inspect.
* Fix MSVC support of libtest. #1028
* Fix attach_function of functions ending in ? or ! #971
Added:
* Convert all C-based classes to TypedData and use write barriers. #994,
#995, #996, #997, #998, #999, #1000, #1001, #1003, #1004, #1005, #1006,
#1007, #1008, #1009, #1010, #1011, #1012 This results in less pressure on
the garbage collector, since the objects can be promoted to the old
generation, which means they only get marked on major GC.
* Implement ObjectSpace.memsize_of() of all C-based classes.
* Make FFI Ractor compatible. #1023 Modules extended per extend FFI::Library
need to be frozen in order to be used by non-main Ractors. This can be
done by calling freeze below of all C interface definitions.
o In a Ractor it's possible to:
- load DLLs and call its functions, access its global variables
- use builtin typedefs
- use and modify ractor local typedefs
- define callbacks
- receive async callbacks from non-ruby threads
- use frozen FFI::Library based modules with all attributes (enums,
structs, typedefs, functions, callbacks)
- invoke frozen functions and callbacks defined in the main Ractor
- use FFI::Struct definitions from the main Ractor
o In a Ractor it's impossible to:
- create new FFI::Library based modules
- create new FFI::Struct definitions
- use custom global typedefs
- use non-frozen FFI::Library based modules
* Allow type retrieval of attached functions+variables. #1023
* Make FFI classes GC.compact friendly. #1021
* Update libffi and disable custom trampoline when using libffi closure
allocation. #1020 This is because libffi changed the way how closures are
allocated to static trampolines.
* Add types.conf for loongarch64-linux. #943
* Add types.conf for sw_64-linux (Shen Wei 64-bit, based on Alpha). #1018
* Add support for aarch64-windows. #1035
* Windows: Update LoadLibrary error message to include error code. #1026
* Allow private release method for FFI::ManagedStruct and
FFI::AutoPointer. #1029
* Add support for passing ABI version to FFI.map_library_name. #963 This
adds the new class FFI::LibraryPath .
* Add support for ruby-3.2 to windows binary gem. #1047
* Enable debug symbols for rake compile builds to ease debugging. #1048
Removed:
* Remove allocator of AbstractMemory. #1013 This disables
AbstractMemory.new, which has no practical use.
* Remove unused FFI::SizeTypes. #1022
1.16.1 (2023-09-24)
Fixed:
* Fix compiling the builtin libffi. #1049
1.16.2 (2023-09-25)
Fixed:
* Handle null pointer crash after fork. #1051
1.16.3 / 2023-10-04
Fixed:
* Fix gcc error when building on CentOS 7. #1052
* Avoid trying to store new DataConverter type in frozen TypeDefs
hash. #1057
|
2022-02-12 13:30:40 by Takahiro Kambe | Files touched by this commit (2) | |
Log message:
devel/ruby-ffi: update to 1.15.5
1.15.5 (2022-01-10)
Fixed:
* Fix long double argument or return values on 32bit i686. #849
* FFI::ConstGenerator: avoid usage of the same binary file simultaneously. #929
Added:
* Add Windows fat binary gem for Ruby-3.1
Removed:
* Remove Windows fat binary gem for Ruby < 2.4
|
2021-12-08 17:07:18 by Adam Ciarcinski | Files touched by this commit (3063) |
Log message:
revbump for icu and libffi
|
2021-10-26 12:20:11 by Nia Alarie | Files touched by this commit (3016) |
Log message:
archivers: Replace RMD160 checksums with BLAKE2s checksums
All checksums have been double-checked against existing RMD160 and
SHA512 hashes
Could not be committed due to merge conflict:
devel/py-traitlets/distinfo
The following distfiles were unfetchable (note: some may be only fetched
conditionally):
./devel/pvs/distinfo pvs-3.2-solaris.tgz
./devel/eclipse/distinfo eclipse-sourceBuild-srcIncluded-3.0.1.zip
|
2021-10-07 15:44:44 by Nia Alarie | Files touched by this commit (3017) |
Log message:
devel: Remove SHA1 hashes for distfiles
|
2021-09-18 17:18:46 by Takahiro Kambe | Files touched by this commit (2) | |
Log message:
devel/ruby-ffi: update to 1.15.4
1.15.4 / 2021-09-01
Fixed:
* Fix build for uClibc. #913
* Correct module lookup when including ffi-module gem. #912
Changed:
* Use ruby code of the ffi gem in JRuby-9.2.20+. #915
|
2021-08-12 17:05:44 by Takahiro Kambe | Files touched by this commit (2) | |
Log message:
devel/ruby-ffi: update to 1.15.3
1.15.3 / 2021-06-16
Fixed:
* Fix temporary packaging issue with libffi. #904
1.15.2 / 2021-06-16
Added:
* Add support for Windows MINGW-UCRT build. #903
* Add /opt/homebrew/lib/ to fallback search paths to improve homebrew
support. #880 #882
Changed:
* Regenerate types.conf for FreeBSD12 aarch64. #902
|
2021-05-29 10:32:13 by Takahiro Kambe | Files touched by this commit (2) | |
Log message:
devel/ruby-ffi: update to 1.15.1
1.15.1 (2021-05-22)
Fixed:
* Append -pthread to linker options. #893
* Use arm or aarch64 to identify Apple ARM CPU arch. #899
* Allow overriding gcc with the CC env var in const_generator.rb and
struct_generator.rb. #897
|