Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

A few small fixes #749

Merged
merged 10 commits into from
Dec 27, 2023
4 changes: 2 additions & 2 deletions .github/workflows/testing.yml
Original file line number Diff line number Diff line change
Expand Up @@ -102,10 +102,10 @@ jobs:
flatpak install --user -y flathub org.gnome.Platform//45 org.gnome.Sdk//45
- name: Build application
run: |
flatpak-builder --repo=build/flatpak/repo build/flatpak/tmp org.gnome.Hamster.yml
flatpak-builder --repo=build/flatpak/repo build/flatpak/tmp data/org.gnome.Hamster.flatpak.yml
- name: Run tests inside sandbox
run: |
dbus-launch flatpak-builder --run build/flatpak/tmp org.gnome.Hamster.yml python3 -m unittest
dbus-launch flatpak-builder --run build/flatpak/tmp data/org.gnome.Hamster.flatpak.yml python3 -m unittest
- name: Export bundle and try to install it
run: |
mkdir -p dist
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ GNOME SDK beforehand (an error will notify you about it, if needed). Execute:

```bash
flatpak-builder --force-clean --user --install \
build/flatpak org.gnome.Hamster.yml
build/flatpak data/org.gnome.Hamster.flatpak.yml
```

This creates a temporary flatpack build folder in the ``build/flatpak``
Expand Down Expand Up @@ -247,7 +247,7 @@ run:
To run the tests inside the flatpak, use:

```bash
flatpak-builder --run build/flatpak org.gnome.Hamster.yml \
flatpak-builder --run build/flatpak data/org.gnome.Hamster.flatpak.yml \
python3 -m unittest
```

Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ modules:
- "./waf install"
sources:
- type: dir
path: "."
path: ".."
finish-args:
- "--socket=wayland"
- "--socket=fallback-x11"
Expand Down
6 changes: 5 additions & 1 deletion data/org.gnome.Hamster.metainfo.xml.in
Original file line number Diff line number Diff line change
Expand Up @@ -35,12 +35,16 @@
<screenshots>
<screenshot type="default">
<caption>The overview window</caption>
<image>https://raw.githubusercontent.com/projecthamster/hamster/master/screenshot.png</image>
<image>https://raw.githubusercontent.com/projecthamster/hamster/master/data/screenshots/overview.png</image>
</screenshot>
<screenshot>
<caption>The overview window with statistics</caption>
<image>https://raw.githubusercontent.com/projecthamster/hamster/master/data/screenshots/overview2.png</image>
</screenshot>
<screenshot>
<caption>The editor window</caption>
<image>https://raw.githubusercontent.com/projecthamster/hamster/master/data/screenshots/editor.png</image>
</screenshot>
</screenshots>
​<translation type="gettext">hamster</translation>
<url type="homepage">https://github.com/projecthamster/hamster/wiki</url>
Expand Down
File renamed without changes.
File renamed without changes
27 changes: 23 additions & 4 deletions data/wscript
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# This file is meant to be included in the root wscript,
# through the recurse("data") command.
# An advantage of keeping it there
# instead of blending it in the root wscript build()
# instead of blending it in the root wscript build()
# is that the files are looked for in the same folder
# (no need to prepend data/ everywhere)

Expand Down Expand Up @@ -30,15 +30,15 @@ def build(ctx):
dict = ctx.env,
install_path = "${DATADIR}/applications"
)

start_dir = ctx.path.find_dir('.')

# glade builder files
ctx.install_files('${DATADIR}/hamster', start_dir.ant_glob('*.ui'))
# default files
ctx.install_files('${DATADIR}/hamster', 'hamster.db')
ctx.install_files('${DATADIR}/hamster', 'report_template.html')

# icons
ctx.install_files('${DATADIR}/hamster/art', start_dir.ant_glob('art/*.png'))
ctx.install_files('${DATADIR}/icons/hicolor/16x16/apps', 'art/16x16/org.gnome.Hamster.GUI.png')
Expand All @@ -51,6 +51,25 @@ def build(ctx):
if not ctx.env.skip_icon_cache_update:
ctx.add_post_fun(update_icon_cache)

# dbus service files
ctx(features="subst",
source= "org.gnome.Hamster.service.in",
target= "org.gnome.Hamster.service",
install_path="${DATADIR}/dbus-1/services",
)

ctx(features="subst",
source= "org.gnome.Hamster.GUI.service.in",
target= "org.gnome.Hamster.GUI.service",
install_path="${DATADIR}/dbus-1/services",
)

ctx(features="subst",
source= "org.gnome.Hamster.WindowServer.service.in",
target= "org.gnome.Hamster.WindowServer.service",
install_path="${DATADIR}/dbus-1/services",
)


# icon cache update
def update_icon_cache(ctx):
Expand Down
3 changes: 1 addition & 2 deletions src/hamster/.gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
*.pyc
defs.py


.flatpak-builder
11 changes: 0 additions & 11 deletions src/hamster/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@
import sys

from calendar import timegm
from distutils.version import LooseVersion
from gi.repository import GObject as gobject
from textwrap import dedent

Expand All @@ -42,16 +41,6 @@
from hamster.lib import datetime as dt


# bug fixed in dbus-python 1.2.14 (released on 2019-11-25)
assert not (
sys.version_info >= (3, 8)
and LooseVersion(dbus.__version__) < LooseVersion("1.2.14")
), """python3.8 changed str(<dbus integers>).
That broke hamster (https://github.com/projecthamster/hamster/issues/477).
Please upgrade to dbus-python >= 1.2.14.
"""


class Storage(gobject.GObject):
"""Hamster client class, communicating to hamster storage daemon via d-bus.
Subscribe to the `tags-changed`, `facts-changed` and `activities-changed`
Expand Down
3 changes: 0 additions & 3 deletions src/hamster/defs.py.in
Original file line number Diff line number Diff line change
@@ -1,5 +1,2 @@
DATA_DIR = "@DATADIR@"
LIB_DIR = "@LIBDIR@"
VERSION = "@VERSION@"
PACKAGE = "@PACKAGE@"
PYTHONDIR = "@PYTHONDIR@"
4 changes: 2 additions & 2 deletions src/hamster/version.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,11 @@ def get_uninstalled_version():
if rc == 0:
import re
# Strip "v" prefix that is used in git tags
return re.sub(r'^v', '', output)
return re.sub(r'^v', '', output.strip())
else:
from pathlib import Path
with open(Path(__file__).parent / 'VERSION', 'r') as f:
return f.read()
return f.read().strip()

def get_version():
"""
Expand Down
37 changes: 9 additions & 28 deletions wscript
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import subprocess
from waflib import Utils

# Reuse code from hamster to figure out the version number to use
process = subprocess.run(["python3", "src/hamster/version.py"], check=True, stdout=subprocess.PIPE, text=True)
process = subprocess.run(["python3", "src/hamster/version.py"], check=True, stdout=subprocess.PIPE, encoding='UTF-8')
VERSION = process.stdout
APPNAME = 'hamster'

Expand All @@ -22,23 +22,23 @@ def options(ctx):
# hence need to replace the whole option
ctx.parser.remove_option('--prefix')
default_prefix = '/usr'

ctx.add_option('--prefix', dest='prefix', default=default_prefix,
help='installation prefix [default: {}]'.format(default_prefix))

ctx.add_option('--skip-gsettings', dest='skip_gsettings', action='store_true',
help='skip gsettings schemas build and installation (for packagers)')

ctx.add_option('--skip-icon-cache-update', dest='skip_icon_cache_update', action='store_true',
help='skip icon cache update (for packagers)')


def configure(ctx):
ctx.load('gnu_dirs') # for DATADIR

if not ctx.options.skip_gsettings:
ctx.load('glib2') # for GSettings support

ctx.load('python')
ctx.check_python_version(minver=(3,4,0))

Expand All @@ -49,10 +49,9 @@ def configure(ctx):

ctx.env.VERSION = VERSION
ctx.env.GETTEXT_PACKAGE = "hamster"
ctx.env.PACKAGE = "hamster"


ctx.recurse("help")

# options are tied to a specific ./waf invocation (one terminal line),
# and woud have to be given again at any other ./waf invocation
# that is trouble when one wants to ./waf uninstall much later;
Expand All @@ -62,7 +61,7 @@ def configure(ctx):
for name in ('prefix', 'skip_gsettings', 'skip_icon_cache_update'):
value = getattr(ctx.options, name)
setattr(ctx.env, name, value)


def build(ctx):
ctx.install_as('${LIBEXECDIR}/hamster/hamster-service', "src/hamster-service.py", chmod=Utils.O755)
Expand All @@ -85,23 +84,5 @@ def build(ctx):
install_path="${PYTHONDIR}/hamster"
)

ctx(features="subst",
source= "org.gnome.Hamster.service.in",
target= "org.gnome.Hamster.service",
install_path="${DATADIR}/dbus-1/services",
)

ctx(features="subst",
source= "org.gnome.Hamster.GUI.service.in",
target= "org.gnome.Hamster.GUI.service",
install_path="${DATADIR}/dbus-1/services",
)

ctx(features="subst",
source= "org.gnome.Hamster.WindowServer.service.in",
target= "org.gnome.Hamster.WindowServer.service",
install_path="${DATADIR}/dbus-1/services",
)

# look for wscript into further directories
ctx.recurse("po data help")
Loading