newt 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cfea6e7753c0686afc0a58ad7f83c8a3e0c364ef7eeeb92e1073106d74b82286
4
- data.tar.gz: ace1bcde9cc75ea4bd3183b671acea3a2cc2f89062d709195f99665b978e0e01
3
+ metadata.gz: 5359a4863477fd0ef9301a39de7f52eec456a006e55c12fe8dbab231f0e46eb4
4
+ data.tar.gz: 563df08ba0b46e638a855a6ce62f17360e054125bd886086294d0ceb05e2f4b7
5
5
  SHA512:
6
- metadata.gz: 29641680f8695cc982d04735eeb7b02ebbdeca99e1c54972868ac5f6bcd5b328ffba84478611459b99e38f2677f71a0254185a89f0326e6692fbecd148b4d359
7
- data.tar.gz: 7e3436704b5649ca1c67f8e81077c51c08760f46cd8fc196e3f412a48bbf68c38bf6e7c9e67582282a6670a1fc466d3a74b39d8f76d806899c830fc765bbcb73
6
+ metadata.gz: bab12bfb6e2bfd73116c94fe7489bee4063351092f900e91648fbb3ec85d128ba67b137d0fc143a725ca2b77633fe25b16918392bd08cab9edee2118c362c8b4
7
+ data.tar.gz: 5950e44aa2201eaff12e0d3725f0ff9f573cd2f3bf829068c660e304544052f17f55695efb731d6d042a63ad99d297f573ac7081d41089819fde4b539a5611d9
@@ -1,11 +1,9 @@
1
1
  require 'mkmf'
2
2
 
3
- dir_config('slang')
4
- dir_config('newt')
5
-
6
- have_library('slang', 'SLsmg_refresh')
7
- have_library('newt', 'newtInit')
3
+ pkg_config('slang')
4
+ pkg_config('libnewt')
8
5
 
9
6
  append_cflags(ENV['CFLAGS'])
10
7
  append_ldflags(ENV['LDFLAGS'])
8
+
11
9
  create_makefile('ruby_newt/ruby_newt')
@@ -38,10 +38,10 @@ static struct newtColors newtColors;
38
38
  #define IVAR_DATA (rb_intern("newt_ivar_data"))
39
39
  #define IVAR_COLS (rb_intern("newt_ivar_cols"))
40
40
  #define IVAR_ROWS (rb_intern("newt_ivar_rows"))
41
- #define IVAR_FILTER_CALLBACK (rb_intern("newt_ivar_filter_callback"))
42
41
  #define CVAR_SUSPEND_CALLBACK (rb_intern("newt_cvar_suspend_callback"))
43
42
  #define CVAR_HELP_CALLBACK (rb_intern("newt_cvar_help_callback"))
44
- #define CVAR_WIDGET_CALLBACK (rb_intern("newt_cvar_widget_callback"))
43
+ #define IVAR_FILTER_CALLBACK (rb_intern("newt_ivar_filter_callback"))
44
+ #define IVAR_WIDGET_CALLBACK (rb_intern("newt_ivar_widget_callback"))
45
45
 
46
46
  #define ARG_ERROR(given, expected) \
47
47
  rb_raise(rb_eArgError, "wrong number of arguments (given %d, expected %s)", \
@@ -121,6 +121,13 @@ static inline Widget_data *widget_data_get(VALUE self)
121
121
  return data;
122
122
  }
123
123
 
124
+ NORETURN(static VALUE newt_s_alloc(VALUE klass));
125
+ static VALUE newt_s_alloc(VALUE klass)
126
+ {
127
+ rb_raise(rb_eTypeError, "allocator undefined for %"PRIsVALUE, klass);
128
+ UNREACHABLE_RETURN(Qnil);
129
+ }
130
+
124
131
  static void free_widget(void *ptr)
125
132
  {
126
133
  Widget_data *data = (Widget_data *) ptr;
@@ -697,7 +704,7 @@ static VALUE rb_ext_Widget_callback(int argc, VALUE *argv, VALUE self)
697
704
  Get_newtComponent(self, co);
698
705
  cb = rb_struct_new(rb_ext_sCallback, self, rb_binding_new(), argv[0], data, NULL);
699
706
  rb_obj_freeze(cb);
700
- rb_cvar_set(self, CVAR_WIDGET_CALLBACK, cb);
707
+ rb_ivar_set(self, IVAR_WIDGET_CALLBACK, cb);
701
708
  newtComponentAddCallback(co, rb_ext_Widget_callback_function, (void *) cb);
702
709
  return Qnil;
703
710
  }
@@ -1774,6 +1781,7 @@ void Init_ruby_newt(){
1774
1781
  rb_define_module_function(mNewt, "reflow_text", rb_ext_ReflowText, 4);
1775
1782
 
1776
1783
  mScreen = rb_define_class_under(mNewt, "Screen", rb_cObject);
1784
+ rb_define_alloc_func(mScreen, newt_s_alloc);
1777
1785
  rb_define_module_function(mScreen, "init", rb_ext_Screen_Init, 0);
1778
1786
  rb_define_module_function(mScreen, "new", rb_ext_Screen_new, 0);
1779
1787
  rb_define_module_function(mScreen, "cls", rb_ext_Screen_Cls, 0);
@@ -1806,6 +1814,7 @@ void Init_ruby_newt(){
1806
1814
  rb_ext_sCallback = rb_struct_define("NewtCallback", "widget", "context", "callback", "data", NULL);
1807
1815
 
1808
1816
  cWidget = rb_define_class_under(mNewt, "Widget", rb_cObject);
1817
+ rb_define_alloc_func(cWidget, newt_s_alloc);
1809
1818
  rb_define_method(cWidget, "callback", rb_ext_Widget_callback, -1);
1810
1819
  rb_define_method(cWidget, "takes_focus", rb_ext_Widget_takesFocus, 1);
1811
1820
  rb_define_method(cWidget, "get_position", rb_ext_Widget_GetPosition, 0);
@@ -1895,6 +1904,7 @@ void Init_ruby_newt(){
1895
1904
  rb_define_method(cForm, "watch_fd", rb_ext_Form_WatchFd, 2);
1896
1905
 
1897
1906
  cExitStruct = rb_define_class_under(cForm, "ExitStruct", rb_cObject);
1907
+ rb_define_alloc_func(cExitStruct, newt_s_alloc);
1898
1908
  rb_define_private_method(rb_singleton_class(cExitStruct), "new", NULL, 0);
1899
1909
  rb_define_method(cExitStruct, "reason", rb_ext_ExitStruct_reason, 0);
1900
1910
  rb_define_method(cExitStruct, "watch", rb_ext_ExitStruct_watch, 0);
data/lib/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Newt
2
- VERSION = '1.0.0'
2
+ VERSION = '1.0.1'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: newt
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Noritsugu Nakamura
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2022-03-02 00:00:00.000000000 Z
14
+ date: 2024-05-23 00:00:00.000000000 Z
15
15
  dependencies: []
16
16
  description: Ruby bindings for newt TUI library
17
17
  email: foreman-dev@googlegroups.com
@@ -83,7 +83,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
83
83
  - !ruby/object:Gem::Version
84
84
  version: '0'
85
85
  requirements: []
86
- rubygems_version: 3.1.6
86
+ rubygems_version: 3.5.9
87
87
  signing_key:
88
88
  specification_version: 4
89
89
  summary: Ruby bindings for newt