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.
Now that the image property page is an extension, both extensions can be
held under the same subdirectory. This commit also makes the image
property extension optional.
When nautilus is automatically tests we cannot assume there is a
display, if we do and we run inside a displayless scenario nautilus
cannot run the application and the tests fail.
Graphical tests were enabled by default, but this breaks most common
automatic tests scenarios, so let's disable it by default and let the
developers enable if required.
We should focus more in unit testing and integration tests without an
actual display, and let tools like OpenQA, etc. to handle actual display
testing. Alternatively we can use Xvfb to simulate a graphical env.
We were enabling Selinux support by default, which is just to show the
Selinux labels in the properties dialog.
However, this gives problem when trying to create a release since
Flatpak Sdk doesn't have Selinux I guess to be able to work in most
distros.
So with the purpose of having a proper default that works in different
distributions, let set it off by default.
Some tests require gtk_init, which requires a display and therefore
cannot be part of the tests to be ran in the GitLab CI.
Split those so we can pass an option to meson to only test the
displayless tests for GitLab CI.
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.
A large number of core features require Tracker to work, and many of the
new features using Tracker don't have any fallback support, failing to
build when Tracker is not available, so make tracker a hard requirement.
https://bugzilla.gnome.org/show_bug.cgi?id=784940
Since Continuous does not have GTK-Doc and jhbuild users don’t usually
care about generating documentation, it makes sense to disable it by
default.
https://bugzilla.gnome.org/show_bug.cgi?id=779420
Since testing is planned to be done with actual views and no one has
built Nautilus with the empty view enabled recently, it is safe to say
that it should go. This commit removes the empty view.
https://bugzilla.gnome.org/show_bug.cgi?id=779255
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