rhx / SwiftGtk

A Swift wrapper around gtk-3.x and gtk-4.x that is largely auto-generated from gobject-introspection
https://rhx.github.io/SwiftGtk/
BSD 2-Clause "Simplified" License
317 stars 26 forks source link

Advances in build #48

Closed mikolasstuchlik closed 2 years ago

mikolasstuchlik commented 3 years ago

Hello.

I am opening this issue as an update on the state of build process of the SwiftGtk.

I have already transitioned all features provided by legacy scripts into the gir2swift-generation-driver script distributed via gir2swift. The script has been modified to work faster when in c-flags mode and supports sandboxed environments in macOS 11. The modified version of the scripts and manifests is already available in my forks. I have also decided to implement "package init" function that will create all gir2swift related files in a desirec Swift package and validate which will validate a package. Those features are yet to be implemented.

When all the features above are implemented and tested, I will open PR's and remove all legacy scripts.

Further, it has came to my attention, that Extensible build tools are now in review. https://forums.swift.org/t/se-0303-package-manager-extensible-build-tools. Unfortunately, the new feature would probably not remove the need for additional sh scripts, because the SPM puts heavy restictions upon any SPM Plugin (see the proposal). Plugin can read only Package directory and it's own module directory. Unfortunately, this would prevent us from executing pkg-config on macOS and searching for .gir files in the filesystem on all platforms.

The removal of all build scripts is my priotiry and I will keep an eye on the process of adopting the proposal - possibly create an implementation of my own and official pitch.

rhx commented 2 years ago

These are largely merged into main now.