Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 6 additions & 8 deletions .ci/docker/Dockerfile-post
Original file line number Diff line number Diff line change
@@ -1,21 +1,19 @@
FROM dactl-debian
FROM dactl-debian:latest

RUN apt install --no-install-recommends -qq -y libcomedi-dev
RUN updatedb
RUN apt install --no-install-recommends -qq -y \
libcomedi-dev

RUN useradd -ms /bin/bash user

USER user
WORKDIR /home/user

COPY --chown=user:user . dactl

RUN tar -zcvf libdactl_1.0.orig.tar.gz ./dactl

WORKDIR /home/user/dactl

RUN meson -Dprefix=/usr _build \
&& ninja -C _build
RUN tar -zcvf ../libdactl_1.0.orig.tar.gz ./
RUN export PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig/

RUN debuild

WORKDIR /home/user
Expand Down
1 change: 1 addition & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
_build/
20 changes: 7 additions & 13 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,16 @@
\#*.*\#

_build/
debian/dactl-1.0-0.debhelper.log
debian/dactl-1.0-dev.debhelper.log
debian/gir1.2-dactl-1.0.debhelper.log

# ignore unwanted packaging files
obj-x86_64-linux-gnu/
debian/dactl/
debian/files
debian/tmp/
debian/.debhelper/
debian/**/*.log
debian/**/*.substvars
debian/debhelper-build-stamp
debian/tmp/
debian/files
debian/gir1.2-dactl-1.0.substvars
debian/gir1.2-dactl-1.0/
debian/libdactl-1.0-0.debhelper.log
debian/libdactl-1.0-0.substvars
debian/libdactl-1.0-0/
debian/libdactl-1.0-dev.debhelper.log
debian/libdactl-1.0-dev.substvars
debian/libdactl-1.0-dev/
debian/dactl.debhelper.log
debian/dactl.substvars
debian/dactl/
123 changes: 60 additions & 63 deletions doc/manual/source/setup.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,96 +11,93 @@ Requirements
* GNOME 3 is the only tested DE
* Vala

Building from Source
====================

The source code is hosted on `GitHub <https://github.com/coanda/dactl.git>`_.

Pre-installation Setup
----------------------

Install Fedora 19 .. 23 dependencies
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Install from PackageCloud
==========================

.. code-block:: none
:linenos:

sudo dnf install -y automake autoconf libtool gnome-common intltool gcc vala
sudo dnf install -y glib2-devel gtk3-devel libxml2-devel libgee-devel \
json-glib-devel clutter-devel clutter-gtk-devel gsl-devel gtksourceview3-devel \
libmatheval-devel sqlite-devel gobject-introspection-devel gettext-devel \
gettext-common-devel libmodbus-devel comedilib-devel librsvg2-devel \
python3-devel pygobject3-devel libpeas-devel libsoup-devel webkitgtk4-devel
sudo apt update
sudo apt install --no-install-recommends -qq -y curl ca-certificates
sudo curl -s https://packagecloud.io/install/repositories/coanda/public/script.deb.sh | sudo bash

Install Ubuntu 14.04 dependencies
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# just dactl
sudo apt install dactl

Notice: These commands have only been tested as part of a Travis-CI build.
# libdactl
sudo apt install -y libdactl-1.0

.. code-block:: none
:linenos:
# devlopment
sudo apt install -y libdactl-1.0-dev

sudo add-apt-repository ppa:vala-team/ppa -y
sudo apt-get update -qq
sudo apt-get install -qq gnome-common libglib2.0-dev libjson-glib-dev \
libgee-0.8-dev libvala-0.22-dev libgsl0-dev libsqlite0-dev libxml2-dev \
libmatheval-dev libmodbus-dev libcomedi-dev valac-0.22 librsvg2-dev \
libgirepository1.0-dev libgtk-3-dev libclutter-1.0-dev libclutter-gtk-1.0-dev \
python3-dev python-gobject-dev
Building from Source
====================

Compiled Dependencies
---------------------
The source code is hosted on `GitHub <https://github.com/coanda/dactl.git>`_.
The api documentation is hosted on `GitHub <https://coanda.github.io>`_.

Install Vala dependencies
^^^^^^^^^^^^^^^^^^^^^^^^^
Install Fedora 30
-------------------------------

.. code-block:: none
:linenos:

git clone https://github.com/geoffjay/modbus-vapi.git
git clone https://github.com/geoffjay/comedi-vapi.git
sudo mkdir -p /usr/local/lib/pkgconfig
sudo cp comedi-vapi/comedi.pc /usr/local/lib/pkgconfig/
ver=`vala --version | sed -e 's/.*\([0-9]\.[0-9][0-9]\).*/\1/'`
sudo cp comedi-vapi/comedi.vapi /usr/share/vala-$ver/vapi/
sudo cp modbus-vapi/libmodbus.vapi /usr/share/vala-$ver/vapi/
sudo dnf update
sudo dnf install -y git \
meson \
ninja-build \
gnome-common \
intltool \
gcc \
vala \
libgee-devel \
json-glib-devel \
gsl-devel \
libxml2-devel \
libmatheval-devel \
comedilib-devel \
libpeas-devel \
libsoup-devel \
gtksourceview-devel \
librsvg2-devel \
webkit2gtk3-devel

export PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig/
sudo ninja -C _build install
echo "/usr/local/lib64" | sudo tee --append /etc/ld.so.conf
sudo ldconfig

Install libcld
^^^^^^^^^^^^^^
Install Debian 10
------------------------------

.. code-block:: none
:linenos:

git clone https://github.com/geoffjay/libcld.git
cd libcld
git checkout ca85cde6f53632bcf6b298cd10f336e31f071f2c
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
./autogen.sh
make && sudo make install
cd ..
echo "/usr/local/lib" | sudo tee --append /etc/ld.so.conf
sudo apt install -y git \
meson \
gcc \
valac \
libpeas-dev \
libsoup2.4-dev \
libgtksourceview-3.0-dev \
librsvg2-dev \
libwebkit2gtk-4.0-dev \
gettext

export PKG_CONFIG_PATH=/usr/local/lib/x86_64-linux-gnu/pkgconfig/
git clone git@github.com:coanda/dactl.git
cd dactl
meson _build
sudo ninja -C _build install
echo "/usr/local/lib/x86_64-linux-gnu" | sudo tee --append /etc/ld.so.conf
sudo ldconfig

Compile and Install dactl
-------------------------

.. warning::
Installation overwrites the configuration file at `$(sysconfdir)/dactl/`, if an
alternate value wasn't provided for `--prefix` than this is probably
`/usr/local/etc/dactl`. It's recommended that the existing configuration is copied
over `data/config/dactl.xml` or backed up and dealt with separately.

.. code-block:: none
:linenos:

git clone https://github.com/coanda/dactl.git
cd dactl
git checkout v0.3.x-hotfix
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
./autogen.sh
sudo cp vapi/glib-extra.vapi /usr/share/vala-0.32/vapi/
make && sudo make install

Post-installation Configuration
-------------------------------

Expand Down
1 change: 1 addition & 0 deletions doc/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,4 @@ valadoc = find_program('valadoc', required : false)
gtkdoc = dependency('gtk-doc', required : false)

subdir('reference')
subdir('manual')
114 changes: 106 additions & 8 deletions doc/reference/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -7,29 +7,108 @@ if valadoc.found()
'--directory', '@OUTPUT@',
'--vapidir', join_paths(meson.source_root(), 'vapi'),
'--vapidir', join_paths(meson.source_root(), 'src', 'config'),
'--pkg', 'dactl-config',
'--pkg', 'cld-1.0',
'--pkg', 'comedilib',
'--pkg', 'dactl-config',
'--pkg', 'gio-2.0',
'--pkg', 'gee-0.8',
'--pkg', 'gmodule-2.0',
'--pkg', 'libpeas-1.0',
'--pkg', 'libxml-2.0',
'--pkg', 'comedilib',
'--pkg', 'linux',
'--pkg', 'posix'
]

custom_target('valadoc-core',
input: libdactl_core_sources,
output: 'valadoc',
#custom_target('valadoc-core',
#input: libdactl_core_sources,
#output: 'valadoc-core',
#depends : libdactl,
#build_by_default : get_option('with-valadoc'),
#command :
#[
#valadoc,
#core_doc_common_args,
#'-o', 'valadoc',
#libdactl_core_sources
#]
#)

dactl_doc_common_args = [
'--package-name', 'dactl',
'--package-version', api_version,
'-b', join_paths(meson.source_root(), 'src', 'dactl'),
'--force',
'--directory', '@OUTPUT@',
'--vapidir', join_paths(meson.source_root(), 'vapi'),
'--vapidir', join_paths(meson.source_root(), 'src', 'config'),
'--pkg', 'cld-1.0',
'--pkg', 'comedilib',
'--pkg', 'dactl-1.0',
'--pkg', 'dactl-config',
'--pkg', 'gee-0.8',
'--pkg', 'glib-2.0',
'--pkg', 'glib-extra',
'--pkg', 'gobject-2.0',
'--pkg', 'gtk+-3.0',
'--pkg', 'gtksourceview-3.0',
'--pkg', 'json-glib-1.0',
'--pkg', 'libxml-2.0',
'--pkg', 'librsvg-2.0',
'--pkg', 'libpeas-1.0',
'--pkg', 'posix',
'--pkg', 'webkit2gtk-4.0',
]

custom_target('valadoc-dactl',
input: dactl_sources_object,
output: 'valadoc-dactl',
depends : libdactl,
build_by_default : get_option('with-valadoc'),
command :
[
valadoc,
dactl_doc_common_args,
'-o', 'valadoc',
dactl_sources_object
]
)

ui_doc_common_args = [
'--verbose',
'--package-name', 'libdactl',
'--package-version', api_version,
'-b', join_paths(meson.source_root(), 'src', 'libdactl'),
'--force',
'--directory', '@OUTPUT@',
'--vapidir', join_paths(meson.source_root(), 'vapi'),
'--vapidir', join_paths(meson.source_root(), 'src', 'config'),
'--pkg', 'cld-1.0',
'--pkg', 'comedilib',
'--pkg', 'dactl-config',
'--pkg', 'gee-0.8',
'--pkg', 'gmodule-2.0',
'--pkg', 'gsl',
'--pkg', 'gtk+-3.0',
'--pkg', 'libpeas-1.0',
'--pkg', 'libxml-2.0',
'--pkg', 'librsvg-2.0',
'--pkg', 'linux',
'--pkg', 'posix',
'--pkg', 'webkit2gtk-4.0',
]

core_ui_sources = [libdactl_core_sources, ui_sources_object]
custom_target('valadoc-dactl-ui',
input: core_ui_sources,
output: 'valadoc-dactl-ui',
depends : libdactl,
build_by_default : get_option('with-valadoc'),
command :
[
valadoc,
core_doc_common_args,
ui_doc_common_args,
'-o', 'valadoc',
libdactl_core_sources
core_ui_sources,
]
)

Expand All @@ -53,12 +132,31 @@ if valadoc.found()
]
)

#custom_target('gtkdoc-dactl',
#input : libdactl_core_sources,
#output : 'gtkdoc',
#depends : libdactl,
#build_by_default : get_option('with-gtkdoc'),
#command :
#[
#valadoc,
#'--doclet', 'gtkdoc',
#'-o', 'gtkdoc',
#core_doc_common_args,
#'-X', join_paths(meson.build_root(), 'src/libdactl/dactl.h'),
#'-X', '-l',
#'-X', join_paths(meson.build_root(), 'src/libdactl/libdactl-1.0.so'),
#'-b', join_paths(meson.source_root(), 'src', 'libdactl'),
#libdactl_core_sources
#]
#)
endif

# TODO: implement gtkdoc creation - see https://gitlab.gnome.org/sbacher/rygel/tree/master/doc/reference/librygel-core/gtkdoc
## if get_option('with-gtkdoc')
## install_subdir('gtkdoc/html',
## install_dir : join_paths(get_option('datadir'), 'gtk-doc/html/libdactl'),
## strip_directory : true
## )
## endif
endif
endif
4 changes: 2 additions & 2 deletions meson.build
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
project('dactl', [ 'c', 'vala' ],
license: 'LGPL3+',
version: '0.4.4',
meson_version: '>= 0.50.0',
meson_version: '>= 0.49.2',
default_options: [
'c_std=gnu11',
'warning_level=2',
Expand Down Expand Up @@ -62,7 +62,7 @@ dir_vapi = join_paths(meson.current_source_dir(), 'vapi')

add_project_arguments([
['--vapidir', dir_vapi],
'--disable-warnings',
#'--disable-warnings',
], language: 'vala')

dep_cld = dependency('cld-1.0')
Expand Down
Loading