gnome-control-center, gnome-video-effects, gsound, cheese, gnome-autoar packaged

This commit is contained in:
Berk Çakar
2021-05-29 02:35:03 +03:00
parent 45247fa65b
commit 9b0ec972ba
16 changed files with 1414 additions and 0 deletions
+19
View File
@@ -0,0 +1,19 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
# Licensed under the GNU General Public License, version 2.
# See the file http://www.gnu.org/copyleft/gpl.txt.
from pisi.actionsapi import autotools
from pisi.actionsapi import pisitools
def setup():
autotools.configure()
def build():
autotools.make()
def install():
autotools.install()
pisitools.dodoc("README*", "NEWS", "ChangeLog")
+68
View File
@@ -0,0 +1,68 @@
<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "https://pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>
<Source>
<Name>gsound</Name>
<Homepage>https://gitlab.gnome.org/GNOME/gsound</Homepage>
<Packager>
<Name>Pisi Linux Admins</Name>
<Email>admins@pisilinux.org</Email>
</Packager>
<License>LGPLv2.1</License>
<IsA>library</IsA>
<Summary>GSound is a small library for playing system sounds.</Summary>
<Description>GSound is a small library for playing system sounds. It's designed to be used via GObject Introspection, and is a thin wrapper around the libcanberra C library.</Description>
<Archive sha1sum="bd3f96673f58c339b00df2c6e3d76781d405b2b9">https://download.gnome.org/sources/gsound/1.0/gsound-1.0.2.tar.xz</Archive>
<BuildDependencies>
<Dependency>gobject-introspection-devel</Dependency>
<Dependency>vala-devel</Dependency>
<Dependency>glib2-devel</Dependency>
<Dependency>intltool</Dependency>
<Dependency>libcanberra-devel</Dependency>
</BuildDependencies>
</Source>
<Package>
<Name>gsound</Name>
<RuntimeDependencies>
<Dependency>glib2</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="library">/usr/lib/girepository-1.0</Path>
<Path fileType="library">/usr/lib/lib*.*</Path>
<Path fileType="doc">/usr/share/doc</Path>
<Path fileType="executable">/usr/bin</Path>
</Files>
</Package>
<Package>
<Name>gsound-devel</Name>
<Summary>Development files for gsound</Summary>
<RuntimeDependencies>
<Dependency release="current">gsound</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="header">/usr/include</Path>
<Path fileType="data">/usr/lib/pkgconfig</Path>
<Path fileType="data">/usr/share/gir-1.0</Path>
<Path fileType="library">/usr/share/vala</Path>
</Files>
</Package>
<Package>
<Name>gsound-docs</Name>
<Files>
<Path fileType="doc">/usr/share/gtk-doc</Path>
</Files>
</Package>
<History>
<Update release="1">
<Date>2021-05-28</Date>
<Version>1.0.2</Version>
<Comment>First release for Pisi Linux</Comment>
<Name>Berk Çakar</Name>
<Email>berk2238@hotmail.com</Email>
</Update>
</History>
</PISI>
+21
View File
@@ -0,0 +1,21 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
#
# Licensed under the GNU General Public License, version 3.
# See the file http://www.gnu.org/licenses/gpl.txt
from pisi.actionsapi import mesontools
from pisi.actionsapi import pisitools
def setup():
mesontools.configure("-Dgtk_doc=false \
-Dman=false")
def build():
mesontools.build()
def install():
mesontools.install()
pisitools.dodoc("README", "COPYING", "AUTHORS", "NEWS", "ChangeLog")
@@ -0,0 +1,17 @@
diff --git a/meson.build b/meson.build
index 7ef4075f..36638472 100644
--- a/meson.build
+++ b/meson.build
@@ -149,11 +149,7 @@ gnome_video_effects_dep = dependency(
# Recommend some runtime GStreamer plugins.
gst_inspect = find_program('gst-inspect-1.0', required: false)
if gst_inspect.found()
- foreach plugin: ['camerabin', 'vp8enc', 'webmmux']
- if run_command(gst_inspect, plugin).returncode() != 0
- warning(plugin + ' was not found. It needs to be installed before Cheese is run')
- endif
- endforeach
+ warning('unable to check for runtime GStreamer plugin dependencies due to Gentoo\'s sandbox: camerabin, vp8enc, webmmux')
else
warning('unable to check for runtime GStreamer plugin dependencies')
endif
@@ -0,0 +1,177 @@
From 7cf6268e54620bbbe5e6e61800c50fb0cb4bea57 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Corentin=20No=C3=ABl?= <corentin@elementary.io>
Date: Fri, 16 Oct 2020 19:56:26 +0200
Subject: [PATCH] Change GLib.PtrArray into GLib.GenericArray
This is the vala-friendly way of handling GPtrArray.
Fix several memory leaks on the go and unnecessary reference increase.
---
src/cheese-preferences.vala | 26 ++++++++++++--------------
src/cheese-window.vala | 22 +++++++++++-----------
src/vapi/cheese-common.vapi | 2 +-
3 files changed, 24 insertions(+), 26 deletions(-)
diff --git a/src/cheese-preferences.vala b/src/cheese-preferences.vala
index f56af7e0..80a92431 100644
--- a/src/cheese-preferences.vala
+++ b/src/cheese-preferences.vala
@@ -100,7 +100,7 @@ public PreferencesDialog (Cheese.Camera camera)
*/
private void initialize_camera_devices ()
{
- unowned GLib.PtrArray devices = camera.get_camera_devices ();
+ GLib.GenericArray<unowned Cheese.CameraDevice> devices = camera.get_camera_devices ();
camera_model = new Gtk.ListStore (2, typeof (string), typeof (Cheese.CameraDevice));
source_combo.model = camera_model;
@@ -357,13 +357,13 @@ public PreferencesDialog (Cheese.Camera camera)
*/
private void on_camera_update_num_camera_devices ()
{
- unowned GLib.PtrArray devices = camera.get_camera_devices ();
- Cheese.CameraDevice dev;
+ GLib.GenericArray<unowned Cheese.CameraDevice> devices = camera.get_camera_devices ();
+ unowned Cheese.CameraDevice dev;
// Add (if) / Remove (else) a camera device.
- if (devices.len > camera_model.iter_n_children (null))
+ if (devices.length > camera_model.iter_n_children (null))
{
- dev = (Cheese.CameraDevice) devices.index (devices.len - 1);
+ dev = devices.get (devices.length - 1);
add_camera_device(dev);
}
else
@@ -382,12 +382,11 @@ public PreferencesDialog (Cheese.Camera camera)
bool device_removed = false;
devices.foreach ((device) =>
{
- var old_device = (Cheese.CameraDevice) device;
Cheese.CameraDevice new_device;
camera_model.get (iter, 1, out new_device, -1);
// Found the device that was removed.
- if (old_device != new_device)
+ if (device != new_device)
{
remove_camera_device (iter, new_device, active_device);
device_removed = true;
@@ -418,17 +417,16 @@ public PreferencesDialog (Cheese.Camera camera)
*
* @param device a Cheese.CameraDevice to add to the device combo box model
*/
- private void add_camera_device (void *device)
+ private void add_camera_device (Cheese.CameraDevice device)
{
TreeIter iter;
- Cheese.CameraDevice dev = (Cheese.CameraDevice) device;
camera_model.append (out iter);
camera_model.set (iter,
- 0, dev.get_name (),
- 1, dev);
+ 0, device.get_name (),
+ 1, device);
- if (camera.get_selected_device () == dev)
+ if (camera.get_selected_device () == device)
source_combo.set_active_iter (iter);
if (camera_model.iter_n_children (null) > 1)
@@ -445,12 +443,12 @@ public PreferencesDialog (Cheese.Camera camera)
private void remove_camera_device (TreeIter iter, Cheese.CameraDevice device_node,
Cheese.CameraDevice active_device_node)
{
- unowned GLib.PtrArray devices = camera.get_camera_devices ();
+ GLib.GenericArray<unowned Cheese.CameraDevice> devices = camera.get_camera_devices ();
// Check if the camera that we want to remove, is the active one
if (device_node == active_device_node)
{
- if (devices.len > 0)
+ if (devices.length > 0)
set_new_available_camera_device (iter);
else
this.hide ();
diff --git a/src/cheese-window.vala b/src/cheese-window.vala
index ff069808..cc119b68 100644
--- a/src/cheese-window.vala
+++ b/src/cheese-window.vala
@@ -1216,9 +1216,9 @@ public class Cheese.MainWindow : Gtk.ApplicationWindow
*/
public void on_switch_camera_clicked ()
{
- Cheese.CameraDevice selected;
- Cheese.CameraDevice next = null;
- GLib.PtrArray cameras;
+ unowned Cheese.CameraDevice selected;
+ unowned Cheese.CameraDevice next = null;
+ GLib.GenericArray<unowned Cheese.CameraDevice> cameras;
uint i;
if (camera == null)
@@ -1235,9 +1235,9 @@ public class Cheese.MainWindow : Gtk.ApplicationWindow
cameras = camera.get_camera_devices ();
- for (i = 0; i < cameras.len; i++)
+ for (i = 0; i < cameras.length; i++)
{
- next = (Cheese.CameraDevice )cameras.index (i);
+ next = cameras.get (i);
if (next == selected)
{
@@ -1245,13 +1245,13 @@ public class Cheese.MainWindow : Gtk.ApplicationWindow
}
}
- if (i + 1 < cameras.len)
+ if (i + 1 < cameras.length)
{
- next = (Cheese.CameraDevice )cameras.index (i + 1);
+ next = cameras.get (i + 1);
}
else
{
- next = (Cheese.CameraDevice )cameras.index (0);
+ next = cameras.get (0);
}
if (next == selected)
@@ -1269,8 +1269,8 @@ public class Cheese.MainWindow : Gtk.ApplicationWindow
*/
public void set_switch_camera_button_state ()
{
- Cheese.CameraDevice selected;
- GLib.PtrArray cameras;
+ unowned Cheese.CameraDevice selected;
+ GLib.GenericArray<unowned Cheese.CameraDevice> cameras;
if (camera == null)
{
@@ -1288,7 +1288,7 @@ public class Cheese.MainWindow : Gtk.ApplicationWindow
cameras = camera.get_camera_devices ();
- if (cameras.len > 1)
+ if (cameras.length > 1)
{
switch_camera_button.set_visible (true);
return;
diff --git a/src/vapi/cheese-common.vapi b/src/vapi/cheese-common.vapi
index 6517cdfc..e4ae7ad3 100644
--- a/src/vapi/cheese-common.vapi
+++ b/src/vapi/cheese-common.vapi
@@ -35,7 +35,7 @@ namespace Cheese
[CCode (has_construct_function = false)]
public Camera (Clutter.Actor video_texture, string camera_device_node, int x_resolution, int y_resolution);
public bool get_balance_property_range (string property, double min, double max, double def);
- public unowned GLib.PtrArray get_camera_devices ();
+ public GLib.GenericArray<unowned Cheese.CameraDevice> get_camera_devices ();
public unowned Cheese.VideoFormat get_current_video_format ();
public int get_num_camera_devices ();
public unowned Cheese.CameraDevice get_selected_device ();
--
GitLab
@@ -0,0 +1,87 @@
From e7046d564a6f76c1af8f5640ac9c569e07284ec0 Mon Sep 17 00:00:00 2001
From: Bastien Nocera <hadess@hadess.net>
Date: Fri, 18 Sep 2020 12:06:45 +0200
Subject: [PATCH] Fix infinite loop if thumbnailer is not available
The code in cheese_thumb_view_idle_append_item() in
src/thumbview/cheese-thumb-view.c didn't pop the list of items to
thumbnail if thumbnailing failed.
#0 0x00007f4a60e55314 in open64 () at /lib64/libc.so.6
#1 0x00007f4a60de6386 in _IO_file_open () at /lib64/libc.so.6
#2 0x00007f4a60de655a in __GI__IO_file_fopen () at /lib64/libc.so.6
#3 0x00007f4a60dd9aad in __fopen_internal () at /lib64/libc.so.6
#4 0x00007f4a6157a43f in gdk_pixbuf_new_from_file () at /lib64/libgdk_pixbuf-2.0.so.0
#5 0x00007f4a61e84b3a in gnome_desktop_thumbnail_factory_lookup () at /lib64/libgnome-desktop-3.so.19
#6 0x000055cef476046f in cheese_thumb_view_idle_append_item ()
#7 0x00007f4a6124f47b in g_idle_dispatch () at /lib64/libglib-2.0.so.0
#8 0x00007f4a612537af in g_main_context_dispatch () at /lib64/libglib-2.0.so.0
#9 0x00007f4a61253b38 in g_main_context_iterate.constprop () at /lib64/libglib-2.0.so.0
#10 0x00007f4a61253c03 in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#11 0x00007f4a6146a7ca in g_application_run () at /lib64/libgio-2.0.so.0
#12 0x000055cef4758547 in _vala_main ()
#13 0x00007f4a60d8a042 in __libc_start_main () at /lib64/libc.so.6
#14 0x000055cef47554be in _start ()
#0 0x00007f4a60ec562d in __strlen_avx2 () at /lib64/libc.so.6
#1 0x00007f4a61275de8 in g_str_has_suffix () at /lib64/libglib-2.0.so.0
#2 0x00007f4a618c0072 in icon_name_is_symbolic () at /lib64/libgtk-3.so.0
#3 0x00007f4a618c00b1 in theme_dir_get_icon_suffix () at /lib64/libgtk-3.so.0
#4 0x00007f4a618c32ed in theme_lookup_icon () at /lib64/libgtk-3.so.0
#5 0x00007f4a618c3adf in real_choose_icon () at /lib64/libgtk-3.so.0
#6 0x00007f4a618c4762 in gtk_icon_theme_lookup_icon_for_scale () at /lib64/libgtk-3.so.0
#7 0x00007f4a618c5105 in gtk_icon_theme_load_icon_for_scale () at /lib64/libgtk-3.so.0
#8 0x000055cef47605c9 in cheese_thumb_view_idle_append_item ()
#9 0x00007f4a6124f47b in g_idle_dispatch () at /lib64/libglib-2.0.so.0
#10 0x00007f4a612537af in g_main_context_dispatch () at /lib64/libglib-2.0.so.0
#11 0x00007f4a61253b38 in g_main_context_iterate.constprop () at /lib64/libglib-2.0.so.0
#12 0x00007f4a61253c03 in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#13 0x00007f4a6146a7d8 in g_application_run () at /lib64/libgio-2.0.so.0
#14 0x000055cef4758547 in _vala_main ()
#15 0x00007f4a60d8a042 in __libc_start_main () at /lib64/libc.so.6
#16 0x000055cef47554be in _start ()
Closes: #81
---
src/thumbview/cheese-thumb-view.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/thumbview/cheese-thumb-view.c b/src/thumbview/cheese-thumb-view.c
index 1d2d88f5..232fd4b6 100644
--- a/src/thumbview/cheese-thumb-view.c
+++ b/src/thumbview/cheese-thumb-view.c
@@ -92,7 +92,7 @@ GtkWidget * cheese_thumb_view_new (void);
static gboolean
cheese_thumb_view_idle_append_item (gpointer data)
{
- CheeseThumbViewIdleData *item = g_queue_peek_head (data);
+ CheeseThumbViewIdleData *item = g_queue_pop_head (data);
CheeseThumbView *thumb_view;
CheeseThumbViewPrivate *priv;
@@ -119,6 +119,7 @@ cheese_thumb_view_idle_append_item (gpointer data)
if (!info)
{
g_warning ("Invalid filename\n");
+ g_slice_free (CheeseThumbViewIdleData, item);
return TRUE;
}
g_file_info_get_modification_time (info, &mtime);
@@ -167,6 +168,7 @@ cheese_thumb_view_idle_append_item (gpointer data)
if (error)
{
g_warning ("%s", error->message);
+ g_slice_free (CheeseThumbViewIdleData, item);
return TRUE;
}
}
@@ -183,7 +185,6 @@ cheese_thumb_view_idle_append_item (gpointer data)
g_object_unref (pixbuf);
g_object_unref (file);
g_slice_free (CheeseThumbViewIdleData, item);
- g_queue_pop_head (data);
return TRUE;
}
--
GitLab
+110
View File
@@ -0,0 +1,110 @@
<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "https://pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>
<Source>
<Name>cheese</Name>
<Homepage>https://gitlab.gnome.org/GNOME/cheese</Homepage>
<Packager>
<Name>Pisi Linux Admins</Name>
<Email>admins@pisilinux.org</Email>
</Packager>
<License>GPLv2</License>
<Summary>Take photos and videos with your webcam, with fun graphical effects</Summary>
<Description>Take photos and videos with your webcam, with fun graphical effects</Description>
<Archive sha1sum="fef15ebb2dbe80d255de80cdbdfcd0bcd31f4850" type="tarxz">https://download.gnome.org/sources/cheese/3.38/cheese-3.38.0.tar.xz</Archive>
<BuildDependencies>
<Dependency>appstream-glib-devel</Dependency>
<Dependency>gobject-introspection-devel</Dependency>
<Dependency>meson</Dependency>
<Dependency>vala-devel</Dependency>
<Dependency>yelp-tools</Dependency>
<Dependency>clutter-devel</Dependency>
<Dependency>clutter-gst-devel</Dependency>
<Dependency>clutter-gtk-devel</Dependency>
<Dependency>gnome-desktop-devel</Dependency>
<Dependency>libseccomp-devel</Dependency>
<Dependency>libseccomp</Dependency>
<Dependency>libcanberra-devel</Dependency>
<Dependency>libcanberra-gtk3-devel</Dependency>
<Dependency>gettext-devel</Dependency>
<Dependency>gdk-pixbuf-devel</Dependency>
<Dependency>glib2-devel</Dependency>
<Dependency>itstool</Dependency>
<Dependency>libXtst-devel</Dependency>
<Dependency>librsvg-devel</Dependency>
<Dependency>libgee-devel</Dependency>
<Dependency>gnome-video-effects</Dependency>
<Dependency>gst-plugins-bad-devel</Dependency>
</BuildDependencies>
<Patches>
<Patch>cheese-3.38.0-buildfix.patch</Patch>
<Patch>infinite-loop-thumbnailer.patch</Patch>
<Patch>fix-gnome40-build.patch</Patch>
</Patches>
</Source>
<Package>
<Name>cheese</Name>
<Files>
<Path fileType="executable">/usr/bin</Path>
<Path fileType="library">/usr/lib/girepository-1.0</Path>
<Path fileType="library">/usr/lib/lib*.so*</Path>
<Path fileType="data">/usr/share/applications</Path>
<Path fileType="data">/usr/share/dbus-1</Path>
<Path fileType="data">/usr/share/help</Path>
<Path fileType="doc">/usr/share/doc</Path>
<Path fileType="localedata">/usr/share/locale</Path>
<Path fileType="man">/usr/share/man</Path>
<Path fileType="data">/usr/share/glib-2.0</Path>
<Path fileType="data">/usr/share/icons</Path>
<Path fileType="info">/usr/share/metainfo</Path>
</Files>
<RuntimeDependencies>
<Dependency>cogl</Dependency>
<Dependency>gtk3</Dependency>
<Dependency>cairo</Dependency>
<Dependency>glib2</Dependency>
<Dependency>libX11</Dependency>
<Dependency>clutter</Dependency>
<Dependency>gstreamer</Dependency>
<Dependency>gdk-pixbuf</Dependency>
<Dependency>clutter-gst</Dependency>
<Dependency>clutter-gtk</Dependency>
<Dependency>gnome-desktop</Dependency>
<Dependency>gst-plugins-base</Dependency>
<Dependency>libcanberra-gtk3</Dependency>
</RuntimeDependencies>
</Package>
<Package>
<Name>cheese-devel</Name>
<Files>
<Path fileType="header">/usr/include</Path>
<Path fileType="data">/usr/lib/pkgconfig</Path>
<Path fileType="data">/usr/share/gir-1.0</Path>
</Files>
<RuntimeDependencies>
<Dependency release="current">cheese</Dependency>
<Dependency>gtk3-devel</Dependency>
<Dependency>glib2-devel</Dependency>
<Dependency>libX11-devel</Dependency>
<Dependency>clutter-devel</Dependency>
<Dependency>gstreamer-devel</Dependency>
<Dependency>gdk-pixbuf-devel</Dependency>
<Dependency>clutter-gst-devel</Dependency>
<Dependency>clutter-gtk-devel</Dependency>
<Dependency>gst-plugins-base-devel</Dependency>
<Dependency>gst-plugins-bad-devel</Dependency>
</RuntimeDependencies>
</Package>
<History>
<Update release="1">
<Date>2021-05-28</Date>
<Version>3.38.0</Version>
<Comment>First release for Pisi Linux</Comment>
<Name>Berk Çakar</Name>
<Email>berk2238@hotmail.com</Email>
</Update>
</History>
</PISI>