unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
From: David Pirotte <david@altosw.be>
To: guile-user <guile-user@gnu.org>, guile-devel <guile-devel@gnu.org>
Subject: GNU G-Golf 0.8.0-rc6 available for testing
Date: Tue, 17 Sep 2024 23:49:12 -0300	[thread overview]
Message-ID: <20240917234912.1aadc596@tintin> (raw)

[-- Attachment #1: Type: text/plain, Size: 5446 bytes --]

Hello Guilers,

The sixth release candidate of the upcoming GNU G-Golf 0.8.0 release is
now available for testing:


* Tarball and a GPG detached signature [*]:

	http://ftp.gnu.org/gnu/g-golf/g-golf-0.8.0-rc6.tar.gz
	http://ftp.gnu.org/gnu/g-golf/g-golf-0.8.0-rc6.tar.gz.sig


* Install

Dependencies and complete installation instructions are given in the
distributed INSTALL file, or here:

	https://www.gnu.org/software/g-golf/install.html


* Noteworthy changes in 0.8.0-rc6

Here is a summary of the noteworthy changes in this release, also
available in NEWS file and on the G-Golf website.


** New interfaces

*** New (g-golf support color) module

A color management module has been added. Documented under the Support
Canyon -> Color Hollow section.

*** Adding derived class custom layout-manager support

Derived class now support a #:layout-manager define-class option.

*** nil

Users need a way to inform g-golf to not process some callback ffi 'out
argument(s) (which can't be by using #f, as this mught be a valid ffi
'out arg value). To solve this, g-golf now defines a global nil variable
(defined as 'nil). See the newly added layout manager demo for a
concrete example of such a need and usage.

** Examples

*** Gtk-4 - Layout Manager

The upstream gtk4-demo layout-manager (transition) example has been
ported to g-golf.

*** Adwaita Demo

The following Adwaita Demo pages have been added:

  AdwDemoPageButtons
  AdwDemoPageToasts
  AdwDemoPageBanners
  AdwDemoPageAbout

** Bug fixing

*** <vfunc>

<vfunc> instances must hold a reference to the <closure-callback>
instance (not the <callback> instance).

*** next-vfunc

Fixed to retreive the vfunc pointer offset from one of the
class-direct-supers, recursively if needed, then grab and unlesss NULL,
call the immediate direct super vfunc.

*** g-golf-vfunc-closure

Enhanced to accept and (use if passed) an optional argument,
vfunc-long-name, as vfunc callback instances must be cached against
their long name, i.e. gdk-paintable-get-flags, gdk-paintable-snapshot
... (not get-flags, snapshot ...).

*** g-callable-info-make-closure

When calling g-callable-info-create-closure (fixed to work with the new
libffi api), we also need to call (and return the result of)
g-callable-info-get-closure-native-address, as the native-ptr.

*** ffi 'out arg values

scm->gi-argument has been enhanced to properly ignore ffi 'out args for
which the value is nil.

scm->gi-argument has been fixed, when that applies, to properly set the
(dereferenced) foreign (ffi 'out arg) pointer to its value.

*** g-object-import-with-supers

For some still misterious reason, when automatically importing an object
dependency, such as, for example, importing GtkApplication will trigger
the import of (among many others ofc) the GtkLayoutManager, unless we
call g-base-info-ref upon the info, those info maybe gc'ed.

Although this should actually never happen, as g-golf doesn't unref any
GIObjectInfo instances (but it did 'misteriously' happen), to be on the
safe side of things, g-golf (core) now calls g-base-info-ref upon the
result of calling g-object-info-get-parent.

* You can help

1. Testing by installing from the tarball, or from the source if you
   prefer, on the distro of your choice.

2. By running the distributed examples.

Ultimately, one of the best way to test, and participate, is to select
G-Golf to develop the next application of your dream! Here is an
overview of the GNOME platform libraries [1], accessible using G-Golf.
In particular, libadwaita [2] provides a number of widgets that change
their layout based on the available space. This can be used to make
applications adapt their UI between desktop and mobile devices (as shown
in the G-Golf port of the "Adwaita demo").


* Contact

Consider joining us on irc [3], where you may ask for help or report a
problem [4].

However, if you prefer:

	G-Golf uses the guile-user@gnu.org mailing list
	Report bugs to bug-g-golf@gnu.org


Thanks!
David


[*] Use a .sig file to verify that the corresponding file (without the
    .sig suffix) is intact.  First, be sure to download both the .sig
    file and the corresponding tarball.  Then, run a command like this:

	gpg --verify g-golf-0.8.0-rc6.tar.gz

    If that command fails because you don't have the required public
    key, then run this command to import it:

	gpg --keyserver keys.gnupg.net --recv-keys A3057AD7

    and rerun the 'gpg --verify' command


[1] https://developer.gnome.org/documentation/introduction/overview/libraries.html
[2] https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/
[3] https://www.gnu.org/software/g-golf/contact.html
[4] When reporting a problem, or if you think you found a bug, it is
very important that you prepare a minimal reproducible example (MRE),
sometimes also referred to as a short self-contained correct example
(SSCCE)

	http://www.sscce.org/
	https://en.wikipedia.org/wiki/Minimal_reproducible_example

Also, on irc, we chat :), so please do not write code snipsets directly
in the channel, unless 2 or 3 lines of code, nor (long/huge) error
messages of course - for more then 2 or 3 lines of code, or error
messages, always use a tor-friendly paste service (avoid those that
track its visitors and require javascript, thanks!).

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

             reply	other threads:[~2024-09-18  2:49 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-18  2:49 David Pirotte [this message]
2024-09-18 22:39 ` GNU G-Golf 0.8.0-rc6 available for testing David Pirotte

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240917234912.1aadc596@tintin \
    --to=david@altosw.be \
    --cc=guile-devel@gnu.org \
    --cc=guile-user@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).