Compare commits

...

3 commits

Author SHA1 Message Date
Maxim Logaev ed14d44c67 Fix from Dino to Dino+ in CI
Signed-off-by: Maxim Logaev <maxlogaev@proton.me>
2024-04-15 20:20:42 +03:00
Maxim Logaev 3faef91cd7 Added DEB-package generation using CPack
Signed-off-by: Maxim Logaev <maxlogaev@proton.me>
2024-04-15 20:20:15 +03:00
Maxim Logaev d6c76bfb80 Added Dino+ info to LICENSE_SHORT
Signed-off-by: Maxim Logaev <maxlogaev@proton.me>
2024-04-15 20:05:42 +03:00
6 changed files with 71 additions and 16 deletions

View file

@ -17,26 +17,26 @@ jobs:
- name: Install build-dependencies - name: Install build-dependencies
run: | run: |
msys2 -c './build-win64.sh --prepare' msys2 -c './build-win64.sh --prepare'
- name: Build Dino (Meson, without saving) - name: Build Dino+ (Meson, without saving)
run: | run: |
msys2 -c './build-win64.sh -s meson -c -b -t -w' msys2 -c './build-win64.sh -s meson -c -b -t -w'
- name: Build Dino (CMake) - name: Build Dino+ (CMake)
run: | run: |
msys2 -c './build-win64.sh -s cmake -c -b -t -i' msys2 -c './build-win64.sh -s cmake -c -b -t -i'
- name: Build Dino installer - name: Build Dino+ installer
run: | run: |
msys2 -c './build-win64.sh --build-installer' msys2 -c './build-win64.sh --build-installer'
- name: Upload Dino installer - name: Upload Dino+ installer
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
with: with:
name: dino-installer name: dino-plus-installer
path: windows-installer/dino-installer.exe path: windows-installer/dino-installer.exe
- name: Release Dino installer - name: Release Dino+ installer
if: ${{ github.ref_type == 'tag' }} if: ${{ github.ref_type == 'tag' }}
uses: svenstaro/upload-release-action@2.9.0 uses: svenstaro/upload-release-action@2.9.0
with: with:
repo_token: ${{ secrets.GITHUB_TOKEN }} repo_token: ${{ secrets.GITHUB_TOKEN }}
file: windows-installer/dino-installer.exe file: windows-installer/dino-installer.exe
asset_name: dino-installer.exe asset_name: dino-plus-installer.exe
tag: ${{ github.ref }} tag: ${{ github.ref }}
release_name: Dino ${{ github.ref_name }} release_name: Dino+ ${{ github.ref_name }}

View file

@ -10,9 +10,26 @@ jobs:
- run: sudo apt-get update - run: sudo apt-get update
- run: sudo apt-get remove libunwind-14-dev - run: sudo apt-get remove libunwind-14-dev
- run: sudo apt-get install -y build-essential gettext cmake valac libgee-0.8-dev libsqlite3-dev libgtk-4-dev libnotify-dev libgpgme-dev libsoup2.4-dev libgcrypt20-dev libqrencode-dev libnice-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libsrtp2-dev libwebrtc-audio-processing-dev libadwaita-1-dev libsignal-protocol-c-dev libcanberra-dev - run: sudo apt-get install -y build-essential gettext cmake valac libgee-0.8-dev libsqlite3-dev libgtk-4-dev libnotify-dev libgpgme-dev libsoup2.4-dev libgcrypt20-dev libqrencode-dev libnice-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libsrtp2-dev libwebrtc-audio-processing-dev libadwaita-1-dev libsignal-protocol-c-dev libcanberra-dev
- run: ./configure --with-tests --with-libsignal-in-tree - run: ./configure --release --no-debug --with-tests --enable-plugin=notification-sound --prefix=/usr
- run: make - run: cmake --build build
- run: make test - run: cmake --build build --target=test
- name: Build DEB-package
run: cd build && cpack -G DEB
- name: Upload Dino+ DEB-package
uses: actions/upload-artifact@v4
with:
name: dino-plus-deb
path: _packages/dino-plus.deb
- name: Release Dino+ DEB-package
if: ${{ github.ref_type == 'tag' }}
uses: svenstaro/upload-release-action@2.9.0
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: _packages/dino-plus.deb
asset_name: dino-plus.deb
tag: ${{ github.ref }}
release_name: Dino+ ${{ github.ref_name }}
build-meson: build-meson:
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
@ -40,7 +57,7 @@ jobs:
with: with:
manifest-path: im.dino.Dino.json manifest-path: im.dino.Dino.json
build-bundle: true build-bundle: true
- name: Release Dino installer - name: Release Dino+ flatpak
if: ${{ github.ref_type == 'tag' }} if: ${{ github.ref_type == 'tag' }}
uses: svenstaro/upload-release-action@2.9.0 uses: svenstaro/upload-release-action@2.9.0
with: with:
@ -48,4 +65,4 @@ jobs:
file: app.flatpak file: app.flatpak
asset_name: app.flatpak asset_name: app.flatpak
tag: ${{ github.ref }} tag: ${{ github.ref }}
release_name: Dino ${{ github.ref_name }} release_name: Dino+ ${{ github.ref_name }}

View file

@ -223,6 +223,9 @@ add_subdirectory(main)
add_subdirectory(crypto-vala) add_subdirectory(crypto-vala)
add_subdirectory(plugins) add_subdirectory(plugins)
# To generate a DEB package
include(Packing)
# uninstall target # uninstall target
configure_file("${CMAKE_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in" "${CMAKE_BINARY_DIR}/cmake_uninstall.cmake" IMMEDIATE @ONLY) configure_file("${CMAKE_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in" "${CMAKE_BINARY_DIR}/cmake_uninstall.cmake" IMMEDIATE @ONLY)
add_custom_target(uninstall COMMAND ${CMAKE_COMMAND} -P ${CMAKE_BINARY_DIR}/cmake_uninstall.cmake COMMENT "Uninstall the project...") add_custom_target(uninstall COMMAND ${CMAKE_COMMAND} -P ${CMAKE_BINARY_DIR}/cmake_uninstall.cmake COMMENT "Uninstall the project...")

View file

@ -1,5 +1,6 @@
Dino - Modern Jabber/XMPP Client using GTK+/Vala Dino+, a modern XMPP/Jabber client software based on Dino
Copyright (C) 2016-2020 Dino contributors Copyright (C) 2016-2023 Dino contributors
Copyright (C) 2024 Dino+ contributors
This program is free software: you can redistribute it and/or modify This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by

34
cmake/Packing.cmake Normal file
View file

@ -0,0 +1,34 @@
# This is a package creation module using CPack.
# Currently only DEB package generation is supported.
set(CPACK_PACKAGE_NAME dino-plus)
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY
"modern XMPP/Jabber client software, based on Dino.
Dino+ is a fork of Dino, a modern XMPP/Jabber client
written in Vala using GTK+, which includes a few
relatively minor but important quality-of-life features.")
set(CPACK_VERBATIM_VARIABLES YES)
set(CPACK_PACKAGE_FILE_NAME ${CPACK_PACKAGE_NAME})
set(CPACK_PACKAGE_INSTALL_DIRECTORY ${CPACK_PACKAGE_NAME})
set(CPACK_OUTPUT_FILE_PREFIX "${CMAKE_SOURCE_DIR}/_packages")
set(CPACK_PACKAGE_VERSION ${VERSION_FULL})
set(CPACK_PACKAGE_HOMEPAGE_URL "https://github.com/mxlgv/dino")
set(CPACK_PACKAGE_CONTACT "maxlogaev@proton.me")
set(CPACK_COMPONENTS_GROUPING ALL_COMPONENTS_IN_ONE)
set(CPACK_STRIP_FILES TRUE)
# For DEB only
set(CPACK_DEBIAN_PACKAGE_MAINTAINER "Maxim Logaev <${CPACK_PACKAGE_CONTACT}>")
set(CPACK_DEB_COMPONENT_INSTALL YES)
set(CPACK_DEBIAN_PACKAGE_SECTION "net")
set(CPACK_DEBIAN_PACKAGE_CONFLICTS "dino-im, dino-im-common")
set(CPACK_DEBIAN_PACKAGE_RECOMMENDS "ca-certificates, dbus, fonts-noto-color-emoji, network-manager")
set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON)
set(CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS ON)
set(CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS_POLICY ">=")
install(FILES ${CMAKE_SOURCE_DIR}/LICENSE_SHORT DESTINATION ${SHARE_INSTALL_PREFIX}/doc/${CPACK_PACKAGE_NAME} RENAME copyright)
install(FILES ${CMAKE_SOURCE_DIR}/README.md DESTINATION ${SHARE_INSTALL_PREFIX}/doc/${CPACK_PACKAGE_NAME})
include(CPack)

View file

@ -13,7 +13,7 @@ SetCompressor /SOLID lzma
# Modern Interface # Modern Interface
!include "MUI2.nsh" !include "MUI2.nsh"
!insertmacro MUI_PAGE_LICENSE "LICENSE_SHORT" !insertmacro MUI_PAGE_LICENSE "../LICENSE_SHORT"
!insertmacro MUI_PAGE_INSTFILES !insertmacro MUI_PAGE_INSTFILES
!include "english.nsh" !include "english.nsh"