Hi,
I'm trying to build Ruby 3.2.2 source code on Windows 10 using Visual Studio 2019. I downloaded the source code using link https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.2.tar.gz from https://www.ruby-lang.org/en/downloads/.
I'm following the steps mentioned in this (https://docs.ruby-lang.org/en/master/windows_md.html).
Following is the configuration that I'm executing from the Visual Studio 2019 Native x64 command prompt.
d:\...\ruby3.2.2> win32\configure --prefix=/usr/local --target=x64-mswin64 --disable-install-doc --with-opt-dir=C:\gitviews\opensource\vcpkg\installed\x64-windows\
I get the following error. How do I make sure these packages are of the correct version and compatible with Ruby 3.2.2?
-----------------------------------------------------------------------------------
...
compiling rubyw.rc
linking rubyw.exe
*** Following extensions are not compiled:
fiddle:
" Could not be configured. It will not be installed."
" D:/Ruby/ruby-3.2.2.tar/ruby-3.2.2/ext/fiddle/extconf.rb:73: missing libffi. Please install libffi or use --with-libffi-source-dir with libffi source location."
" Check ext/fiddle/mkmf.log for more details."
openssl:
" Could not be configured. It will not be installed."
" D:/Ruby/ruby-3.2.2.tar/ruby-3.2.2/ext/openssl/extconf.rb:101: OpenSSL library could not be found. You might want to use --with-openssl-dir=<dir> option to specify the prefix where OpenSSL is installed."
" Check ext/openssl/mkmf.log for more details."
psych:
" Could not be configured. It will not be installed."
" Check ext/psych/mkmf.log for more details."
readline:
" Could not be configured. It will not be installed."
" D:/Ruby/ruby-3.2.2.tar/ruby-3.2.2/ext/readline/extconf.rb:62: Neither readline nor libedit was found"
" Check ext/readline/mkmf.log for more details."
zlib:
" Could not be configured. It will not be installed."
" Check ext/zlib/mkmf.log for more details."
*** Fix the problems, then remove these directories and try again if you want.
...
-----------------------------------------------------------------------------------
I have already installed the required packages using the following command under C:\gitviews\opensource\vcpkg\
d:\...\ruby3.2.2>vcpkg --triplet x64-windows install openssl libffi libyaml zlib readline
-----------------------------------------------------------------------------------
...
openssl:x64-windows -> 3.1.4#1
zlib:x64-windows -> 1.3
The following packages will be built and installed:
readline:x64-windows -> 0#5
* readline-win32:x64-windows -> 5.0#8
Additional packages (*) will be modified to complete this operation.
Detecting compiler hash for triplet x64-windows...
Restored 0 package(s) from C:\Users\310220077\AppData\Local\vcpkg\archives in 808 us. Use --debug to see more details.
libffi:x64-windows is already installed
libyaml:x64-windows is already installed
openssl:x64-windows is already installed
zlib:x64-windows is already installed
Installing 1/2 readline-win32:x64-windows...
-----------------------------------------------------------------------------------
Regards,
Chandan
Andy Nutter-Upham, I just realized I didn't answer this exact question by
you in full details (I read the original message on the phone while being
quite busy with something a couple of weeks ago, and I somehow missed some
of intricacies of your question):
"If I missed the documentation and someone knows where it is, I'd love to
read it. I think though that since this is a wrapper library there is
instead reference to the underlying documentation (whose method names are a
bit different, and whose arguments are a bit different) and I find that
translation very challenging; especially since glimmer-dsl-libui is not yet
complete, so your run into ineffective keywords if you rely on the
underlying glimmer docs."
Glimmer DSL for LibUI actually does have full documentation for the Ruby
API:
https://github.com/AndyObtiva/glimmer-dsl-libui#supported-keywords
Someone asked me to add the documentation early on when the project was
new, and I added it to that person's satisfaction. I hope it's helpful to
you too.
By the way, I also do mention under the "Original API" section that you
could use the LibUI Go documentation as a reference:
https://pkg.go.dev/github.com/andlabs/ui
But, the most complete reference is the actual C headers:
https://github.com/andlabs/libui/blob/master/ui.h
And, the C headers are exposed as low-level FFI functions in Ruby as per
the Original API (but it's not recommended that you use these method
directly of course):
https://github.com/AndyObtiva/glimmer-dsl-libui#original-api
To give you an example of how the mapping from the C API to Ruby happens,
suppose we have this C function:
uiWindowSetTitle('My Application')
The word before the "Set" or "Get" operation is the control object (e.g.
window), and the word after it is the attribute (e.g. title).
So, the equivalent of that in the Glimmer GUI DSL:
window {
title 'My Application'
}
Basically, we are declaring a window control with one nested attribute of
title having the value 'My Application'
The C API is procedural and imperative whereas the Glimmer GUI DSL is
object-oriented and declarative, better mapping to the way we think of
concepts visually while looking at a screen given that you could nest
controls (widgets) within each other.
If you need further help, do not hesitate to ask further questions at the
Glimmer Gitter chat:
https://app.gitter.im/#/room/#AndyObtiva_glimmer:gitter.im
You shouldn't really get bogged down unless you are missing foundational
grounding in software engineering concepts relating to desktop development
in general, like MVC (Model View Controller). I've done GUI development
professionally in older technologies like Java Swing in the past, and by
comparison, Glimmer lets me leapfrog past productivity by 4x at least,
sometimes 10x or even more (and it's that much faster in productivity than
web development too, so it's great for building quick local apps or tools
that don't need the web as it's much simpler, demanding a tiny fraction of
web code only). But, it does assume you know MVC (Model View Controller)
very well, and it benefits from also knowing MVP (Model View Presenter).
Once you get the main ideas behind Glimmer, everything clicks, and things
like exact APIs or detailed documentation wouldn't matter much anymore
because the way you think with MVC/MVP is you start with the View layer
from a GUI mockup to support a specific user workflow, and you either use
native controls (like text and button, by looking them up in examples or
the docs mentioned above) or you invent your own custom controls (both
options are available in Glimmer DSL for LibUI). Of course, the native
controls are only as complete as what is implemented by the underlying
LibUI library. I know the authors of it are working on adding many new
features, like a Tree control, Table sorting listeners, and some other
missing features. They will all be added to Glimmer DSL for LibUI in due
time when they get released in C LibUI. But, that shouldn't stop someone
from learning the library and using whatever is available in it for now, or
at least mastering the current features until more features are added in
the future (especially given that you could always temporarily polyfill
missing features by building your own custom controls if really needed).
Cheers,
Andy Maleh
On Tue, Feb 14, 2023 at 9:27 PM grigoris charam <xargrigoris(a)gmail.com>
wrote:
> Stop reply all
>
> On Feb 15, 2023, at 03:05, Andy Maleh via ruby-talk <
> ruby-talk(a)ml.ruby-lang.org> wrote:
>
>
> The Glimmer Gitter Chat:
>
> https://app.gitter.im/#/room/#AndyObtiva_glimmer:gitter.im
>
> If you create any Glimmer related projects, libraries, or tools, you could
> alert of us of them in the Gitter Chat.
>
> And, you can open issues or pull requests on any of the Glimmer projects
> if needed:
> <glimmer.png>
> AndyObtiva/glimmer: DSL Framework consisting of a DSL Engine and a
> Data-Binding Library used in Glimmer DSL for SWT (JRuby Desktop Development
> GUI Framework), Glimmer DSL for Opal (Pure Ruby Web GUI), Glimmer DSL for
> LibUI (Prerequisite-Free Ruby Desktop Development GUI Library), Glimmer DSL
> for Tk (Ruby Tk Desktop Development GUI Library), Glimmer DSL for GTK
> (Ruby-GNOME Desktop Development GUI Library), Glimmer DSL for XML (& HTML),
> and Glimmer DSL for CSS <https://github.com/AndyObtiva/glimmer>
> github.com <https://github.com/AndyObtiva/glimmer>
> <https://github.com/AndyObtiva/glimmer>
>
>
> Andy Maleh
>
>
> LinkedIn: https://www.linkedin.com/in/andymaleh
> <https://www.linkedin.com/in/andymaleh>
> Blog: https://andymaleh.blogspot.com
> GitHub: https://github.com/AndyObtiva
> Twitter: https://www.twitter.com/AndyObtiva
>
> On Feb 14, 2023, at 7:51 PM, Fellipe Fingoli via ruby-talk <
> ruby-talk(a)ml.ruby-lang.org> wrote:
>
>
> really good content! I want to help to develop this ecosystem. Does
> anybody know where I can reach the community?
>
> Em ter., 7 de fev. de 2023 às 18:29, Andy Maleh via ruby-talk <
> ruby-talk(a)ml.ruby-lang.org> escreveu:
>
>> My RubyConf 2022 talk video on "Building Native GUI Apps in Ruby" using
>> the Fukuoka Award Winning Glimmer DSL for LibUI has just been released!
>>
>> https://youtu.be/1Bh4CnJqHyY
>>
>> Andy Maleh
>>
>> LinkedIn: https://www.linkedin.com/in/andymaleh
>> <https://www.linkedin.com/in/andymaleh>
>> Blog: http://andymaleh.blogspot.com
>> GitHub: http://www.github.com/AndyObtiva
>> Twitter: @AndyObtiva <https://twitter.com/AndyObtiva>
>>
>> ______________________________________________
>> ruby-talk mailing list -- ruby-talk(a)ml.ruby-lang.org
>> To unsubscribe send an email to ruby-talk-leave(a)ml.ruby-lang.org
>> ruby-talk info --
>> https://ml.ruby-lang.org/mailman3/postorius/lists/ruby-talk.ml.ruby-lang.or…
>
>
>
> --
> Fellipe Fingoli
> ______________________________________________
> ruby-talk mailing list -- ruby-talk(a)ml.ruby-lang.org
> To unsubscribe send an email to ruby-talk-leave(a)ml.ruby-lang.org
> ruby-talk info --
> https://ml.ruby-lang.org/mailman3/postorius/lists/ruby-talk.ml.ruby-lang.or…
>
> ______________________________________________
> ruby-talk mailing list -- ruby-talk(a)ml.ruby-lang.org
> To unsubscribe send an email to ruby-talk-leave(a)ml.ruby-lang.org
> ruby-talk info --
> https://ml.ruby-lang.org/mailman3/postorius/lists/ruby-talk.ml.ruby-lang.or…
>
>
--
Andy Maleh
LinkedIn: https://www.linkedin.com/in/andymaleh
<https://www.linkedin.com/in/andymaleh>
Blog: http://andymaleh.blogspot.com
GitHub: http://www.github.com/AndyObtiva
Twitter: @AndyObtiva <https://twitter.com/AndyObtiva>
This is another update on the road to the v1.0.0 release.
wxRuby3 is a cross-platform GUI library for Ruby, based on the mature wxWidgets GUI
toolkit for C++. It uses native widgets wherever possible, providing the correct look,
feel and behavior to GUI applications on Windows, OS X and Linux/GTK. wxRuby aims to
provide a comprehensive solution to developing professional-standard desktop
applications in Ruby.
wxRuby3 also provides extensive and complete reference documentation.
This release
- consistently provides Ruby-style enumerator methods where appropriate;
- enhances the documentation;
- extends the regression tests;
- adds wxFileCtrl
- adds Wx::DarkModeSettings, Wx::TaskBarButton and Wx::ThumbBarButton for WXMSW
- implements various other improvements and minor corrections.
If you are interested check this out:
Documentation: https://mcorino.github.io/wxRuby3/index.html
Github: https://github.com/mcorino/wxruby3
Rubygems: https://rubygems.org/gems/wxruby3
rodauth-oauth 1.4.0 has been released.
rodauth-oauth is a rack-compatible toolkit for building OAuth 2.0
authorization servers, as well as OpenID Authentication Providers.
rodauth-oauth
is certified <https://openid.net/certification/> for the following profiles
of the OpenID Connect™ protocol:
Basic OP, Implicit OP, Hybrid OP, Config OP, Dynamic OP, Form Post OP, 3rd
Party Init OP
Session Management OP, RP-Initiated Logout OP, Front-Channel OP,
Back-Channel OP
# as simple as
rodauth do
enable :oauth_authorization_code_grant
# or
enable :oidc
end
Among its features, it supports:
* Authorization Code Grant
* Refresh Token Grant
* Implicit Grant
* Client Credentials Grant
* Device Code Grant
* Token Revocation
* Token Introspection
* Auth Server Metadata
* PKCE
* Resource Indicators
* JWT Access Tokens
* mTLS Client Authentication
* Assertion Framework
* SAML 2.0 Bearer Assertion Grant
* JWT Bearer Assertion Grant
* JWT Secured authorization requests (JAR)
* JWT Secured authorization response mode (JARM)
* Pushed Authorization requests
* Dynamic Client Registration
* OpenID
* OpenID Discovery
* OpenID Multiple Response types
* OpenID Self Issued Tokens
* OpenID Connect Dynamic Client Registration
* OpenID Session Management
* OpenID RP Initiated Logout
* OpenID Frontchannel Logout
* OpenID Backchannel Logout
It can also be used with Rails (via the "rodauth-rails" gem).
Website: https://honeyryderchuck.gitlab.io/rodauth-oauth/
Documentation: https://honeyryderchuck.gitlab.io/rodauth-oauth/rdoc/
Wiki: https://gitlab.com/honeyryderchuck/rodauth-oauth/wikis/home
CI: https://gitlab.com/honeyryderchuck/rodauth-oauth/pipeline
These are the release notes since the last update:
## 1.4.0 (08/11/2023)
## Highlights
rodauth-oauth is now [OpenID
certified](https://openid.net/certification/) for the following logout
profiles:
* Session Management OP
* RP-Initiated Logout OP
* Front-Channel Logout OP
* Back-Channel Logout OP
The OIDC server used to run the test can be found
[here](https://gitlab.com/os85/rodauth-oauth/-/blob/master/examples/oidc/aut…
and deployed [here](https://rodauth-oauth-oidc.onrender.com).
## Features
### OIDC logout features
`rodauth-oauth` ships with the following new features:
* `oidc_sesssion_management` - enables [OIDC session
management](https://openid.net/specs/openid-connect-session-1_0.html)
* `oidc_frontchannel_logout` - enables [OIDC frontchannel
logout](https://openid.net/specs/openid-connect-frontchannel-1_0.html)
* `oidc_backchannel_logout` - enables [OIDC backchannel
logout](https://openid.net/specs/openid-connect-backchannel-1_0.html)
which, along with the existing `oidc_rp_initiated_logout`, implemment
all OIDC logout profiles.
## Breaking changes
If you're using `oidc`, the dependency on `account_expiration` has
been replaced by the `active_sessions` rodauth feature. This change is
required because it fixes bugs associated with accounts expiring in
order for id token invalidation to work.
If you're migrating, it's recommended that you keep depending on
`account_expiration` during the transition, add `active_sessions`
tables as per [rodauth
specs](https://github.com/jeremyevans/rodauth/blob/master/spec/migrate/001_…,
and run them alongside one another for the max period ID tokens should
be valid, after which you can remove `account_expiration` and its
tables.
## Improvements
### OAuth SAML Bearer Grant per oauth application settings
The `oauth_saml_bearer_grant` feature requires a new table/resource,
SAML settings, which enable "per client applicatioon" SAML settings,
and therefore, make this feature usable in enterprise/multi-tenancy
scenarios.
## Bugfixes
* remove `html_safe` usage in rails views to prevent XSS in the authorize form.
* fixed for OIDC RFC 5.4 when requesting claims using scope values
* `oauth_rp_initiated_logout` does not crash anymore on logout
requests with `id_token_hint`
* `oauth_rp_initiated_logout` now works with response types other than `code`
* `oauth_rp_initiated_logout` emits an ID token hint invalid message
when not able to decode the `id_token_hint`
## Chore
* Using `auth_methods` everywhere where `auth_value_methods` was used
and didn't make sense.
* `oauth_tls_client_auth` is not dependent on the `oauth_jwt` feature,
and can therefore be used with non-JWT access tokens, at least with
the features which do not require it.
### 1.3.2 (27/07/2023)
#### Improvements
* `require_signed_request_object` option for JAR
(`oauth_jwt_secured_authorization_request` plugin) is now supported:
* in the oauth server metadata endpoint
* as a plugin config option (`oauth_require_signed_request_object`,
defaults to `false`)
* as a oauth dynamic registration endpoint param
(`require_signed_request_object`, requires corresponding columnn)
* enforces JAR-based authorization, andd does not allow unsigned JAR
JWTs, when turned on.
#### Bugfixes
* JWT decoding failed in circumstances where a declared encryption
algo didn't have key/method declared.
* fix for when PAR (`oauth_pushed_authorization_request` feature) is
used with JAR (`oauth_jwt_secured_authorization_request` plugin), and
PAR `request_uri` param wasn't being removed when validating authorize
request parameters, thereby making JAR logic evaluate it as a JAR
`requuest_uri` (it is now correctly not taken into account in such a
case);
### 1.3.1 (27/06/2023)
#### Bugfixes
* Set 401 error response when `client_id` parameter is invalid, or
from an unexisting client application, instead of failing with a 500
(@igor-alexandrov).
* update rails authorize form to use roda request params instead, as
plain params was breaking JAR and PAR-based authorize forms in rails
applications.
#### Chore
* set `:padding` to `false` in `Base64.urlsafe_encode64` calls (@felipe.zavan)
minitest-debugger version 1.1.0 has been released!
* home: <https://github.com/seattlerb/minitest-debugger>
* rdoc: <http://docs.seattlerb.org/minitest-debugger>
This is a stupid simple example of how easy it is to make a minitest
plugin that does something useful. In this case it wraps assert so
that failed assertions will drop into the ruby debugger.
Changes:
### 1.1.0 / 2023-11-07
* 2 minor enhancements:
* Declare dependency on debug v1.7+
* Fix minitest-debug to work with modern debug gem.
The JRuby community is pleased to announce the release of JRuby 9.4.5.0.
- Homepage: https://www.jruby.org/
- Download: https://www.jruby.org/download
JRuby 9.4.x targets Ruby 3.1 compatibility.
Thank you to our contributors this release, you help keep JRuby moving
forward! @ahorek, @jcharaoui, @kares
Ruby Compatibility
- The experimental Fiber::Scheduler and IO::Buffer APIs are now
supported, based on the Ruby 3.3 implementation. Pass
-Xexperimental.fiber.scheduler to JRuby to enable. #7944
For information on Fiber::Scheduler, see
https://docs.ruby-lang.org/en/3.2/Fiber/Scheduler.html.
For information on IO::Buffer, see
https://docs.ruby-lang.org/en/3.2/IO/Buffer.html.
20 Github Issues resolved for 9.4.5.0
#6346 TCPSocket hangs when RST is received on Windows
#7944 Support for fiber scheduler API
#7961 Socket.each loops after receiving RST pegging CPU at 100%
#7967 Propagate read errors in IO backend
#7968 RbConfig::CONFIG[“SOEXT”] is missing on JRuby
#7969 add RbConfig::CONFIG[“SOEXT”]
#7970 Hide FilenoUtil warning behind native.verbose property
#7971 Bootstrap cleanup
#7972 Update strscan to 3.0.7
#7975 Fix ENOENT with TestProcessSpawn on Debian
#7976 .delete_if blocks allow deleting same object from array twich
#7978 Less Load{Frame,Implicit}ClosureInstr
#7979 Process stuck with 100% cpu when using jruby 9.4.4.0
#7980 Fix length handling in select!/reject! ensure
#7982 Error using ActiveSupport::Testing::TestHelpers (7.1.1) on
jruby-9.4.4.0
#7983 Build, test failures when build directory contains special
characters
#7984 Remove unnecessary cast of kwargs
#7985 Make sure gems path is regex-safe
#7990 [fix] infinite loop calling Java super from Ruby
#7993 Preserve insertion order for ivars
--
blog: http://blog.enebo.com twitter: tom_enebo
mail: tom.enebo(a)gmail.com
The JRuby community is pleased to announce the release of JRuby 9.3.13.0
- Homepage: https://www.jruby.org/
- Download: https://www.jruby.org/download
JRuby 9.3.x is compatible with Ruby 2.6.x and stays in sync with C Ruby. As
always there is a mix of miscellaneous fixes so be sure to read the issue
list below.
Note: Due to a mistake in the release process 9.3.12.0 released yesterday
only changed in version number. It was essentially 9.3.11.0 with a new
version.
JRuby 9.3.13.0 has been released with just a handful of bug fixes this time.
We are ramping down maintenance of 9.3 in preparation for EOL at the end of
this year. Let us know what we can do to get you on JRuby 9.4 today!
3 Github Issues resolved for 9.3.13.0
#7951 backport: fnmatch not matching glob syntax
#7991 [fix] infinite loop calling Java super from Ruby (#7990)
#7994 Propagate read errors in IO backend
--
blog: http://blog.enebo.com twitter: tom_enebo
mail: tom.enebo(a)gmail.com
The JRuby community is pleased to announce the release of JRuby 9.3.12.0
- Homepage: https://www.jruby.org/
- Download: https://www.jruby.org/download
JRuby 9.3.x is compatible with Ruby 2.6.x and stays in sync with C Ruby. As
always there is a mix of miscellaneous fixes so be sure to read the issue
list below.
JRuby 9.3.12 has been released with just a handful of bug fixes this time.
We are ramping down maintenance of 9.3 in preparation for EOL at the end of
this year. Let us know what we can do to get you on JRuby 9.4 today!
3 Github Issues resolved for 9.3.12.0
#7951 backport: fnmatch not matching glob syntax
#7991 [fix] infinite loop calling Java super from Ruby (#7990)
#7994 Propagate read errors in IO backend
--
blog: http://blog.enebo.com twitter: tom_enebo
mail: tom.enebo(a)gmail.com