libcanberra is an (optional) dependency of Mutter; since we have
it in the moduleset we need to mark the dependency so things get
built in the right order.
Merging the g-p-m branch with the one adding gnome-settings-daemon
for A11y, a lot of modules were duplicated. Also, gnome-keyring is
not needed, the distro provided one is enough.
https://bugzilla.gnome.org/show_bug.cgi?id=635199
Add to deps for Fedora and Debian:
expat: needed by polkit
libxklavier-devel: need by libgnomekbd
Based on a patch by Kiyoshi Aman <kiyoshi.aman@gmail.com>.
https://bugzilla.gnome.org/show_bug.cgi?id=634865
The volume status icon requires libcanberra; we could get by with
packages so far, but we will need a very very recent libcanberra soon
anyway, so just require that.
https://bugzilla.gnome.org/show_bug.cgi?id=633418
dconf-editor requires GTK+-2.22, which is still not available in most
major distributions. Building against GTK+-3 requires a more recent
version of vala, so just disable dconf-editor for now.
GConf requires it to build, it's been forgotten when we introduced
it into the moduleset. Debian uses 'liborbit2-dev', Fedora
and Mandriva 'ORBit2-devel', and SuSE 'orbit2-devel'.
https://bugzilla.gnome.org/show_bug.cgi?id=629882
Introduce the Universal Access status indicator as designed, modeled
after the similar UI provided by g-s-d. This indicator allows the user
to change rapidly the keyboard and mouse behaviour (sticky keys, slow
keys, bounce keys, mouse keys), as well as the enabled ATs (magnifier,
screen reader, screen keyboard) and the HighContrast Gtk theme.
https://bugzilla.gnome.org/show_bug.cgi?id=624916
The librsvg theme engine uses now-gone GTK+ drawing functions so doesn't
compile with GTK+ 3. Since we don't need the theme engine anyways,
skip bulding it.
The 1.9.14 snapshot, along with many other things, fixes a major bug in
painting images that was causing the cairo-converted Metacity theme cod
not to work properly.
This reverts commit b76fe12209.
We now have a workaround symlink server side for the git 1.7.2 handling
of '+', and also there's a patch in git upstream and in some distros, so
we don't need the workaround around in our moduleset anymore.
https://bugzilla.gnome.org/show_bug.cgi?id=626302
Build the Clutter 1.4 development branch instead of against Clutter 1.2;
this seems to work fine with GNOME Shell at this point, with various
fixes having been applied Mutter, GNOME Shell, and Clutter.
This is required to handle Provides header, as used by lib*-dev packages
(for example libtiff5-dev provides libtiff-dev), this allows the build
setup script to specify the "generic" package names.
https://bugzilla.gnome.org/show_bug.cgi?id=624009
The gdk-pixbuf autogen.sh uses autopoint. This is part of
gettext on most systems, but Fedora 14 splits autopoint
into a separate subpackage, so we need to add a version
check.
For completeness, system version extraction is added generally,
though we are only using it on Fedora currently.
https://bugzilla.gnome.org/show_bug.cgi?id=624175
Now that we are targetting GTK+ 3.0, always build the full GTK+ stack,
along with librsvg and gtk-engines (so we have an SVG loader, and maybe
the user's GTK+ theme engine.)
New modules:
gtk+-3, gtk-engines-3, gnome-desktop-3, gdk-pixbuf, pixman, cairo, librsvg
Removed modules:
gir-repository
Add new requirements to gnome-shell-build-setup.sh and remove some
older requirements we no longer need.
Based on a patch from Colin Walters
https://bugzilla.gnome.org/show_bug.cgi?id=621845
* Add dconf and dependencies to the moduleset and add
libxml2 dependency to gnome-shell-build-setup.sh
* if we can't ping the dconf D-Bus service, try to
activate it manually.
* Stop forcing GConf via GSETTINGS_BACKEND
https://bugzilla.gnome.org/show_bug.cgi?id=622308
Use GSettings for all Shell configuration. GConf is kept to read
configuration from external programs (Metacity, Nautilus and Magnifier),
but ShellGConf is removed because it's mostly useless for the few calls
we still have. Also get rid of unused GConf code in ShellAppSystem.
A basic GConf schema is still used to override Metacity defaults and
configure Magnifier in a system-wide fashion. GConf is also used as
GSettings backend via the GSETTINGS_BACKEND environment variable.
All of this will be removed when these programs have been ported
to GSettings and able to use dconf.
GLib 2.25.9 is required. Schemas are converted to the new XML format,
and compiled at build time in data/ so that the Shell can be run from
the source tree. This also requires setting the GSETTINGS_SCHEMA_DIR
environment variable both when running installed or from source tree,
in src/gnome-shell.in and src/gnome-shell-clock-preferences.in.
https://bugzilla.gnome.org/show_bug.cgi?id=617917
We want to have Clutter built with the external json-glib, with
introspection support. Clutter's build breaks if we compile
it with introspection but the system install doesn't have it,
and anyways the internal copy is buggy and unmaintained.
- Specify a minimum version of clutter-1.2.0
- Switch clutter branch in the moduleset to master
- Replace deprecated cogl_texture/material_unref() with
cogl_handle_unref()
- Use cogl_clip_push_rectangle() rather than cogl_clip_push()
- Replace cogl_check_extension() with strstr - should be
accurate enough.
https://bugzilla.gnome.org/show_bug.cgi?id=610679
This basically drops gir-repository, but pulls in GTK+ and stack.
TODO on this - we need to patch GTK+ to (possibly optionally)
pull in stuff like pixbuf loaders and themes from the system as well.
https://bugzilla.gnome.org/show_bug.cgi?id=610993
'git ls-files --exclude=<pattern>' was changed (intentionally!)
not to exclude anything files that are actually in the index.
Since git ls-files by default simply lists the files in the
index, this is a problem. Emulating this in shell went past
the limits of what made sense, so move it to a simple external
python script.
Add StIMText, which is a drop-in replacement for ClutterIMText but
uses GtkIMContext instead of ClutterIMContext.
StIMText doesn't have preedit support (would need ClutterText
changes), so isn't going to be useful for complicated input methods,
but is good enough to get dead keys and similar working.
entry.js: Simple test case of StEntry
gnome-shell.modules: Remove clutter-imcontext module
https://bugzilla.gnome.org/show_bug.cgi?id=597471
Clutter requires Pango.gir. Until Pango is universally available
in a version that builds its own GIR, Pango.gir is built as part
of gir-repository.
(Found by Adel Gadllah)
gnome-shell.in: Remove the code to replace gnome-panel by attaching
to it with GDB; this was always problematical (required gdb, debug
symbols, finding the pid of gnome-panel, etc.)
gnome-shell-build-setup.sh: Require 2.26 to be in place before building
the shell; remove gdb from the list of required packages.
http://bugzilla.gnome.org/show_bug.cgi?id=593325
With the recent switch to use libgnome-desktop for thumbnailing instead
of libngomeui, we should require that instead.
(Updated for Debian/Ubuntu, Fedora, OpenSuSE, unable to figure out
the right name for Mandriva in a quick web search.)
For now, we want to stick to the stable branch of clutter rather
than tracking new developments. Now that Clutter has branched for
1.0 switch our moduleset to the clutter-1.0 branch.
In the build setup script using unversioned xulrunner-dev and
python-dev gives better compatibility with different operating
systems and versions than using xulrunner-1.9-dev and python2.5-dev.
http://bugzilla.gnome.org/show_bug.cgi?id=578773 (Siegfried Gevatter)
Checking return code of dpkg --status doesn't handle removed files
properly. Get the text status of the package instead and make sure
that it is 'installed'.
http://bugzilla.gnome.org/show_bug.cgi?id=577456
For development and demonstration purposes, it's neat to be able to
record a screencast of gnome-shell without any external setup.
Built-in recording can also give much better quality than is possible
with a generic desktop recording, since we hook right into the paint
loop.
src/shell-recorder.[ch]: A general-purposes object to record a Clutter
stage to a GStreamer stream.
src/shell-recorder-src.[ch]: A simple GStreamer source element (similar
to appsrc in the most recent versions of GStreamer) for injecting
captured data into a GStreamer pipeline.
src/test-recorder.c: Test program that records a simple animation.
configure.ac src/Makefile.am: Add machinery to conditionally build
ShellRecorder.
tools/build/gnome-shell-build-setup.sh: Add gstreamer packages
to the list of required packages for Fedora.
js/ui/main.js: Hook up the recorder to a MetaScreen ::toggle-recording
keybinding.
http://bugzilla.gnome.org/show_bug.cgi?id=575290
jhbuildrc-gnome-shell: Remove obsolete setting of
os.environ['INSTALL'] - setting installprog is the modern way
to do it.
jhbuildrc-custom-example: Show how to override installprog to
work around #571240 on Arch Linux.
Package checking now happens first, and checking for "curl" (and other
packages needed by the script itself) happens at the same time. I
tried to extract out a genericized list of what packages are needed,
and then reordered the packages for each distro to make it clear which
distros are missing some of the required packages in their lists
(currently, everything except Fedora)
tools/build/gnome-shell.modules: Point at master branch of Clutter (0.9)
and make gobject-introspection a dep of Clutter.
configure.ac src/Makefile.am: Use Clutter-0.9
js/ui/button.js js/ui/genericDisplay.js js/ui/overlay.js js/ui/panel.js
js/ui/runDialog.js js/ui/workspaces.js src/shell-status-menu.c:
Use ClutterText instead of ClutterLabel and ClutterEntry
js/ui/workspaces.js js/ui/genericDisplay.js: Use ClutterClone instead
of ClutterCloneTexture
src/shell-global.[ch]: Add Shell.get_event_key_symbol() to workaround
unaccessibility of clutter_key_event_symbol() to use.
js/runDialog.js js/overlay.js: Use Shell.get_event_key_symbol() as
appropriate.