aboutsummaryrefslogtreecommitdiff
path: root/snap/snapcraft.yaml
blob: 73e6412a6b10c7782f2633fab14f89b073e49158 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
name: messenger-gtk
version: 0.7.0
title: GNUnet Messenger
summary: A GTK based GUI for the Messenger service of GNUnet.
description: |
  Messenger-GTK is a convergent GTK messaging application using the GNUnet Messenger service. The goal is to provide private and secure communication between any group of devices.
  
  The application provides the following features:
  * Creating direct chats and group chats
  * Managing your contacts and groups
  * Invite contacts to a group
  * Sending text messages
  * Sending voice recordings
  * Sharing files privately
  * Deleting messages with any custom delay
  * Renaming contacts
  * Exchanging contact details physically
  * Verifying contact identities
  * Switching between different accounts
  
  Chats will generally created as opt-in. So you can decide who may contact you directly and who does not, accepting to a direct chat. Leaving a chat is also always possible.
adopt-info: messenger-gtk
grade: stable
confinement: strict
base: core22
icon: resources/icon/full_color.svg
apps:
  messenger-gtk:
    command: bin/desktop-launch $SNAP/usr/bin/messenger-gtk
    plugs:
      - desktop
      - desktop-legacy
      - wayland
      - x11
      - home
      - network
      - network-bind
      - camera
      - audio-playback
      - audio-record
      - gsettings

plugs:
  gtk-3-themes:
    interface: content
    target: $SNAP/share/themes
    default-provider: gtk-common-themes
  icon-themes:
    interface: content
    target: $SNAP/share/icons
    default-provider: gtk-common-themes
  sound-themes:
    interface: content
    target: $SNAP/share/sounds
    default-provider: gtk-common-themes

parts:
  desktop-gtk3:
    build-packages:
     - build-essential
     - libc6-dev
     - libgtk-3-dev
     - dpkg-dev
    make-parameters:
      - FLAVOR=gtk3
    plugin: make
    source: https://github.com/ubuntu/snapcraft-desktop-helpers.git
    source-subdir: gtk
    stage-packages:
      - dmz-cursor-theme
      - light-themes
      - adwaita-icon-theme
      - sound-theme-freedesktop
      - gnome-themes-standard
      - gnome-icon-theme
      - fonts-emojione
      - shared-mime-info
      - locales-all
      - xdg-user-dirs
      - gobject-introspection
      - libxcursor1
      - libgtk-3-0
      - libltdl7
      - libc6
      
  gnunet:
    build-packages:
      - build-essential
      - libc6-dev
      - libgcrypt20-dev
      - recutils
      - libjansson-dev
      - libsodium-dev
      - libcurl4-gnutls-dev
      - libidn2-dev
      - libunistring-dev
      - libsqlite3-dev
      - libmicrohttpd-dev
    stage-packages:
      - libgcrypt20
      - recutils
      - libjansson4
      - libsodium23
      - libcurl3-gnutls
      - libidn2-0
      - libunistring2
      - libsqlite3-0
      - libmicrohttpd12
    source: http://ftpmirror.gnu.org/gnunet/gnunet-0.17.5.tar.gz
    plugin: autotools
    autotools-configure-parameters: [ '--disable-documentation', '--prefix=/usr' ]
  libgnunetchat:
    after: [ gnunet ]
    build-packages:
      - build-essential
      - libc6-dev
    source: http://ftpmirror.gnu.org/gnunet/libgnunetchat-0.1.0.tar.gz
    plugin: make
    override-build: |
      make release
      mkdir -p "$SNAPCRAFT_PART_INSTALL/usr/lib"
      export INSTALL_DIR="$SNAPCRAFT_PART_INSTALL/usr/"
      make install
  messenger-gtk:
    after: [ desktop-gtk3, gnunet, libgnunetchat ]
    build-packages:
      - build-essential
      - libc6-dev
      - libglib2.0-dev
      - libgdk-pixbuf-2.0-dev
      - libhandy-1-dev
      - libnotify-dev
      - libqrencode-dev
      - libzbar-dev
      - libgstreamer1.0-dev
      - libgstreamer-plugins-base1.0-dev
      - desktop-file-utils
    stage-packages:
      - libglib2.0-0
      - libgdk-pixbuf-2.0-0
      - libhandy-1-0
      - libnotify4
      - libqrencode4
      - libzbar0
      - libgstreamer1.0-0
      - libgstreamer-plugins-base1.0-0 
      - gir1.2-gtk-3.0
      - gir1.2-handy-1
      - gir1.2-pango-1.0
    source: http://ftpmirror.gnu.org/gnunet/messenger-gtk-0.7.0.tar.gz
    plugin: make
    override-build: |
      export LD_LIBRARY_PATH="$SNAPCRAFT_STAGE/usr/lib"
      make release
      mkdir -p "$SNAPCRAFT_PART_INSTALL/usr/bin"
      mkdir -p "$SNAPCRAFT_PART_INSTALL/usr/share/icons/hicolor/scalable/apps"
      mkdir -p "$SNAPCRAFT_PART_INSTALL/usr/share/applications"
      mkdir -p "$SNAPCRAFT_PART_INSTALL/usr/share/appdata"
      export INSTALL_DIR="$SNAPCRAFT_PART_INSTALL/usr/"
      make install
    override-prime: |
      snapcraftctl prime
      rm -f usr/lib/x86_64-linux-gnu/libc_malloc_debug.so
      ln -s libc_malloc_debug.so.0 usr/lib/x86_64-linux-gnu/libc_malloc_debug.so