Your message dated Wed, 08 Dec 2021 06:48:40 +0100
with message-id <[email protected]>
and subject line Bug#996261: fixed in ruby-ffi 1.15.4+dfsg-1
has caused the Debian Bug report #996261,
regarding ruby-ffi: FTBFS on riscv64 due missing types.conf
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
996261: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=996261
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: ruby-ffi
Version: 1.12.2+dfsg-2
Severity: normal
Tags: ftbfs patch upstream
User: [email protected]
Usertags: riscv64  
Forwarded: 
https://github.com/ffi/ffi/commit/3a280f70a36b56239d149d6205d20933151a2af3

Hi,

ruby-ffi fails to build on riscv64 with the following testsuite error:

| Failures:
| 
|   1) Custom type definitions detects the correct type for size_t
|      Failure/Error:
|        expect do
|          Module.new do
|            extend FFI::Library
|            ffi_lib "c"
|            if FFI::Platform.windows?
|              # _read() is a function of msvcrt.dll
|              attach_function :_read, [:int, :pointer, :uint], :int
|            else
|              # read(2) is a standard UNIX function
|              attach_function :read, [:int, :pointer, :size_t], :ssize_t
| 
|        expected no Exception, got #<TypeError: unable to resolve type 
'size_t'> with backtrace:
|          # /<<PKGBUILDDIR>>/spec/ffi/typedef_spec.rb:86:in `block (4 levels) 
in <top (required)>'
|          # /<<PKGBUILDDIR>>/spec/ffi/typedef_spec.rb:78:in `initialize'
|          # /<<PKGBUILDDIR>>/spec/ffi/typedef_spec.rb:78:in `new'
|          # /<<PKGBUILDDIR>>/spec/ffi/typedef_spec.rb:78:in `block (3 levels) 
in <top (required)>'
|          # /<<PKGBUILDDIR>>/spec/ffi/typedef_spec.rb:77:in `block (2 levels) 
in <top (required)>'
|      # /<<PKGBUILDDIR>>/spec/ffi/typedef_spec.rb:77:in `block (2 levels) in 
<top (required)>'
| 
| Finished in 5.92 seconds (files took 29.09 seconds to load)
| 4851 examples, 1 failure
| 
| Failed examples:
| 
| rspec /<<PKGBUILDDIR>>/spec/ffi/typedef_spec.rb:76 # Custom type definitions 
detects the correct type for size_t
| 
| ERROR: Test "ruby2.7" failed. Exiting.
| dh_auto_install: error: dh_ruby --install 
/<<BUILDDIR>>/ruby-ffi-1.12.2\+dfsg/debian/ruby-ffi returned exit code 1
| make: *** [debian/rules:16: binary-arch] Error 25
| dpkg-buildpackage: error: debian/rules binary-arch subprocess returned exit 
status 2

A full build log is available there:
https://buildd.debian.org/status/fetch.php?pkg=ruby-ffi&arch=riscv64&ver=1.12.2%2Bdfsg-2&stamp=1634041393&raw=0

This is due to the types.conf file missing for the riscv64-linux
platform. This file has been recently added upstream, and I have tested
that the testsuite and the build is successful with it. You will find
attached the patch I used, would it be possible to include it in the
next upload?

Thanks,
Aurelien  
--- ruby-ffi-1.12.2+dfsg/debian/patches/add-types.conf-for-riscv64-linux.patch
+++ ruby-ffi-1.12.2+dfsg/debian/patches/add-types.conf-for-riscv64-linux.patch
@@ -0,0 +1,123 @@
+From 3a280f70a36b56239d149d6205d20933151a2af3 Mon Sep 17 00:00:00 2001
+From: Andreas Schwab <[email protected]>
+Date: Thu, 25 Feb 2021 12:17:32 +0100
+Subject: [PATCH] Add types.conf for riscv64-linux
+
+---
+ lib/ffi/platform/riscv64-linux/types.conf | 104 ++++++++++++++++++++++
+ 1 file changed, 104 insertions(+)
+ create mode 100644 lib/ffi/platform/riscv64-linux/types.conf
+
+diff --git a/lib/ffi/platform/riscv64-linux/types.conf 
b/lib/ffi/platform/riscv64-linux/types.conf
+new file mode 100644
+index 0000000..ede0f98
+--- /dev/null
++++ b/lib/ffi/platform/riscv64-linux/types.conf
+@@ -0,0 +1,104 @@
++rbx.platform.typedef.*__caddr_t = char
++rbx.platform.typedef.*__qaddr_t = long
++rbx.platform.typedef.__blkcnt64_t = long
++rbx.platform.typedef.__blkcnt_t = long
++rbx.platform.typedef.__blksize_t = int
++rbx.platform.typedef.__clock_t = long
++rbx.platform.typedef.__clockid_t = int
++rbx.platform.typedef.__daddr_t = int
++rbx.platform.typedef.__dev_t = ulong
++rbx.platform.typedef.__fd_mask = long
++rbx.platform.typedef.__fsblkcnt64_t = ulong
++rbx.platform.typedef.__fsblkcnt_t = ulong
++rbx.platform.typedef.__fsfilcnt64_t = ulong
++rbx.platform.typedef.__fsfilcnt_t = ulong
++rbx.platform.typedef.__fsword_t = long
++rbx.platform.typedef.__gid_t = uint
++rbx.platform.typedef.__id_t = uint
++rbx.platform.typedef.__ino64_t = ulong
++rbx.platform.typedef.__ino_t = ulong
++rbx.platform.typedef.__int16_t = short
++rbx.platform.typedef.__int32_t = int
++rbx.platform.typedef.__int64_t = long
++rbx.platform.typedef.__int8_t = char
++rbx.platform.typedef.__intptr_t = long
++rbx.platform.typedef.__key_t = int
++rbx.platform.typedef.__loff_t = long
++rbx.platform.typedef.__mode_t = uint
++rbx.platform.typedef.__nlink_t = uint
++rbx.platform.typedef.__off64_t = long
++rbx.platform.typedef.__off_t = long
++rbx.platform.typedef.__pid_t = int
++rbx.platform.typedef.__priority_which_t = int
++rbx.platform.typedef.__quad_t = long
++rbx.platform.typedef.__rlim64_t = ulong
++rbx.platform.typedef.__rlim_t = ulong
++rbx.platform.typedef.__rlimit_resource_t = int
++rbx.platform.typedef.__rusage_who_t = int
++rbx.platform.typedef.__sig_atomic_t = int
++rbx.platform.typedef.__socklen_t = uint
++rbx.platform.typedef.__ssize_t = long
++rbx.platform.typedef.__suseconds_t = long
++rbx.platform.typedef.__syscall_slong_t = long
++rbx.platform.typedef.__syscall_ulong_t = ulong
++rbx.platform.typedef.__time_t = long
++rbx.platform.typedef.__timer_t = pointer
++rbx.platform.typedef.__u_char = uchar
++rbx.platform.typedef.__u_int = uint
++rbx.platform.typedef.__u_long = ulong
++rbx.platform.typedef.__u_quad_t = ulong
++rbx.platform.typedef.__u_short = ushort
++rbx.platform.typedef.__uid_t = uint
++rbx.platform.typedef.__uint16_t = ushort
++rbx.platform.typedef.__uint32_t = uint
++rbx.platform.typedef.__uint64_t = ulong
++rbx.platform.typedef.__uint8_t = uchar
++rbx.platform.typedef.__useconds_t = uint
++rbx.platform.typedef.blkcnt_t = long
++rbx.platform.typedef.blksize_t = int
++rbx.platform.typedef.clock_t = long
++rbx.platform.typedef.clockid_t = int
++rbx.platform.typedef.daddr_t = int
++rbx.platform.typedef.dev_t = ulong
++rbx.platform.typedef.fd_mask = long
++rbx.platform.typedef.fsblkcnt_t = ulong
++rbx.platform.typedef.fsfilcnt_t = ulong
++rbx.platform.typedef.gid_t = uint
++rbx.platform.typedef.id_t = uint
++rbx.platform.typedef.ino_t = ulong
++rbx.platform.typedef.int16_t = short
++rbx.platform.typedef.int32_t = int
++rbx.platform.typedef.int64_t = long
++rbx.platform.typedef.int8_t = char
++rbx.platform.typedef.key_t = int
++rbx.platform.typedef.loff_t = long
++rbx.platform.typedef.mode_t = uint
++rbx.platform.typedef.nlink_t = uint
++rbx.platform.typedef.off_t = long
++rbx.platform.typedef.pid_t = int
++rbx.platform.typedef.pthread_key_t = uint
++rbx.platform.typedef.pthread_once_t = int
++rbx.platform.typedef.pthread_t = ulong
++rbx.platform.typedef.quad_t = long
++rbx.platform.typedef.register_t = long
++rbx.platform.typedef.rlim_t = ulong
++rbx.platform.typedef.sa_family_t = ushort
++rbx.platform.typedef.size_t = ulong
++rbx.platform.typedef.socklen_t = uint
++rbx.platform.typedef.ssize_t = long
++rbx.platform.typedef.suseconds_t = long
++rbx.platform.typedef.time_t = long
++rbx.platform.typedef.timer_t = pointer
++rbx.platform.typedef.u_char = uchar
++rbx.platform.typedef.u_int = uint
++rbx.platform.typedef.u_int16_t = ushort
++rbx.platform.typedef.u_int32_t = uint
++rbx.platform.typedef.u_int64_t = ulong
++rbx.platform.typedef.u_int8_t = uchar
++rbx.platform.typedef.u_long = ulong
++rbx.platform.typedef.u_quad_t = ulong
++rbx.platform.typedef.u_short = ushort
++rbx.platform.typedef.uid_t = uint
++rbx.platform.typedef.uint = uint
++rbx.platform.typedef.ulong = ulong
++rbx.platform.typedef.ushort = ushort
+-- 
+2.30.2
+
--- ruby-ffi-1.12.2+dfsg/debian/patches/series
+++ ruby-ffi-1.12.2+dfsg/debian/patches/series
@@ -1 +1,2 @@
 remove-git-in-gemspec.patch
+add-types.conf-for-riscv64-linux.patch

--- End Message ---
--- Begin Message ---
Source: ruby-fii
Source-Version: 1.15.4+dfsg-1
Done: Cédric Boutillier <[email protected]>

This bug has been fixed with the latest upload of ruby-ffi 1.15.4+dfsg-1.
Closing.

Regards, Daniel
-- 
Regards,
Daniel Leidert <[email protected]> | https://www.wgdd.de/
GPG-Key RSA4096 / BEED4DED5544A4C03E283DC74BCD0567C296D05D
GPG-Key ED25519 / BD3C132D8B3805D1808123AB7ACE00941E338C78

https://www.fiverr.com/dleidert
https://www.patreon.com/join/dleidert

Attachment: signature.asc
Description: This is a digitally signed message part


--- End Message ---
_______________________________________________
Pkg-ruby-extras-maintainers mailing list
[email protected]
https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/pkg-ruby-extras-maintainers

Reply via email to