Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vala updates 2021-12-02 #148372

Merged
merged 10 commits into from
Dec 3, 2021
Merged

Vala updates 2021-12-02 #148372

merged 10 commits into from
Dec 3, 2021

Conversation

bobby285271
Copy link
Member

@bobby285271 bobby285271 commented Dec 3, 2021

Motivation for this change

Bump vala 0.48 and 0.52, remove EOL version, revisit packages that are not building with latest vala.

Things done
  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Fits CONTRIBUTING.md.

@bobby285271
Copy link
Member Author

bobby285271 commented Dec 3, 2021

Vala 0.52.8

b059d72: vala_0_52: 0.52.7 → 0.52.8
https://ftp.gnome.org/pub/GNOME/sources/vala/0.52/vala-0.52.8.news
https://gitlab.gnome.org/GNOME/vala/-/compare/0.52.7...0.52.8

Various improvements and bug fixes:

  • codegen:
    • Use CCodeConstant for member access of constant symbol
    • Add and use CCodeConstantIdentifier for accessing constants
    • Check required length of enum type name for GType support
    • Add missing check while overriding virtual async interface methods [#852]
    • Drop inconsistent space for ObjectType parameters
    • Accept CCode.type attribute on parameters [#876]
    • Fix CCodeUnaryExpression.write() for PREFIX_INCREMENT/PREFIX_DECREMENT
  • vala:
    • Improve error message for invalid handler of dynamic signal
    • Using SignalHandler.disconnect() is required for dynamic signals
    • Check for unavailable value-type of variable initializer [#1253]
    • Add [Profile] as known attribute for methods
    • Report error on missing gio-2.0 package for async constructors
    • Fix signals with generic return
    • parser: Split out Parser.parse_switch_section_statement()
    • parser: Better handling of misplaced switch sections [#1246]
  • genie:
    • Amend text of indent and dedent for error messages [#497]
    • Accept INTERR token before type arguments when parsing type [#1245]
    • Properly handle plain "get" or "set" property accessors [#1248]
    • "exception" is the expected string for TokenType.ERRORDOMAIN
    • Accept accessibility/async modifiers on "construct" creation methods [#1235]
  • girparser: Accept "sealed" for transformed records and compact classes
  • gtkmodule: Improve error message for invalid signal element in ui-file
  • tests: Rename colliding test cases to avoid conflicts

Bindings:

  • alsa: Add more API and fix a few things
  • gnome-desktop-3.0: Some parameter fixes
  • gstreamer: Cherry-pick bindings fixes from 0.56
  • gstreamer-base-1.0: Some parameter fixes [#1255]
  • pango: Cherry-pick bindings fixes from 0.56

Vala 0.48.20

64899e8: vala_0_48: 0.48.19 → 0.48.20
https://ftp.gnome.org/pub/GNOME/sources/vala/0.48/vala-0.48.20.news
https://gitlab.gnome.org/GNOME/vala/-/compare/0.48.19...0.48.20

Various improvements and bug fixes:

  • codegen:
    • Add type declaration for implicit temporary local variable
    • Actually free data when using "remove(_all)"
      on GLib.Queue/(S)List [#1238]
    • Use CCodeConstant for member access of constant symbol
    • Add and use CCodeConstantIdentifier for accessing constants
    • Check required length of enum type name for GType support
    • Add missing check while overriding virtual async interface methods [#852]
    • Drop inconsistent space for ObjectType parameters
    • Accept CCode.type attribute on parameters [#876]
    • Fix CCodeUnaryExpression.write() for PREFIX_INCREMENT/PREFIX_DECREMENT
  • vala:
    • Warn about unsupported cast to void and drop it [#1070]
    • Don't restrict element type of GLib.Array [#1227]
    • Accept NullType as generic type argument
    • Set source references of created DataType instances in OCE
    • Parameter following ellipsis parameter is not allowed [#1237]
    • More thorough check of ValueType and set CodeNode.error on failure
    • Really check compatiblity of error types for delegate symbol
    • Correctly output signature of callable throwing error
    • Report error for non ErrorType in throws
    • Implement CodeWriter.visit_foreach_statement()/visit_catch_clause()
    • Improve error message for invalid handler of dynamic signal
    • Using SignalHandler.disconnect() is required for dynamic signals
    • Check for unavailable value-type of variable initializer [#1253]
    • Add [Profile] as known attribute for methods
    • Report error on missing gio-2.0 package for async constructors
    • Fix signals with generic return
    • parser: Make sure ErrorCodes are accessible as needed
    • parser: Split out Parser.parse_switch_section_statement()
    • parser: Better handling of misplaced switch sections [#1246]
  • genie:
    • Amend text of indent and dedent for error messages [#497]
    • Accept INTERR token before type arguments when parsing type [#1245]
    • Properly handle plain "get" or "set" property accessors [#1248]
    • "exception" is the expected string for TokenType.ERRORDOMAIN
    • Accept accessibility/async modifiers on "construct" creation methods [#1235]
  • girparser: Add support for "ref_/ref_sink_/unref_function"
    metadata for classes [#1233]
  • girparser: Accept "sealed" for transformed records and compact classes
  • gtkmodule: Improve error message for invalid signal element in ui-file
  • valadoc: Correctly format background of inline @link's [#1226]
  • tests: Rename colliding test cases to avoid conflicts

Bindings:

  • alsa: Add more API and fix a few things
  • gio-2.0: Unhide a few usable symbols which are marked not introspectable [#1222]
  • gio-2.0: Backport fixes from 0.54.2
  • glib-2.0: Current constants in GLib.Math are part of glib.h [#1220]
  • glib-2.0: Add RefString since 2.58 [#723]
  • gnome-desktop-3.0: Some parameter fixes
  • gstreamer: Cherry-pick bindings fixes from 0.56
  • gstreamer-base-1.0: Some parameter fixes [#1255]
  • gtk4: Backport fixes from 0.54.2
  • pango: Cherry-pick bindings fixes from 0.56

Copy link
Member

@davidak davidak left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changes look good, not tested

@bobby285271
Copy link
Member Author

bobby285271 commented Dec 3, 2021

Result of nixpkgs-review pr 148372 run on x86_64-linux 1

1 package marked as broken and skipped:
  • xfce.xfce4_dockbarx_plugin
4 packages built:
  • tootle
  • vala_0_48
  • vala_0_52
  • xfce.xfce4-dockbarx-plugin

See ofborg result for other platforms.

  • xfce.xfce4_dockbarx_plugin is an alias of xfce.xfce4-dockbarx-plugin.
  • For tootle, it is possible to fix build with latest vala using the patch from alpinelinux/aports@001bf1c.
  • For xfce.xfce4-dockbarx-plugin, it is possible to build this with latest vala without extra patches.

@bobby285271 bobby285271 marked this pull request as draft December 3, 2021 04:28
@github-actions github-actions bot added the 6.topic: xfce The Xfce Desktop Environment label Dec 3, 2021
@bobby285271 bobby285271 marked this pull request as ready for review December 3, 2021 04:40
@ofborg ofborg bot requested review from davidak, romildo and dtzWill December 3, 2021 04:50
@bobby285271
Copy link
Member Author

bobby285271 commented Dec 3, 2021

pdfpc/pdfpc#594 has been fixed, give me some time to patch that.

Oh it is an upstream (vala) issue, so no need to patch.

@bobby285271 bobby285271 marked this pull request as draft December 3, 2021 07:17
@github-actions github-actions bot added the 6.topic: GNOME GNOME desktop environment and its underlying platform label Dec 3, 2021
@bobby285271 bobby285271 marked this pull request as ready for review December 3, 2021 08:48
@bobby285271
Copy link
Member Author

bobby285271 commented Dec 3, 2021

(Edited on 3 Dec, 2021 23:00 UTC+8)

Vala versions we have after this PR:

  • 0.40.25 (old LTS)
  • 0.48.20 (latest LTS)
  • 0.52.8 (old stable)
  • 0.54.2 (latest stable)

Package that are still building with vala_0_40:

  • ping - upstream has no more activity since Dec 2020, haven't found un-released fix yet
  • xfce.xfce4-namebar-plugin - upstream has no more activity since May 2020, and no more commit since 1.0.0

vala_0_48, vala_0_52 are not used by any packages currently.

Last cleanup PR is #127243, I didn't add alias for dropped versions following previous practice.

@bobby285271
Copy link
Member Author

Result of nixpkgs-review pr 148372 run on x86_64-linux 1

2 packages marked as broken and skipped:
  • xfce.xfce4_dockbarx_plugin
  • xfce.xfce4_namebar_plugin
11 packages built:
  • cinnamon.cinnamon-common
  • cinnamon.cinnamon-gsettings-overrides
  • cinnamon.cinnamon-screensaver
  • cinnamon.cjs
  • gnome.caribou
  • pdfpc
  • tootle
  • vala_0_48
  • vala_0_52
  • xfce.xfce4-dockbarx-plugin
  • xfce.xfce4-namebar-plugin

@jtojnar
Copy link
Member

jtojnar commented Dec 3, 2021

Caribou is no longer used by GNOME. @mkg20001 do you know what Cinnamon’s plans for it are? Maybe they could take over the upstream repo if they still intend to use it.

@mkg20001
Copy link
Member

mkg20001 commented Dec 3, 2021

No. The upstream repo does not mention that the library is deperacted. Though a lack of updates hints at it. Are you sure it will be/is deperacted?

Edit: Read the part with last release being 5 years ago. Created an upstream issue: linuxmint/cinnamon#10496

@bobby285271
Copy link
Member Author

bobby285271 commented Dec 3, 2021

Ooooops, actually gnome.caribou builds with latest vala with this patch... 😳

@ofborg eval

Copy link
Member

@jtojnar jtojnar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great job. Personally I would just drop Vala 0.40 and mark the stuff that depends on it as broken but 🤷‍♀️

@davidak
Copy link
Member

davidak commented Dec 3, 2021

Result of nixpkgs-review pr 148372 run on x86_64-linux 1

11 packages built:
  • cinnamon.cinnamon-common
  • cinnamon.cinnamon-gsettings-overrides
  • cinnamon.cinnamon-screensaver
  • cinnamon.cjs
  • gnome.caribou
  • pdfpc
  • tootle
  • vala_0_48
  • vala_0_52
  • xfce.xfce4-dockbarx-plugin (xfce.xfce4_dockbarx_plugin)
  • xfce.xfce4-namebar-plugin (xfce.xfce4_namebar_plugin)

Copy link
Member

@davidak davidak left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changes look good, packages build

tootle works
pdfpc starts

@bobby285271 thank you!

@davidak davidak merged commit e82ccfb into NixOS:master Dec 3, 2021
@bobby285271 bobby285271 deleted the vala branch December 3, 2021 23:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants