Commit f849adfe authored by Evangelos Ribeiro Tzaras's avatar Evangelos Ribeiro Tzaras
Browse files

New upstream version 0.3.0

parent 427b6b57
include:
- 'https://source.puri.sm/Librem5/librem5-ci/raw/master/librem5-pipeline-definitions.yml'
- 'https://source.puri.sm/Librem5/librem5-ci/raw/master/librem5-pipeline-byzantium-jobs.yml'
stages:
- build
......@@ -7,79 +8,54 @@ stages:
- package
- test-package
variables:
DEPS: build-essential git
WANT_BUILD_DEPS: "true"
IMAGE: debian:bullseye
COMMON_BUILD_OPTS: --werror
before_script:
- export DEBIAN_FRONTEND=noninteractive
- apt-get -y update
- apt-get -y install $DEPS wget ca-certificates gnupg
- echo "deb http://ci.puri.sm/ bullseyeci main" > /etc/apt/sources.list.d/ci.list
- wget -O- https://ci.puri.sm/ci-repo.key | apt-key add -
- apt-get -y update
- apt-get -y build-dep .
- ulimit -c unlimited
.tags: &tags
tags:
- librem5
.build_step: &build_step
script:
- 'echo "Build opts: ${BUILD_OPTS}"'
- meson ${BUILD_OPTS} . _build
- ninja -C _build
build:native:
<<: *tags
image: $IMAGE
stage: build
artifacts:
paths:
- _build
variables:
BUILD_OPTS: -Dgtk_doc=true ${COMMON_BUILD_OPTS}
<<: *build_step
WANT_BUILD_DEPS: "true"
COMMON_BUILD_OPTS: --werror
except:
variables:
- $PKG_ONLY == "1"
image: pureos/byzantium
tags:
- librem5
before_script:
- export DEBIAN_FRONTEND=noninteractive
- apt-get -y update
- apt-get -y build-dep .
- ulimit -c unlimited
script:
- 'echo "Build opts: ${BUILD_OPTS}"'
- meson ${BUILD_OPTS} . _build
- ninja -C _build
test:native:
<<: *tags
image: $IMAGE
extends: build:native
stage: test
dependencies:
- build:native
script:
- export LC_ALL=C.UTF-8
- xvfb-run ninja -C _build test
except:
variables:
- $PKG_ONLY == "1"
build-gtkdoc:
<<: *tags
image: $IMAGE
extends: build:native
stage: test
dependencies:
- build:native
<<: *build_step
script:
- ninja -C _build calls-doc
- mv _build/doc/html/ _reference/
artifacts:
paths:
- _reference
except:
variables:
- $PKG_ONLY == "1"
check-po:
<<: *tags
image: $IMAGE
extends: build:native
stage: test
dependencies:
- build:native
......@@ -92,25 +68,62 @@ check-po:
# in this case
- cd po/
- intltool-update -m 2>&1 | grep -qs '/.*\.c' && { intltool-update -m; exit 1; } || exit 0
except:
variables:
- $PKG_ONLY == "1"
package:deb-debian-buster:
extends: .l5-build-debian-package
package:deb-debian-buster:arm64:
# For some reason including https://gitlab.gnome.org/GNOME/citemplates/raw/master/flatpak/flatpak_ci_initiative.yml fails, therefore it's copied here
.flatpak:
image: 'registry.gitlab.gnome.org/gnome/gnome-runtime-images/gnome:master'
stage: 'package'
interruptible: true
tags:
- librem5:arm64
extends: .l5-build-debian-package
- flatpak
script:
- rewrite-flatpak-manifest ${MANIFEST_PATH} ${FLATPAK_MODULE} ${CONFIG_OPTS}
- flatpak-builder --user --disable-rofiles-fuse flatpak_app --repo=repo ${BRANCH:+--default-branch=$BRANCH} ${MANIFEST_PATH}
# Generate a Flatpak bundle
- flatpak build-bundle repo ${BUNDLE} --runtime-repo=${RUNTIME_REPO} ${APP_ID} ${BRANCH}
- tar cf repo.tar repo/
autopkgtest-debian-buster-package:
dependencies:
- package:deb-debian-buster
extends: .l5-autopkgtest-debian-package
# Run automatic tests inside the Flatpak env
# we need to recreate the build directory because cleanup would have deleted build dependencies
- rm -rf flatpak_app
- flatpak-builder --user --disable-rofiles-fuse --build-only flatpak_app ${MANIFEST_PATH}
- flatpak build-finish --socket=x11 --share=network flatpak_app
- >
xvfb-run -a -s "-screen 0 1024x768x24"
flatpak-builder --user --disable-rofiles-fuse --build-shell=${FLATPAK_MODULE} flatpak_app ${MANIFEST_PATH} <<END
lintian-debian-buster-package:
dependencies:
- package:deb-debian-buster
extends: .l5-lintian-debian-package
LANG=C.UTF-8
NO_AT_BRIDGE=1
dbus-run-session
meson test --no-stdsplit --print-errorlogs ${TEST_RUN_ARGS}
END
artifacts:
name: 'Flatpak artifacts'
expose_as: 'Get Flatpak bundle here'
when: 'always'
paths:
- "${BUNDLE}"
- 'repo.tar'
- '.flatpak-builder/build/${FLATPAK_MODULE}/_flatpak_build/meson-logs/meson-log.txt'
- '.flatpak-builder/build/${FLATPAK_MODULE}/_flatpak_build/meson-logs/testlog.txt'
expire_in: 14 days
cache:
key: "$CI_JOB_NAME"
paths:
- '.flatpak-builder/downloads'
- '.flatpak-builder/git'
flatpak:master:
extends: .flatpak
stage: package
variables:
MANIFEST_PATH: "sm.puri.Calls.json"
RUNTIME_REPO: "https://nightly.gnome.org/gnome-nightly.flatpakrepo"
FLATPAK_MODULE: "calls"
# Make sure to keep this in sync with the Flatpak manifest, all arguments
# are passed except the config-args because we build it ourselves
MESON_ARGS: ""
APP_ID: "sm.puri.Calls"
BUNDLE: 'calls.flatpak'
......@@ -6,11 +6,11 @@ Comment=A phone dialer and call handler (daemon mode)
Keywords=Telephone;Call;Phone;Dial;Dialer;PSTN;
# Translators: Do NOT translate or transliterate this text (this is an icon file name)!
Icon=sm.puri.Calls
TryExec=calls
Exec=calls --daemon
TryExec=gnome-calls
Exec=gnome-calls --daemon
Type=Application
StartupNotify=true
NoDisplay=true
Terminal=false
Categories=GNOME;GTK;Telephony;
Categories=Network;GNOME;GTK;Telephony;
X-GNOME-AutoRestart=true
......@@ -6,11 +6,11 @@ Comment=A phone dialer and call handler
Keywords=Telephone;Call;Phone;Dial;Dialer;PSTN;
# Translators: Do NOT translate or transliterate this text (this is an icon file name)!
Icon=sm.puri.Calls
TryExec=calls
Exec=calls %u
TryExec=gnome-calls
Exec=gnome-calls %u
Type=Application
StartupNotify=true
Terminal=false
Categories=GNOME;GTK;Telephony;
Categories=Network;GNOME;GTK;Telephony;
MimeType=x-scheme-handler/tel
X-Purism-FormFactor=Workstation;Mobile;
gnome-calls (0.3.0) byzantium; urgency=medium
[ Timo Jyrinki ]
* po: Add Finnish translation from JRfi, refined by me.
[ Evangelos Ribeiro Tzaras ]
* desktop: Add Network main category
* manager: remove trailing whitespace
* manager: add has_active_call() and hang_up_all_calls()
* application: Hang up calls when closing the UI
* application: add copy-number action
* record-row: Allow copying number from context menu
* record-row: hide copy number menu item
* new-call-box: clear entry on longpress
* application: chain up to parents finalize
* application: Use g_autoptr and g_autofree
* application: Notify when opening URI/files fails
* ci: Build flatpak in packaging stage
* call-display: fix whitespace
* project: rename to gnome-calls
* record-store: Handle old and new database locations gracefully
* display: fix null pointer dereference
* code style: consistent whitespaces for g_autoptr
* application: use g_autoptr
* project: rename back to calls
* d/control: Add myself as maintainer
* Document changes and release 0.3.0
[ Eugenio Paolantonio (g7) ]
* ofono: call: ensure signals get disconnected on voice_call object destruction
[ Sebastian Krzyszkowiak ]
* gitlab-ci: Don't use global before_script for package jobs
[ Guido Günther ]
* gitlab-ci: Use byzantium instead of Debian bullseye
[ Mohammed Sadiq ]
* application: Simplify loading css
* application: Remove unused code
* resources: Use standard icon path
* Let calls-provider be an abstract class
[ Yuri Chornoivan ]
* po: Update Ukrainian translation
* po: Update Ukrainian translation
[ Julian Sparber ]
* application: disable dial action when making calls isn't possible
* ci: build packages only for byzantium
* ci: don't use global variables and definitions
* ci: drop bullseyeci packages
* flatpak: use master runtime
* flatpak: add libcanberra
* ci: build flatpak
* ci: write STDOUT for flatpak build to file
* Revert "ci: write STDOUT for flatpak build to file"
* remove CallsCallHolder and CallsCallData
* ContactsProvider: Add contacts provider
* Contacts: replace CallsContacts with CallsContactsProvider
* Revert "ui/main-window: Hide contacts pane"
* Contacts: Add contacts list
* BestMatch: Turn avatar into a property
* BestMatch: Move SearchView creation inside the class
* BestMatch: Allways return a name
* BestMatch: Simplify code for updating new best matching individual
* BestMatch: remove BestMatchView to reduce vala code
* BestMatch: add has-individual property
* CallsCall: Add method to optain matching contact
* CallsCallDisplay: Make sure that the contact infomation is updated
* CallsCallSelectorItem: Make sure that the contact infomation is updated
* CallManager: drop calls_manager_get_contact_name ()
* Remove unused CallsParty
* CallsCallRecordRow: Cleanup contact setup
* CallsCallDisplay: use HdyAvatar
[ Arnaud Ferraris ]
* call-display: update libcallaudio API calls
* src: meson.build: update libcallaudio dependency
* d/control: add version requirement on libcallaudio build dependency
* flatpak: update callaudiod version
* call-display: switch to default audio profile only if no other call
[ Sebastian Rasmussen ]
* po: Update Swedish translation
-- Evangelos Ribeiro Tzaras <evangelos.tzaras@puri.sm> Fri, 12 Feb 2021 10:24:38 +0100
gnome-calls (0.3.0~rc1) byzantium; urgency=medium
* UNRELEASED
[ Evangelos Ribeiro Tzaras]
* rename project files to gnome-calls to be in sync
with Debian packaging
-- Evangelos Ribeiro Tzaras <evangelos.tzaras@puri.sm> Thu, 28 Jan 2021 13:59:33 +0100
calls (0.2.0) amber-phone; urgency=medium
[ Adrien Plazas ]
......
Source: calls
Source: gnome-calls
Section: comm
Priority: optional
Maintainer: Julian Sparber <julian.sparber@puri.sm>
Uploaders:
Bob Ham <rah@settrans.net>,
Maintainer: PureOS Maintainers <pureos-project@puri.sm>
Uploaders: Julian Sparber <julian.sparber@puri.sm>,
Evangelos Ribeiro Tzaras <evangelos.tzaras@puri.sm>
Build-Depends:
debhelper (>= 11),
desktop-file-utils,
gtk-doc-tools <!nodoc>,
libcallaudio-dev,
libcallaudio-dev (>= 0.0.5),
libfeedback-dev,
libhandy-1-dev (>= 1.0.0),
libgtk-3-dev,
......@@ -28,7 +28,9 @@ Build-Depends:
Standards-Version: 4.1.3
Homepage: https://gitlab.gnome.org/Community/Purism/calls
Package: calls
Package: gnome-calls
Replaces: calls (<< 0.3.0)
Breaks: calls (<< 0.3.0)
Architecture: any
Depends:
${misc:Depends},
......@@ -43,7 +45,9 @@ Description: Make and receive PSTN phone calls
It works on desktops but also adjusts to small screen sizes like smart phones
and other mobile devices.
Package: calls-doc
Package: gnome-calls-doc
Replaces: calls-doc (<< 0.3.0)
Breaks: calls-doc (<< 0.3.0)
Architecture: all
Build-Profiles: <!nodoc>
Depends:
......
Test-Command: xvfb-run /usr/bin/calls --help
Test-Command: xvfb-run /usr/bin/gnome-calls --help
Restrictions: superficial
Depends: calls, xauth, xvfb
Depends: gnome-calls, xauth, xvfb
......@@ -22,7 +22,7 @@
project(
'calls',
'c', 'vala',
version: '0.2.0',
version: '0.3.0',
license: 'GPLv3+',
meson_version: '>= 0.47.0',
default_options: [
......
......@@ -33,55 +33,30 @@
struct _CallsDummyProvider
{
GObject parent_instance;
CallsProvider parent_instance;
GList *origins;
};
static void calls_dummy_provider_message_source_interface_init (CallsProviderInterface *iface);
static void calls_dummy_provider_provider_interface_init (CallsProviderInterface *iface);
static void calls_dummy_provider_message_source_interface_init (CallsMessageSourceInterface *iface);
#ifdef FOR_TESTING
G_DEFINE_TYPE_WITH_CODE
(CallsDummyProvider, calls_dummy_provider, G_TYPE_OBJECT,
(CallsDummyProvider, calls_dummy_provider, CALLS_TYPE_PROVIDER,
G_IMPLEMENT_INTERFACE (CALLS_TYPE_MESSAGE_SOURCE,
calls_dummy_provider_message_source_interface_init)
G_IMPLEMENT_INTERFACE (CALLS_TYPE_PROVIDER,
calls_dummy_provider_provider_interface_init))
calls_dummy_provider_message_source_interface_init))
#else
G_DEFINE_DYNAMIC_TYPE_EXTENDED
(CallsDummyProvider, calls_dummy_provider, G_TYPE_OBJECT, 0,
(CallsDummyProvider, calls_dummy_provider, CALLS_TYPE_PROVIDER, 0,
G_IMPLEMENT_INTERFACE_DYNAMIC (CALLS_TYPE_MESSAGE_SOURCE,
calls_dummy_provider_message_source_interface_init)
G_IMPLEMENT_INTERFACE_DYNAMIC (CALLS_TYPE_PROVIDER,
calls_dummy_provider_provider_interface_init))
calls_dummy_provider_message_source_interface_init))
#endif /* FOR_TESTING */
enum {
PROP_0,
PROP_STATUS,
PROP_LAST_PROP,
};
static const gchar *
get_name (CallsProvider *iface)
{
return "Dummy provider";
}
static GList *
get_origins (CallsProvider *iface)
{
CallsDummyProvider *self = CALLS_DUMMY_PROVIDER (iface);
return g_list_copy (self->origins);
}
static gboolean
usr1_handler (CallsDummyProvider *self)
......@@ -98,6 +73,25 @@ usr1_handler (CallsDummyProvider *self)
return TRUE;
}
static const char *
calls_dummy_provider_get_name (CallsProvider *provider)
{
return "Dummy provider";
}
static const char *
calls_dummy_provider_get_status (CallsProvider *provider)
{
return "Normal";
}
static GList *
calls_dummy_provider_get_origins (CallsProvider *provider)
{
CallsDummyProvider *self = CALLS_DUMMY_PROVIDER (provider);
return g_list_copy (self->origins);
}
static void
constructed (GObject *object)
......@@ -114,24 +108,6 @@ constructed (GObject *object)
}
static void
get_property (GObject *object,
guint property_id,
GValue *value,
GParamSpec *pspec)
{
switch (property_id) {
case PROP_STATUS:
g_value_set_string (value, "Normal");
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
break;
}
}
static void
dispose (GObject *object)
{
......@@ -157,26 +133,20 @@ static void
calls_dummy_provider_class_init (CallsDummyProviderClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
CallsProviderClass *provider_class = CALLS_PROVIDER_CLASS (klass);
object_class->constructed = constructed;
object_class->get_property = get_property;
object_class->dispose = dispose;
g_object_class_override_property (object_class, PROP_STATUS, "status");
}
static void
calls_dummy_provider_message_source_interface_init (CallsProviderInterface *iface)
{
provider_class->get_name = calls_dummy_provider_get_name;
provider_class->get_status = calls_dummy_provider_get_status;
provider_class->get_origins = calls_dummy_provider_get_origins;
}
static void
calls_dummy_provider_provider_interface_init (CallsProviderInterface *iface)
calls_dummy_provider_message_source_interface_init (CallsMessageSourceInterface *iface)
{
iface->get_name = get_name;
iface->get_origins = get_origins;
}
......
......@@ -27,11 +27,13 @@
#include <glib-object.h>
#include "calls-provider.h"
G_BEGIN_DECLS
#define CALLS_TYPE_DUMMY_PROVIDER (calls_dummy_provider_get_type ())
G_DECLARE_FINAL_TYPE (CallsDummyProvider, calls_dummy_provider, CALLS, DUMMY_PROVIDER, GObject);
G_DECLARE_FINAL_TYPE (CallsDummyProvider, calls_dummy_provider, CALLS, DUMMY_PROVIDER, CallsProvider)
CallsDummyProvider *calls_dummy_provider_new ();
void calls_dummy_provider_add_origin (CallsDummyProvider *self,
......
......@@ -34,7 +34,7 @@
struct _CallsMMProvider
{
GObject parent_instance;
CallsProvider parent_instance;
/* The status property */
gchar *status;
......@@ -46,37 +46,12 @@ struct _CallsMMProvider
GHashTable *origins;
};
static void calls_mm_provider_message_source_interface_init (CallsProviderInterface *iface);
static void calls_mm_provider_provider_interface_init (CallsProviderInterface *iface);
static void calls_mm_provider_message_source_interface_init (CallsMessageSourceInterface *iface);
G_DEFINE_DYNAMIC_TYPE_EXTENDED
(CallsMMProvider, calls_mm_provider, G_TYPE_OBJECT, 0,
(CallsMMProvider, calls_mm_provider, CALLS_TYPE_PROVIDER, 0,
G_IMPLEMENT_INTERFACE_DYNAMIC (CALLS_TYPE_MESSAGE_SOURCE,
calls_mm_provider_message_source_interface_init)
G_IMPLEMENT_INTERFACE_DYNAMIC (CALLS_TYPE_PROVIDER,
calls_mm_provider_provider_interface_init))
enum {
PROP_0,
PROP_STATUS,
PROP_LAST_PROP,
};
static const gchar *
get_name (CallsProvider *iface)
{
return "ModemManager";
}
static GList *
get_origins (CallsProvider *iface)
{
CallsMMProvider *self = CALLS_MM_PROVIDER (iface);
return g_hash_table_get_values (self->origins);
}
calls_mm_provider_message_source_interface_init))
static void
......@@ -357,6 +332,28 @@ mm_vanished_cb (GDBusConnection *connection,
}
static const char *
calls_mm_provider_get_name (CallsProvider *provider)
{
return "ModemManager";
}
static const char *
calls_mm_provider_get_status (CallsProvider *provider)
{
CallsMMProvider *self = CALLS_MM_PROVIDER (provider);
return self->status;
}
static GList *
calls_mm_provider_get_origins (CallsProvider *provider)
{
CallsMMProvider *self = CALLS_MM_PROVIDER (provider);
return g_hash_table_get_values (self->origins);
}
static void
constructed (GObject *object)