Commit graph

202 commits

Author SHA1 Message Date
Sam Thursfield 7712c2c7e1 Port to Tracker 3
Mostly the port is straightforward, we connect to tracker-miner-fs
explicitly over D-Bus instead of the centralized tracker-store daemon
we connected to previously.

The search-engine-tracker test is now isolated from the user's real
Tracker index using the `tracker-sandbox` script provided by Tracker,
and it lets tracker-miner-fs index the test file rather than trying
to synthesize the expected database contents.

There are more changes in nautilus-tag-manager.c.  Until now, starred
file information was stored in the tracker-miner-fs database. This has
some downsides, firstly the data is deleted if someone runs `tracker
reset --hard`, secondly it isn't possible to do this from inside a
Flatpak sandbox with Tracker 3.0.  because the

This commit changes the NautilusTagManager to set up a private
database inside XDG_DATA_HOME/nautilus/tags. This stores the starred
file information. The database is managed with Tracker, which allows us
to continue using the rename-tracking that tracker-miner-fs provides.
The same limitations apply as before that only files in indexed
locations can be starred.
2020-09-02 17:28:38 +02:00
Sam Thursfield 452c25e33a build: Set NAUTILUS_DATADIR correctly 2020-09-02 12:17:31 +02:00
Ondrej Holy f3977e8aa0 Release version 3.37.91 2020-08-21 08:18:38 +02:00
Ondrej Holy 975b666363 Release version 3.37.90 2020-08-07 13:35:33 +02:00
Joshua Lee b2211f6f79 build: Bump GLib version
This is required to avail of g_clear_signal_handler().
2020-07-08 19:37:17 +01:00
Ondrej Holy 8e295e3a6c gtk: Update to the latest codes
GTK-based codes are not up-to-date. Let's run gtk-code-generator.sh
to update them. But also update the script to remove the unwanted
marshalers. Finally, this doesn't bring any functional changes, but
it adapts our script to the latest GTK codes. Let's add a comment
in meson.build to not forget doing this regularly...
2020-07-03 15:51:59 +02:00
Ondrej Holy f485401c39 Release version 3.37.3 2020-07-03 14:30:01 +02:00
Ondrej Holy e45d7b3d5e appdata: Update outdated release list
The list of releases is outdated, which is probably why GNOME Software and
"flatpak info" shows version 3.32.1 for our nightly bundles, although the
About dialog shows something completely different. Let's replace the list of
outdated releases with just the current one. Also add comment in meson.build
to not forget about it next time.
2020-06-13 16:55:20 +00:00
Ondrej Holy b79a55d552 Release version 3.37.2 2020-05-29 15:36:27 +02:00
Marvin Schmidt 294c89d0f3 meson: Remove libX11 dependency
As of commit 70393e321 (general: Allow to compile on Wayland-only
system) libX11 is no longer a dependency
2020-05-01 19:39:03 +00:00
Ondrej Holy f27842e80b Release version 3.37.1.1
I made .1 release by mistake before some time. Let's make .1.1 release
now to be still in sync with the GNOME release schedule.
2020-04-24 15:56:46 +02:00
Ondrej Holy f5ad501568 Release version 3.37.1 2020-03-27 15:04:01 +01:00
Ondrej Holy 57ab299638 Post branch version bump 2020-03-09 08:24:31 +01:00
Ondrej Holy e11034204b Release version 3.36.0 2020-03-06 15:42:04 +01:00
Ondrej Holy 0770a8d9e1 Release version 3.35.92 2020-02-28 14:05:26 +01:00
Ondrej Holy 188fb40858 Release version 3.35.91.1
Let's make .1 release as I forgot to bump the version in meson.build.
2020-02-14 17:25:49 +01:00
Ondrej Holy 1c63464719 Release version 3.35.90 2020-01-31 12:47:38 +01:00
Ondrej Holy 11088272dd Release version 3.35.2 2019-11-22 13:47:17 +01:00
Ernestas Kulik 6a55af66af Release version 3.34.0 2019-09-10 14:57:44 +02:00
Ernestas Kulik a43726a7af Release version 3.33.90 2019-08-06 16:41:28 +02:00
Ernestas Kulik 3862cf7980 general: Drop in-tree copy of gnome-desktop
The code was copied to avoid having an external GTK+ 3 dependency, but
at this point it’s more trouble than it’s worth.
2019-06-28 15:49:15 +02:00
Ernestas Kulik 7605b17b27 meson.build: Disable GLib deprecation warnings 2019-06-02 11:32:31 +02:00
Emmanuele Bassi 4d94d188ef Define symbol needed for gnome-desktop
The copy-paste of libgnome-desktop's thumbnailing code is missing a
symbol that is defined by the libgnome-desktop build, which breaks
Nautilus's own build.
2019-04-14 13:31:06 +01:00
Carlos Soriano a241f8f6f3 release: Prepare for 3.32.0 2019-03-13 13:14:26 +01:00
Jordan Petridis b4d200fed3 file: replace eel_ref_str with GRefString
glib now offers a reference counted api.
This allows us to replace a lot of legacy code and get rid of
eel_ref_str. GRefString [1] is almost a drop-in replacement.

nautilus-file-operations.c was indirectly depending upon
eel/eel-string.h from nautilus-file-private.h and thus
a new include was added.

This bumps the minimum version of glib to 2.58

Close #781
https://gitlab.gnome.org/GNOME/nautilus/issues/781

[1] https://developer.gnome.org/glib/stable/glib-Reference-counted-strings.html
2019-02-22 11:29:57 +00:00
Mart Raudsepp 44b49e6ca0 meson.build: Add 32-bit sparc to seccomp unsupported list
32-bit sparc doesn't support seccomp either.
2019-02-16 07:45:09 +00:00
Bastien Nocera e9bb1cff99 Add copy/paste of totem's properties window nautilus extension
The code is quite stable and this is basic functionality which is going to be
better in Nautilus rather than relying on extensions, given the quite bad
extension system Nautilus has.

This will also help with the port to gtk4, so we rely in yet another important
extension providing properties pages (which in turn export gtk3 widgets).
2019-02-11 16:03:55 +01:00
Carlos Soriano fc796bb9b8 release: Prepare for 3.31.90 2019-02-06 17:11:42 +01:00
Ernestas Kulik 4614584c24 meson.build: Clean up profile stuff 2018-12-10 14:20:46 +00:00
Carlos Soriano 85c86bd55d meson: Handle correctly the Devel suffix 2018-12-10 14:15:48 +00:00
Ernestas Kulik 4c2e9da9a9 meson.build: Pass -Wno-error=maybe-uninitialized
The nightly flatpak builds after
ce54a25275
fail due to an unfortunate combination of compiler flags. This commit
disables the error, since it’s rather inconsistent when the warning is
spit out.
2018-10-31 21:47:59 +01:00
Ernestas Kulik 62e6db2767 meson.build: Only warn when seccomp support is disabled 2018-10-09 15:36:37 +03:00
Ernestas Kulik 942429b133 meson.build: Use set instead of set10
Since we only care about whether those macros are defined, we can use
set to save a few lines.
2018-10-09 11:01:37 +03:00
Ernestas Kulik e97155f1d1 meson.build: Remove libseccomp dependency where unsupported
A number of CPU architectures are unsupported as far as seccomp goes.
This commit expands the current restriction to Linux by checking the
host CPU.
2018-10-09 11:01:37 +03:00
Ernestas Kulik 0718606dca meson.build: Enable -Werror=incompatible-pointer-types 2018-10-09 07:29:41 +00:00
Carlos Soriano 437992efcd meson: Bump version
Seems we use 0.47 features.

Closes https://gitlab.gnome.org/GNOME/nautilus/issues/612
2018-09-05 10:46:45 +00:00
Carlos Soriano fb4fe5c705 release: Prepare for 3.30.0 2018-09-03 19:31:11 +02:00
Ernestas Kulik db92b6a6cf Prepare for 3.29.92 2018-08-29 18:33:49 +03:00
Carlos Soriano dde5d529d0 meson: Bump version 2018-07-26 21:23:12 +02:00
Ernestas Kulik 67b6843130 meson.build: Fix application ID
application_id is referenced in data/meson.build, so it’ll be less
annoying to append the profile to it as well.
2018-07-14 15:11:05 +03:00
Ernestas Kulik a9b76916e4 meson.build: Tidy sections up
Now sections (and their boundaries) are more visible, and maybe the file
is more readable all around.
2018-07-14 13:35:24 +03:00
Carlos Soriano d31b8b59de general: Assume development profile if app id is not Nautilus
Instead of checking explicitly for some options, we allow any value as
profile and assume is a development snapshot.

This will help with having Flatpak bundles/refs of different branches
with different purposes.
2018-07-14 11:33:57 +02:00
Carlos Soriano 09f00407eb Meson: Make sure _GNU_SOURCE is set
_GNU_SOURCE is required to be able to use POSIX functions that are not
available on non-Linux system. Specifically, we use sys/types for
requesting user accounts with getpwent and similars.

Usually systems seems to compile with this set, however some systems
like RHEL doesn't assume it so.

Since this is more correct to set it explicitly, this commit does that
by passing an argument to meson project.
2018-06-12 09:14:45 +00:00
Carlos Soriano b42ffe73a6 meson: Request c11 when possible
So we make sure that systems that have this default to something older
like c89 like RHEL can build it properly.
2018-06-12 09:14:41 +00:00
Ting-Wei Lan 816ee3d5f3 build: Make seccomp and bubblewrap optional
Both seccomp and bubblewrap are specific to Linux, so we should make it
optional to keep Nautilus working on non-Linux systems.
2018-06-03 00:00:49 +08:00
Ernestas Kulik 894cda329c build: Warn on duplicate conditions in conditional statements
Since we’re handling duplicate branches, this makes sense.
2018-05-28 12:59:33 +03:00
Ernestas Kulik 81c4c0d175 meson.build: Enable deprecation warnings 2018-05-22 16:52:49 +03:00
Ernestas Kulik bde55f4189 eel: Remove a11y utilities
In theory, it would be possible to just drop the GAIL code and keep the
header, but, given that NautilusCanvasItem is the only remaining
consumer, the needed bits can be moved over.
2018-05-22 16:52:48 +03:00
Ernestas Kulik 673c81cf9f general: Copy gnome-desktop thumbnailing code
This is one of prerequisite steps to take before fully switching to GTK+
4, as gnome-desktop has code, depending on GTK+ 3. Since the
thumbnailing machinery is self-contained, it can easily be just copied
over.
2018-05-22 16:52:48 +03:00
Ernestas Kulik feb69b4979 build: Use install_data() to rename icons
Since 0.46.0, Meson allows renaming files when installing them. This is
useful to replace any workarounds to achieve the same (namely, the
icons).
2018-04-28 20:22:11 +03:00
Christophe Fergeau 1358dc6beb build: Fix libm detection
find_library expects the library name without the 'lib' prefix,
otherwise it will be looking for "liblibm"
2018-03-30 12:51:46 +02:00
Alexandru Fazakas 315d14585b list-view: Make list view selection consistent
Selecting rows using CTRL/SHIFT with left click is different
to right click as GtkTreeView's default code does not support
SHIFT+CTRL selection.

We want consistency between the two behaviours.

We fixed this by replicating the left click behaviour in the
right click case. The GTK dependency is also bumped in order
to use GtkTreePath autocleanup.
2018-03-21 23:57:56 +02:00
Ernestas Kulik b1be1fc680 meson.build: use project version instead of hardcoding it
This will make it one less thing to change when branching.
2018-03-19 14:17:22 +02:00
Ernestas Kulik b85eb89891 meson.build: Always try to append revision to version
The code falls back to a controlled string, so tarballs builds don’t
ruin everything.
2018-03-19 13:22:04 +02: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
Ernestas Kulik 510a8303dd build: make all tests optional
This can help cut down on link times a bit when working on things.
2018-03-16 06:22:36 +02:00
Ernestas Kulik c10130c034 release: prepare for 3.28.0 2018-03-13 07:10:57 +02:00
Ernestas Kulik a2f01b3825 release: prepare for 3.27.92.1
Hope this is the last one.
2018-03-06 00:17:24 +02:00
Ernestas Kulik 9ff12e580a release: prepare for 3.27.92 2018-03-05 11:26:49 +02:00
Ernestas Kulik f237658a8a meson.build: add a set of warnings
This commit adds a set of warnings that will always be used and makes
some of them hard errors to help write code that is less bug-prone.
2018-03-01 08:37:49 +00:00
Alexandru Fazakas 5da4acab69 files-view: Avoid leaking selection list and data
Sometimes, while working with the files_view_get_selection function, the
freeing is not done properly. We leak a lot of objects as of this and we
need a way to fix it.

To avoid leaking, we implemented g_autoptr support for NautilusFile in order
to have at our disposal automatic, deep cleanup whenever we use the function.

In this patch, we changed all calls to use g_autolist appropriately and bumped
the glib dependency up to 2.55.1 (in order for us to use g_autolist).

Fixes https://gitlab.gnome.org/GNOME/nautilus/issues/226
2018-02-27 07:06:57 +02:00
Michael Catanzaro bf4c431b45 Bump version number
This is needed so that clients of libnautilus-extension can depend on
the new version.
2018-02-12 16:15:05 -06:00
Ernestas Kulik 6934578ebf sendto-extension: move under extensions/
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.
2018-02-09 06:32:38 +02:00
Ernestas Kulik 14ee0f1cdc general: reimplement image properties as an extension
The image property page is already implemented using the extension API,
but it’s not an extension and relies on a library that is not essential
to Nautilus. This commit builds the image properties as an extension and
introduces some minor refactoring to the code.
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
Carlos Soriano 4cece76105 Release: Prepare for 3.27.4 2018-01-30 14:39:31 +01:00
Ernestas Kulik 01352d3b22 build: drop use of disabler object
Should have read docs more carefully. An empty array does the trick just
as well, with the side effect of not breaking builds.
2018-01-04 17:35:51 +02:00
Ernestas Kulik 9cfa5dd275 build: drop support for tracker-sparql-1.0
tracker-sparql-2.0 should be available in all distros, which are going
to offer GNOME 3.28.

Closes #186.
2018-01-04 10:18:55 +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 74dd9c9f72 general: remove desktop support 2018-01-02 12:51:32 +02:00
António Fernandes 2ea3a8ccb8 general: Get key values from gdk/gdkkeysyms.h, not X11/XF86keysym.h
We already included gdk/gdkkeysyms.h, which is generated from
X11/XF86keysym.h

Doing this, we can drop the ifdefs. Also, revert the build
configuration introduced in 2c5882aaff.
2017-12-14 10:31:11 +00:00
Ernestas Kulik ddca5f532a meson.build: bump GTK+ version requirement
Starred locations in GtkPlacesSidebar are only available in 3.22.26
onward.

https://bugzilla.gnome.org/show_bug.cgi?id=786039
2017-12-08 15:24:15 +02:00
António Fernandes bdd1c3b0ae build: Fix indent style 2017-11-29 18:01:07 +00:00
António Fernandes 2c5882aaff build: Detect X11/XF86keysym.h to enable extra keys
Support for special keyboard keys for actions such as Back,
Forward, Refresh, Go Home, etc. depends on this header.

We used to check for this header in configure.ac but
this was lost when porting from autotools to meson
(commit 857a90c2).

Restore this support by checking for this header with meson.

Fixes #134
2017-11-29 17:36:08 +00:00
Jeremy Bicha 5d75a4a5bc build: Install appstream metadata to non-deprecated location 2017-11-26 18:52:09 -05:00
Carlos Soriano 23eacd3155 general: Remove exempi and exempi-xmp
Since now we use gexiv2 these are not longer necessary.
2017-11-20 15:43:45 +01:00
Carlos Soriano 1d2a80c913 Merge branch 'gexiv2-switch' into 'master'
image-properties-page: Use gexiv2 for metadata

See merge request GNOME/nautilus!5
2017-11-20 11:40:22 +00:00
Carlos Soriano aa6528699a Release: Prepare for 3.27.2 2017-11-13 18:06:54 +01:00
Thomas Bechtold ffe6626ed3 image-properties-page: Use gexiv2 for metadata
Instead of using exif and and exempi for handling image metadata, use
gexiv2 for both.
This simplifies the code a lot and also makes it easy to add new tags
when needed.
Also cleanup a bit the currently displayed tags.

Note: gexiv2 is now a hard dependency when building nautilus.
2017-10-07 10:22:08 +02:00
Carlos Soriano 69942c754e release: Prepare for 3.26.0 2017-09-12 15:47:29 +02:00
Ernestas Kulik 4cd5df8aa7 release: prepare for 3.25.92 2017-09-03 00:17:04 +03:00
António Fernandes 21f7f42892 build: Raise gtk+ minimum version requirement
Since commit 1d166b5e3b we use the
function gtk_flow_box_get_child_at_pos, which was introduced in
gtk+ 3.22.6.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=786194
2017-08-12 13:56:43 +03:00
Carlos Soriano b11a048565 release: Prepare for 3.25.90 2017-08-09 23:04:50 +02:00
Ernestas Kulik 9d0fae6ed4 meson.build: change project license version
https://bugzilla.gnome.org/show_bug.cgi?id=785062
2017-08-07 12:33:02 +03:00
Bastien Nocera e367134de0 build: Make tracker a hard dependency
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
2017-07-18 03:25:03 +02:00
Bastien Nocera 4ac20d7b6a build: Fix tracker detection
Make sure that tracker-sparql is optional and auto-detected by default
and that tracker-sparql-1.0 is still supported.

https://bugzilla.gnome.org/show_bug.cgi?id=784940
2017-07-18 03:25:03 +02:00
Carlos Garnacho d2d844414f build: Bump optional tracker dependency to 2.0
No code changes required. It remains API compatible with the current
usage in nautilus.
2017-06-28 23:41:21 +02:00
Carlos Soriano 53928d7f46 postinstall: Use python
Instead of shell scripts, much better to maintain.
Also, the new python script has better handling of non existing paths.
2017-05-02 19:50:54 +02:00
Carlos Soriano ed07b5de52 release: Prepare for 3.25.1 2017-04-28 11:46:55 +02:00
Ernestas Kulik 9948131521 meson: delegate submodule initialization to Meson
As of 0.40.0, Meson has the ability to initialize subprojects that are
git submodules. This removes the need for a separate script to achieve
that.

https://bugzilla.gnome.org/show_bug.cgi?id=781653
2017-04-25 11:22:41 +03:00
Carlos Soriano 13c959d389 build: Update flatpak build and organize folder structure
Flatpak doesn't need to build meson or a patch for ninja and meson to
work properly:
https://github.com/flatpak/flatpak/issues/607
https://bugzilla.gnome.org/show_bug.cgi?id=774368
273e2460aa

This patch updates this and improves the folder structure with a
build-aux folder to clear up the root folder.

https://bugzilla.gnome.org/show_bug.cgi?id=780580
2017-03-27 12:14:47 +03:00
Ernestas Kulik 63a7e1ebad meson: actually use optional dependencies
EXIF and Exempi are currently only being detected due to an oversight.
This commit makes Meson define the preprocessor macros needed to use the
libraries.

https://bugzilla.gnome.org/show_bug.cgi?id=779879
2017-03-11 00:40:19 +02:00
Ernestas Kulik f72f5f3c9d meson: move scripts to a directory
This commit moves scripts used in Meson to a separate directory to
declutter the root directory.

https://bugzilla.gnome.org/show_bug.cgi?id=779669
2017-03-08 17:52:01 +02:00
Ernestas Kulik 9419c26876 meson: compile gschemas after installing
As some users or developers might choose to install repo builds, they
would also have to compile the installed GSettings schema manually. This
commit adds a script that does that post-install.

https://bugzilla.gnome.org/show_bug.cgi?id=779669
2017-03-08 17:52:01 +02:00
Ernestas Kulik dc57c21448 meson: update submodule only if it doesn’t exist
Some build servers don’t have git installed, which makes the tarball
build fail when trying to update the libgd submodule. This commit adds a
check for the existence of the root meson.build of libgd before running
git.

https://bugzilla.gnome.org/show_bug.cgi?id=779603
2017-03-06 17:43:22 +02:00
Carlos Soriano 06f0659e67 release: prepare for 3.23.91 2017-03-03 17:06:18 +01:00
Carlos Soriano cbf2361154 configure: bump gnome-autoar version
For not getting duplicated extract here items due to commit
66cf03f9f191 in gnome-autoar and commit 366a5147bd0 and aab1b7335c4
in file-roller.
2017-03-03 17:06:18 +01:00
Ernestas Kulik 2c22594624 meson: make doc generation opt-in
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
2017-03-01 18:15:20 +02:00
Carlos Soriano 12826378e1 meson: ignore deprecations warnings
We know we have deprecations functions, and they require a major work
as porting to gtk4.
That's truly a different task to what we are doing every day, and the
multiple warnings obscure all real warnings to the task that is
relevant at that point.

This is making contributors skip the warnings, rather than actually look
at them.

For that, ignore deprecation warnings for now until someone wants to
work in the gtk4 port, and we also assume you read the documentation
when introducing new code in order to avoid deprecations.
2017-02-27 16:06:11 +01:00
Ernestas Kulik ec92b8ab60 general: remove empty view
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
2017-02-27 16:47:51 +02:00
Ernestas Kulik 2475e9a1f7 meson: don’t look for update-mime-database
Since Nautilus no longer install a mime type
(5951fadbef), updating the mime database
is not something that should be done anymore.

https://bugzilla.gnome.org/show_bug.cgi?id=779250
2017-02-27 15:11:07 +02: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