From 0bce1fdc13b64e04ba151c8428c94d7b3974d27d Mon Sep 17 00:00:00 2001 From: Robert Tari Date: Wed, 23 Jun 2021 01:13:56 +0200 Subject: Add install instructions + update documentation - README.md: Update documentation - INSTALL.md: Add file - INSTALL: Drop old file --- INSTALL | 76 -------------------------------------------------------------- INSTALL.md | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 53 +++++++++++++++++++++++++++++++++++++------ 3 files changed, 108 insertions(+), 83 deletions(-) delete mode 100644 INSTALL create mode 100644 INSTALL.md diff --git a/INSTALL b/INSTALL deleted file mode 100644 index 3ea3131..0000000 --- a/INSTALL +++ /dev/null @@ -1,76 +0,0 @@ -# -# Copyright (C) 2013 Canonical Ltd -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 3 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . -# - -BUILD DEPENDENCIES -================== - -build dependencies for indicator-datetime-service - * glib-2.0 >= 2.36 - * gio-unix-2.0 >= 2.36 - * geoclue >= 0.12 - * libical >= 0.48 - * libecal-2.0 >= 3.16 - * libedataserver-1.2 >= 3.5 - * libnotify >= 0.7.6 - * url-dispatcher-1 >= 1 - * json-glib-1.0 >= 0.16.2 - * libaccounts-glib>=1.18 - - -Additional build dependencies for the gnome-control-center panel: - * gtk+-3.0>=3.1.4 - * timezonemap - * libgnome-control-center - * polkit-gobject-1 - -Build dependencies for testing / code coverage: - * gcovr (gcovr, 2.4 or later) - * lcov (lcov, 1.9 or later) - * google test (libgtest-dev, 1.6.0 or later) - * cppcheck (cppcheck) - - -Building the code ------------------ - 1. $ cd indicator-datetime-X.Y.Z - 2. $ mkdir build - 3. $ cd build - 4. $ cmake .. - or - $ cmake -DCMAKE_INSTALL_PREFIX=/your/install/prefix/here .. - or - $ cmake -GNinja .. - 5. $ make - -Running the tests ------------------ - 1. $ cd indicator-datetime-X.Y.Z - 2. $ mkdir build - 3. $ cd build - 4. $ cmake .. - 5. $ make - 6. $ make test - 7. $ make cppcheck - -Generating Test Coverage Reports --------------------------------- - 1. $ cd indicator-datetime-X.Y.Z - 2. $ mkdir build-coverage - 3. $ cd build-coverage - 4. $ cmake -DCMAKE_BUILD_TYPE=coverage .. - 5. $ make - 6. $ make coverage-html - diff --git a/INSTALL.md b/INSTALL.md new file mode 100644 index 0000000..1906f16 --- /dev/null +++ b/INSTALL.md @@ -0,0 +1,62 @@ +# Build and installation instructions + +## Compile-time build dependencies + + - cmake (>= 3.13) + - cmake-extras + - libayatana-common (>= 0.9.3) + - glib-2.0 (>= 2.36) + - libical (>=0.48) + - libecal-2.0 (>=3.16) + - libedataserver-1.2 (>=3.5) + - gstreamer-1.0 (>=1.2) + - libnotify (>=0.7.6) + - properties-cpp (>=0.0.1) + - libaccounts-glib (>=1.18) + - gettext (>= 0.18) + - dbus + - gcovr (>= 2.4) + - lcov (>= 1.9) + - gtest (>= 1.6.0) + - dbus-test-runner + - libdbustest1 + - python3-dbusmock + - glibc-locales + - gvfs-daemons + - systemd + +## For end-users and packagers + +``` +cd ayatana-indicator-datetime-X.Y.Z +mkdir build +cd build +cmake .. +make +sudo make install +``` + +**The install prefix defaults to `/usr`, change it with `-DCMAKE_INSTALL_PREFIX=/some/path`** + +## For testers - unit tests only + +``` +cd ayatana-indicator-datetime-X.Y.Z +mkdir build +cd build +cmake .. -DENABLE_TESTS=ON +make +make test +make cppcheck +``` + +## For testers - both unit tests and code coverage + +``` +cd ayatana-indicator-datetime-X.Y.Z +mkdir build-coverage +cd build-coverage +cmake .. -DENABLE_COVERAGE=ON +make +make coverage-html +``` diff --git a/README.md b/README.md index 32564b7..ce7c403 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,43 @@ -# Ayatana Indicator DateTime +# Ayatana System Indicator — DateTime [![Build Status](https://travis-ci.com/AyatanaIndicators/ayatana-indicator-datetime.svg)](https://travis-ci.com/AyatanaIndicators/ayatana-indicator-datetime) -## INSTALLATION +## About Ayatana Indicators + +The Ayatana Indicators project is the continuation of Application +Indicators and System Indicators, two technologies developed by Canonical +Ltd. for the Unity7 desktop. + +Application Indicators are a GTK implementation of the StatusNotifierItem +Specification (SNI) that was originally submitted to freedesktop.org by +KDE. + +System Indicators are an extensions to the Application Indicators idea. +System Indicators allow for far more widgets to be displayed in the +indicator's menu. + +The Ayatana Indicators project is the new upstream for application +indicators, system indicators and associated projects with a focus on +making Ayatana Indicators a desktop agnostic technology. + +On GNU/Linux, Ayatana Indicators are currently available for desktop +envinronments like MATE (used by default in [Ubuntu +MATE](https://ubuntu-mate.com)), XFCE (used by default in +[Xubuntu](https://bluesabre.org/2021/02/25/xubuntu-21-04-progress-update/), +LXDE, and the Budgie Desktop). + +The Lomiri Operating Environment (UI of the Ubuntu Touch OS, formerly +known as Unity8) uses Ayatana Indicators for rendering its notification +area and the [UBports](https://ubports.com) project is a core contributor +to the Ayatana Indicators project. + +For further info, please visit: +https://ayatana-indicators.org When using the -datetime Ayatana Indicator, make sure that the -datetime Ubuntu Indicator (package name: indicator-datetime) is not installed. -## ACTIONS +## The Session Ayatana System Indicator + +### Actions * **desktop.open-settings-app**
**phone.open-settings-app** @@ -56,7 +88,7 @@ Ubuntu Indicator (package name: indicator-datetime) is not installed. and which day should have the cursor. -## CUSTOM MENUITEMS +### Custom Menuitems * Calendar - x-ayatana-type s "org.ayatana.indicator.calendar" @@ -82,9 +114,9 @@ Ubuntu Indicator (package name: indicator-datetime) is not installed. -## CODE +### Code -### Model +#### Model The app's model is represented by the "State" class, and "Menu" objects are the corresponding views. "State" is a simple container for various @@ -115,7 +147,7 @@ Ubuntu Indicator (package name: indicator-datetime) is not installed. include/datetime/planner-eds.h
include/datetime/timezones-live.h
-### View +#### View Menu is a mostly-opaque class to wrap GMenu code. Its subclasses contain the per-profile logic of which sections/menuitems to show and which to hide. @@ -133,3 +165,10 @@ Ubuntu Indicator (package name: indicator-datetime) is not installed. include/datetime/actions.h
include/datetime/exporter.h
+## License and Copyright + +See COPYING and AUTHORS file in this project. + +## Building and Testing + +For instructions on building and running built-in tests, see the INSTALL.md file. -- cgit v1.2.3