./devel/ruby-ffi, Loading dynamic libraries, binding functions within them

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 1.14.2, Package name: ruby26-ffi-1.14.2, 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:

SHA1: 95d2b5964ad619b9f84b3583b00ea3b344891da3
RMD160: abab8fb2e60a50acd3a049bc47a08c038957b6f0
Filesize: 887 KB

Version history: (Expand)


CVS history: (Expand)


   2021-01-10 15:49:36 by Takahiro Kambe | Files touched by this commit (3) | Package updated
Log message:
devel/ruby-ffi: update to 1.14.2

1.14.2 / 2020-12-21
-------------------

Fixed:
* Fix builtin libffi on newer Ubuntu caused by an outdated Makefile.in . #863

1.14.1 / 2020-12-19
-------------------

Changed:
* Revert changes to FFI::Pointer#write_string made in ffi-1.14.0.
  It breaks compatibilty in a way that can cause hard to find errors. #857

1.14.0 / 2020-12-18
-------------------

Added:
* Add types.conf for x86_64-msys, x86_64-haiku, aarch64-openbsd and \ 
aarch64-darwin (alias arm64-darwin)
* Add method AbstractMemory#size_limit? . #829
* Add new extconf option --enable-libffi-alloc which is enabled per default on \ 
Apple M1 (arm64-darwin).

Changed:
* Do NULL pointer check only when array length > 0 . #305
* Raise an error on an unknown order argument. #830
* Change FFI::Pointer#write_string to terminate with a NUL byte like other \ 
string methods. #805
* Update bundled libffi to latest master.

Removed:
* Remove win32/stdint.h and stdbool.h because of copyright issue.  #693

Fixed:
* Fix possible UTF-8 load error in loader script interpretation. #792
* Fix segfault on non-array argument to #write_array_of_*
* Fix memory leak in MethodHandle . #815
* Fix possible segfault in combination with fiddle or other libffi using gems . #835
* Fix possibility to use ffi ruby gem with JRuby-9.3 . #763
* Fix a GC issue, when a callback Proc is used on more than 2 callback \ 
signatures. #820
   2020-06-10 15:57:28 by Takahiro Kambe | Files touched by this commit (2) | Package updated
Log message:
devel/ruby-ffi: update to 1.13.1

Update ruby-ffi to 1.13.1.

1.13.1 / 2020-06-09
-------------------

Changed:
* Revert use of `ucrtbase.dll` as default C library on Windows-MINGW.
  `ucrtbase.dll` is still used on MSWIN target. #790
* Test for `ffi_prep_closure_loc()` to make sure we can use this function.
  This fixes incorrect use of system libffi on MacOS Mojave (10.14). #787
* Update types.conf on x86_64-dragonflybsd
   2020-06-07 08:48:12 by Takahiro Kambe | Files touched by this commit (3) | Package updated
Log message:
devel/ruby-ffi: update to 1.13.0.

Update ruby-ffi to 1.13.0.

1.13.0 / 2020-06-01
-------------------

Added:
* Add TruffleRuby support. Almost all specs are running on TruffleRuby and \ 
succeed. #768
* Add ruby source files to the java gem. This allows to ship the Ruby library \ 
code per platform java gem and add it as a default gem to JRuby. #763
* Add FFI::Platform::LONG_DOUBLE_SIZE
* Add bounds checks for writing to an inline char[] . #756
* Add long double as callback return value. #771
* Update type definitions and add types from stdint.h and stddef.h on \ 
i386-windows, x86_64-windows, x86_64-darwin, x86_64-linux, arm-linux, \ 
powerpc-linux. #749
* Add new type definitions for powerpc-openbsd and sparcv9-openbsd. #775, #778

Changed:
* Raise required ruby version to >= 2.3.
* Lots of cleanups and improvements in library, specs and benchmarks.
* Fix a lot of compiler warnings at the C-extension
* Fix several install issues on MacOS:
  * Look for libffi in SDK paths, since recent versions of macOS removed it from \ 
`/usr/include` . #757
  * Fix error `ld: library not found for -lgcc_s.10.4`
  * Don't built for i386 architecture as it is deprecated
* Several fixes for MSVC build on Windows. #779
* Use `ucrtbase.dll` as default C library on Windows instead of old \ 
`msvcrt.dll`. #779
* Update builtin libffi to fix a Powerpc issue with parameters of type long
* Allow unmodified sourcing of (the ruby code of) this gem in JRuby and \ 
TruffleRuby as a default gem. #747
* Improve check to detect if a module has a #find_type method suitable for FFI. \ 
This fixes compatibility with stdlib `mkmf` . #776

Removed:
* Reject callback with `:string` return type at definition, because it didn't \ 
work so far and is not save to use. #751, #782
   2020-03-08 17:42:31 by Benny Siegert | Files touched by this commit (67)
Log message:
Revbump packages depending on libffi after .so version change.

Requested by Matthias Ferdinand and Oskar on pkgsrc-users.
   2020-02-05 15:44:01 by Takahiro Kambe | Files touched by this commit (2) | Package updated
Log message:
devel/ruby-ffi: update to 1.12.2

Update ruby-ffi to 1.12.2.

1.12.2 / 2020-02-01
-------------------

* Fix possible segfault at FFI::Struct#[] and []= after GC.compact . #742
   2020-01-19 16:43:22 by Takahiro Kambe | Files touched by this commit (3) | Package updated
Log message:
devel/ruby-ffi: update to 1.12.1

Update ruby-ffi to 1.12.1.

1.12.1 / 2020-01-14
-------------------

Added:
* Add binary gem support for ruby-2.7 on Windows

1.12.0 / 2020-01-14
-------------------

Added:
* FFI::VERSION is defined as part of `require 'ffi'` now.
  It is no longer necessary to `require 'ffi/version'` .

Changed:
* Update libffi to latest master.

Deprecated:
* Overwriting struct layouts is now warned and will be disallowed in ffi-2.0. \ 
#734, #735

1.11.3 / 2019-11-25
-------------------

Removed:
* Remove support for tainted objects which cause deprecation warnings in \ 
ruby-2.7. #730

1.11.2 / 2019-11-11
-------------------

Added:
* Add DragonFlyBSD as a platform. #724

Changed:
* Sort all types.conf files, so that files and changes are easier to compare.
* Regenerated type conf for freebsd12 and x86_64-linux targets. #722
* Remove MACOSX_DEPLOYMENT_TARGET that was targeting very old version 10.4. #647
* Fix library name mangling for non glibc Linux/UNIX. #727
* Fix compiler warnings raised by ruby-2.7
* Update libffi to latest master.
   2019-10-30 15:05:23 by Takahiro Kambe | Files touched by this commit (3) | Package updated
Log message:
devel/ruby-ffi: update to 1.11.1

Update ruby-ffi to 1.11.1.

1.11.1 / 2019-05-20
-------------------

Changed:
* Raise required ruby version to >=2.0. #699, #700
* Fix a possible linker error on ruby < 2.3 on Linux.

1.11.0 / 2019-05-17
-------------------

Added:
* Add ability to disable or force use of system libffi. #669
  Use like `gem inst ffi -- --enable-system-libffi` .
* Add ability to call FFI callbacks from outside of FFI call frame. #584
* Add proper documentation to FFI::Generator and ::Task
* Add gemspec metadata. #696, #698

Changed:
* Fix stdcall on Win32. #649, #669
* Fix load paths for FFI::Generator::Task
* Fix FFI::Pointer#read_string(0) to return a binary String. #692
* Fix benchmark suite so that it runs on ruby-2.x
* Move FFI::Platform::CPU from C to Ruby. #663
* Move FFI::StructByReference to Ruby. #681
* Move FFI::DataConverter to Ruby (#661)
* Various cleanups and improvements of specs and benchmarks

Removed:
* Remove ruby-1.8 and 1.9 compatibility code. #683
* Remove unused spec files. #684
   2019-01-20 14:48:30 by Takahiro Kambe | Files touched by this commit (3) | Package updated
Log message:
devel/ruby-ffi: update to 1.10.0

1.10.0 / 2019-01-06
-------------------

Added:
* Add /opt/local/lib/ to ffi's fallback library search path. #638
* Add binary gem support for ruby-2.6 on Windows
* Add FreeBSD on AArch64 and ARM support. #644
* Add FFI::LastError.winapi_error on Windows native or Cygwin. #633

Changed:
* Update to rake-compiler-dock-0.7.0
* Use 64-bit inodes on FreeBSD >= 12. #644
* Switch time_t and suseconds_t types to long on FreeBSD. #627
* Make register_t long_long on 64-bit FreeBSD. #644
* Fix Pointer#write_array_of_type #637

Removed:
* Drop binary gem support for ruby-2.0 and 2.1 on Windows