Commit graph

9 commits

Author SHA1 Message Date
Tomasz Miąsko 4d0330a721 Include pkg-config package name in introspection file.
This effectively adds `<package name="libnautilus-extension"/>` to gir
xml file, which makes it easy to obtain necessary compiler and linker
flags for use in compile time bindings.
2019-01-10 14:19:19 +00:00
Ernestas Kulik 200a5869b5 build: Allow disabling GIR data generation 2018-07-25 19:06:37 +03:00
Ernestas Kulik df583c2e4a general: Allow running in separate instance
When hacking on Nautilus, it is very inconvenient to have to close any
running instance before running the built version. This commit enables
running three different instances by changing the application ID.
Beside the default “profile” is one crafted for stable flatpak
releases and one for development. The stable flatpak profile adds an
identifying mark to the about dialog to aid collecting information in
bug reports. The development profile is that plus additional styling to
help visually identify the development instance. It also will be used
when generating Flatpak bundles with the help of CI.

Generally, the implementation is slightly hacky to allow all the
different workflows, spanning from regular installations to GNOME
Builder flatpak builds, as each comes with its own quirks.
2018-03-18 22:28:08 +02:00
Emmanuele Bassi 900d2be31c Ensure that extensions depends on generated headers
The libnautilus-extensions internal dependency must include the
generated enumeration header file, otherwise we may end up building
targets that depend on the library prior to have the header properly
generated.
2018-02-09 13:32:19 +00:00
Ernestas Kulik 7e2605c681 general: refactor extension library
The changes include:

  * adding a single-include header and deprecating
    nautilus-extension-types.h and direct inclusions of individual
    headers;

  * type definition simplifications - this causes some breakages in
    nautilus-file, because NautilusFile used to be typedefed to
    NautilusFileInfo, and that is no longer possible, so the interface
    implementation was moved to static functions and the public
    NautilusFile API provides thin wrappers for them to maintain
    compatibility;

  * documentation cleanups and reorganization;

  * general build rule and code cleanups: mostly g_auto* sprinkled
    around and style changes (sorry)
2018-02-09 06:32:38 +02:00
Ernestas Kulik 2128efccae nautilus-extension: use Meson to generate pkgconfig file
Currently, the pkgconfig file for nautilus-extension is generated by
substituting variables in a template file. That is prone to mistakes and
requires manual tracking of dependencies. Using the pkgconfig module
from Meson helps automate much of the process.
2018-02-09 06:32:38 +02:00
Ernestas Kulik 983892a656 build: general cleanups
This commit does the following:
  * Canonicalize the style:
    * Use two-space indentations.
    * Un-Autotools-ify option names.
    * Don’t align arguments, simply increase indentation.
    * Don’t add a space before opening parenthesis in calls.
  * Remove unused variables.
  * Remove unused dependencies.
  * Remove config.h.meson.
  * Optimize dependencies.
  * Use disabler functionality for libselinux dependency, to save lines.
2018-01-02 12:51:32 +02:00
Ernestas Kulik fd50ac5011 meson: set correct libnautilus-extension version in .pc
Currently, when building with Meson, the version of the pkg-config file
for libnautilus-extension is set to the version of the library itself.
This is incompatible with how it was before - the version was set to the
version of Nautilus. That breaks some modules that build extensions
(e.g. file-roller).

https://bugzilla.gnome.org/show_bug.cgi?id=779472
2017-03-03 17:06:18 +01:00
Ernestas Kulik ed5652c89a general: add support for Meson
Since it’s 2017 already, Nautilus should use a build system that doesn’t
take longer to set up the build than it takes to actually build. An
observed build time using Ninja of roughly one-fifth of what it took
Autotools is more than reason enough to add support for Meson. Along
with that, this commit adds a convenience script to generate a tarball
for releases, since we use libgd as a submodule and Meson does not
handle source distributions.

https://bugzilla.gnome.org/show_bug.cgi?id=778167
2017-02-24 00:24:27 +02:00