├── .github └── workflows │ └── build-prs.yml ├── .gitignore ├── LICENSE ├── README.md ├── icons └── jami.png ├── scripts └── jami-gnome-wrapper └── snap └── snapcraft.yaml /.github/workflows/build-prs.yml: -------------------------------------------------------------------------------- 1 | name: Build Pull Requests 2 | 3 | on: 4 | - pull_request 5 | 6 | jobs: 7 | snapcraft-build: 8 | runs-on: ubuntu-latest 9 | steps: 10 | - uses: actions/checkout@v2 11 | - uses: jhenstridge/snapcraft-build-action@v1 12 | id: build 13 | - uses: diddlesnaps/snapcraft-review-tools-action@v1 14 | with: 15 | snap: ${{ steps.build.outputs.snap }} 16 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | #snapcraft specifics 2 | parts 3 | stage 4 | prime -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 Snapcrafters 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

2 | Project 3 |
4 | [Project] 5 |

6 | 7 |

This is the snap for [Project], "Single-line elevator pitch for your amazing snap". It works on Ubuntu, Fedora, Debian, and other major Linux 8 | distributions.

9 | 10 | 15 | 16 | ## Install 17 | 18 | sudo apt install snapd-xdg-open 19 | sudo snap install my-snap-name 20 | 21 | ([Don't have snapd installed?](https://snapcraft.io/docs/core/install)) 22 | 23 | 26 | 27 |

Published for with :gift_heart: by Snapcrafters

28 | 29 | ## Remaining tasks 30 | 31 | Snapcrafters ([join us](https://forum.snapcraft.io/t/join-snapcrafters/1325)) 32 | are working to land snap install documentation and 33 | the [snapcraft.yaml](https://github.com/snapcrafters/fork-and-rename-me/blob/master/snap/snapcraft.yaml) 34 | upstream so [Project] can authoritatively publish future releases. 35 | 36 | - [x] Fork the [Snapcrafters template](https://github.com/snapcrafters/fork-and-rename-me) repository to your own GitHub account. 37 | - If you have already forked the Snapcrafter template to your account and want to create another snap, you'll need to use GitHub's [Import repository](https://github.com/new/import) feature because you can only fork a repository once. 38 | - [ ] Rename the forked Snapcrafters template repository 39 | - [ ] Update logos and references to `[Project]` and `[my-snap-name]` 40 | - [ ] Create a snap that runs in `devmode` 41 | - [ ] Register the snap in the store, **using the preferred upstream name** 42 | - [ ] Add a screenshot to this `README.md` 43 | - [ ] Publish the `devmode` snap in the Snap store edge channel 44 | - [ ] Add install instructions to this `README.md` 45 | - [ ] Update snap store metadata, icons and screenshots 46 | - [ ] Convert the snap to `strict` confinement, or `classic` confinement if it qualifies 47 | - [ ] Publish the confined snap in the Snap store beta channel 48 | - [ ] Update the install instructions in this `README.md` 49 | - [ ] Post a call for testing on the [Snapcraft Forum](https://forum.snapcraft.io) - [link]() 50 | - [ ] Ask a [Snapcrafters admin](https://github.com/orgs/snapcrafters/people?query=%20role%3Aowner) to fork your repo into github.com/snapcrafters, transfer the snap name from you to snapcrafters, and configure the repo for automatic publishing into edge on commit 51 | - [ ] Add the provided Snapcraft build badge to this `README.md` 52 | - [ ] Publish the snap in the Snap store stable channel 53 | - [ ] Update the install instructions in this `README.md` 54 | - [ ] Post an announcement in the [Snapcraft Forum](https://forum.snapcraft.io) - [link]() 55 | - [ ] Submit a pull request or patch upstream that adds snap install documentation - [link]() 56 | - [ ] Submit a pull request or patch upstream that adds the `snapcraft.yaml` and any required assets/launchers - [link]() 57 | - [ ] Add upstream contact information to the `README.md` 58 | - If upstream accept the PR: 59 | - [ ] Request upstream create a Snap store account 60 | - [ ] Contact the Snap Advocacy team to request the snap be transferred to upstream 61 | - [ ] Ask the Snap Advocacy team to celebrate the snap - [link]() 62 | 63 | If you have any questions, [post in the Snapcraft forum](https://forum.snapcraft.io). 64 | 65 | ## The Snapcrafters 66 | 67 | | [![Your Name](http://gravatar.com/avatar/bc0bced65e963eb5c3a16cab8b004431/?s=128)](https://github.com/yourname/) | 68 | | :---: | 69 | | [Your Name](https://github.com/yourname/) | 70 | 71 | 78 | -------------------------------------------------------------------------------- /icons/jami.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/diddlesnaps/jami/1d2a757faa232f5cfd8ce213546d20074fd3618c/icons/jami.png -------------------------------------------------------------------------------- /scripts/jami-gnome-wrapper: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | $SNAP/usr/lib/ring/dring -cd& 4 | 5 | exec "$@" 6 | -------------------------------------------------------------------------------- /snap/snapcraft.yaml: -------------------------------------------------------------------------------- 1 | name: jami 2 | version: "20201027.1.3883929" 3 | adopt-info: jami 4 | icon: icons/jami.png 5 | summary: 'Jami: secure, distributed communication software & SIP client' 6 | description: > 7 | Jami is free software which allows its users to communicate in multiple ways. 8 | 9 | * A telephone: a simple tool to connect, communicate and share. 10 | * A teleconferencing tool: easily join calls to create conferences with multiple participants. 11 | * A media sharing tool: Jami supports a variety of video input options, including mutliple cameras and image and video files, and the selection of audio inputs and outputs; all this is supported by multiple high quality audio and video codecs. 12 | * A messenger: send text messeges during calls or out of calls (as long as your peer is connected). 13 | * A building block for your IoT project: re-use the universal communications technology of Jami with its portable library on your system of choice. 14 | 15 | confinement: strict 16 | grade: stable 17 | base: core18 18 | 19 | plugs: 20 | gnome-3-28-1804: 21 | interface: content 22 | target: $SNAP/gnome-platform 23 | default-provider: gnome-3-28-1804:gnome-3-28-1804 24 | gtk-3-themes: 25 | interface: content 26 | target: $SNAP/data-dir/themes 27 | default-provider: gtk-common-themes:gtk-3-themes 28 | icon-themes: 29 | interface: content 30 | target: $SNAP/data-dir/icons 31 | default-provider: gtk-common-themes:icon-themes 32 | sound-themes: 33 | interface: content 34 | target: $SNAP/data-dir/sounds 35 | default-provider: gtk-common-themes:sounds-themes 36 | 37 | slots: 38 | dbus-jami: 39 | interface: dbus 40 | bus: session 41 | name: net.jami.Jami 42 | dbus-ring: 43 | interface: dbus 44 | bus: session 45 | name: cx.ring.Ring 46 | dbus-jamignome: 47 | interface: dbus 48 | bus: session 49 | name: cx.ring.RingGnome 50 | 51 | layout: 52 | /usr/lib/$SNAPCRAFT_ARCH_TRIPLET/webkit2gtk-4.0: 53 | bind: $SNAP/gnome-platform/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/webkit2gtk-4.0 54 | /usr/lib/$SNAPCRAFT_ARCH_TRIPLET/alsa-lib: 55 | bind: $SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/alsa-lib 56 | /usr/local/share/jami-gnome: 57 | bind: $SNAP/usr/share/jami-gnome 58 | 59 | environment: 60 | DISABLE_WAYLAND: 'true' 61 | XDG_CURRENT_DESKTOP: Unity 62 | 63 | apps: 64 | jami: 65 | command: usr/bin/jami-gnome 66 | command-chain: 67 | - bin/desktop-launch 68 | - snap/command-chain/alsa-launch 69 | - bin/jami-gnome-wrapper 70 | common-id: net.jami.Jami 71 | desktop: usr/share/applications/jami-gnome.desktop 72 | slots: 73 | - dbus-jami 74 | - dbus-ring 75 | - dbus-jamignome 76 | plugs: 77 | - audio-playback 78 | - audio-record 79 | - browser-support 80 | - camera 81 | - desktop 82 | - desktop-legacy 83 | - gsettings 84 | - hardware-observe 85 | - home 86 | - network 87 | - network-bind 88 | - opengl 89 | - removable-media 90 | - unity7 91 | - wayland 92 | - x11 93 | 94 | parts: 95 | desktop-launch: 96 | source: https://github.com/ubuntu/snapcraft-desktop-helpers.git 97 | plugin: nil 98 | build-packages: 99 | - gcc-8 100 | - qtbase5-dev 101 | - dpkg-dev 102 | stage-packages: 103 | - libqt5gui5 104 | - libqt5svg5 # for loading icon themes which are svg 105 | - try: [appmenu-qt5] # not available on core18 106 | override-pull: | 107 | snapcraftctl pull 108 | sed -i -E 's|\. \$SNAP/flavor-select|USE_gtk3=true|' gtk/launcher-specific 109 | sed -i -E 's|\. \$SNAP/flavor-select|USE_qt5=true|' qt/launcher-specific 110 | sed -i -E 's|(append_dir GTK_PATH \$RUNTIME/usr/lib/\$ARCH/gtk-2.0)|#\1|' qt/launcher-specific 111 | sed -i -E 's|\$RUNTIME|$SNAP|g' qt/launcher-specific 112 | sed -i -E 's|\$WITH_RUNTIME|no|g' qt/launcher-specific 113 | override-build: | 114 | snapcraftctl build 115 | gcc -Wall -O2 -o bindtextdomain.so -fPIC -shared src/bindtextdomain.c -ldl 116 | 117 | echo "#!/bin/bash" > desktop-launch 118 | cat common/init >> desktop-launch 119 | 120 | cat qt/runtime-exports >> desktop-launch 121 | cat gtk/runtime-exports >> desktop-launch 122 | 123 | cat common/desktop-exports >> desktop-launch 124 | 125 | cat qt/launcher-specific >> desktop-launch 126 | cat gtk/launcher-specific >> desktop-launch 127 | 128 | cat common/mark-and-exec >> desktop-launch 129 | 130 | install -D -m755 desktop-launch $SNAPCRAFT_PART_INSTALL/bin/desktop-launch 131 | install -D -m644 bindtextdomain.so $SNAPCRAFT_PART_INSTALL/lib/bindtextdomain.so 132 | 133 | mkdir -pv $SNAPCRAFT_PART_INSTALL/gnome-platform 134 | 135 | scripts: 136 | plugin: dump 137 | source: scripts 138 | organize: 139 | jami-gnome-wrapper: bin/jami-gnome-wrapper 140 | 141 | alsa-mixin: 142 | plugin: dump 143 | source: https://github.com/diddlesnaps/snapcraft-alsa.git 144 | source-subdir: snapcraft-assets 145 | build-packages: 146 | - libasound2-dev 147 | stage-packages: 148 | - libasound2 149 | - libasound2-plugins 150 | 151 | jami: 152 | after: [alsa-mixin] 153 | source: https://dl.jami.net/release/tarballs/jami_20201027.1.3883929.tar.gz 154 | source-subdir: ring-project 155 | source-type: tar 156 | plugin: nil 157 | parse-info: [usr/share/metainfo/jami-gnome.appdata.xml] 158 | override-pull: | 159 | snapcraftctl pull 160 | sed -i -E 's|(tmpName) << (PACKAGE_NAME << "_shm_")|\1 << "snap.jami." << \2|' daemon/src/media/video/sinkclient.cpp 161 | for file in jami-gnome.desktop jami-gnome.desktop.autostart; do 162 | sed -i -E 's|^Icon=.*|Icon=${SNAP}/usr/share/icons/hicolor/scalable/apps/jami.svg|' client-gnome/$file 163 | done 164 | override-build: | 165 | update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 10 166 | update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 20 167 | update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 10 168 | update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-8 20 169 | 170 | cd $SNAPCRAFT_PART_BUILD/daemon/contrib 171 | mkdir -p native 172 | cd native 173 | ../bootstrap 174 | make 175 | 176 | cd $SNAPCRAFT_PART_BUILD/daemon 177 | ./autogen.sh 178 | ./configure --prefix=/usr --disable-shared 179 | make -j$SNAPCRAFT_PARALLEL_BUILD_COUNT 180 | DESTDIR=$SNAPCRAFT_PART_INSTALL make install 181 | 182 | cd $SNAPCRAFT_PART_BUILD/lrc 183 | mkdir build 184 | cd build 185 | cmake .. -DCMAKE_INSTALL_PREFIX=/usr \ 186 | -DCMAKE_PREFIX_PATH=$SNAPCRAFT_PART_INSTALL/usr \ 187 | -DRING_BUILD_DIR=$SNAPCRAFT_PART_BUILD/daemon/src 188 | make -j$SNAPCRAFT_PARALLEL_BUILD_COUNT 189 | DESTDIR=$SNAPCRAFT_PART_INSTALL make install 190 | 191 | sed -i "s|/usr|$SNAPCRAFT_PART_INSTALL/usr|g" $SNAPCRAFT_PART_INSTALL/usr/lib/cmake/LibRingClient/LibRingClientConfig.cmake 192 | 193 | cd $SNAPCRAFT_PART_BUILD/client-gnome 194 | mkdir build 195 | cd build 196 | cmake .. -DCMAKE_INSTALL_PREFIX=/usr \ 197 | -DCMAKE_PREFIX_PATH=$SNAPCRAFT_PART_INSTALL/usr \ 198 | -DLibRingClient_DIR=$SNAPCRAFT_PART_INSTALL/usr/lib/cmake/LibRingClient 199 | make -j$SNAPCRAFT_PARALLEL_BUILD_COUNT 200 | DESTDIR=$SNAPCRAFT_PART_INSTALL make install 201 | build-packages: 202 | - autoconf 203 | - autoconf-archive 204 | - automake 205 | - autopoint 206 | - bzip2 207 | - cmake 208 | - curl 209 | - g++-8 210 | - gettext 211 | - gnome-icon-theme-symbolic 212 | - gzip 213 | - libappindicator3-dev 214 | - libayatana-appindicator3-dev 215 | - libasound2-dev 216 | - libavcodec-dev 217 | - libavdevice-dev 218 | - libavformat-dev 219 | - libboost-dev 220 | - libcanberra-gtk3-dev 221 | - libclutter-gtk-1.0-dev 222 | - libdbus-1-dev 223 | - libdbus-c++-dev 224 | - libebook1.2-dev 225 | - libexpat1-dev 226 | - libgnutls28-dev 227 | - libgsm1-dev 228 | - libgtk-3-dev 229 | - libjack-jackd2-dev 230 | - libjsoncpp-dev 231 | - libnotify-dev 232 | - libopus-dev 233 | - libpcre3-dev 234 | - libpulse-dev 235 | - libqrencode-dev 236 | - libsamplerate0-dev 237 | - libsndfile1-dev 238 | - libspeex-dev 239 | - libspeexdsp-dev 240 | - libsrtp0-dev 241 | - libswscale-dev 242 | - libtool 243 | - libudev-dev 244 | - libupnp-dev 245 | - libva-dev 246 | - libvdpau-dev 247 | - libwebkit2gtk-4.0-dev 248 | - libyaml-cpp-dev 249 | - qtbase5-dev 250 | - qttools5-dev 251 | - uuid-dev 252 | - yasm 253 | stage-packages: 254 | - freeglut3 255 | - libappindicator3-1 256 | - libayatana-appindicator3-1 257 | - libavcodec-extra 258 | - libavcodec57 259 | - libavdevice57 260 | - libavformat57 261 | - libdbus-1-3 262 | - libdbus-c++-1-0v5 263 | - libebook-1.2-19 264 | - libexpat1 265 | - libglu1-mesa 266 | - libgnutls30 267 | - libgsm1 268 | - libjack-jackd2-0 269 | - libjsoncpp1 270 | - libopus0 271 | - libpcre3 272 | - libqrencode3 273 | - libqt5core5a 274 | - libqt5dbus5 275 | - libqt5gui5 276 | - libqt5sql5 277 | - libqt5sql5-sqlite 278 | - libsamplerate0 279 | - libslang2 280 | - libsndfile1 281 | - libspeex1 282 | - libspeexdsp1 283 | - libswscale4 284 | - libudev1 285 | - libupnp6 286 | - libuuid1 287 | - libva-drm2 288 | - libva-glx2 289 | - libva-wayland2 290 | - libva2 291 | - libvdpau-va-gl1 292 | - libvdpau1 293 | - va-driver-all 294 | --------------------------------------------------------------------------------