Browse Source

Add flatpak manifest

Implements #341, closes #403
merge-requests/413/head
doe300 3 years ago
parent
commit
b9fcb0195b
  1. 1
      CMakeLists.txt
  2. 234
      jucipp.yaml

1
CMakeLists.txt

@ -76,6 +76,7 @@ option(BUILD_TESTING "Build tests")
option(BUILD_FUZZING "Build tests") option(BUILD_FUZZING "Build tests")
option(LIBCLANG_PATH "Use custom path for libclang") option(LIBCLANG_PATH "Use custom path for libclang")
option(LIBLLDB_PATH "Use custom path for liblldb") option(LIBLLDB_PATH "Use custom path for liblldb")
option(FLATPAK_SANDBOX "Runs from within a flatpak sandbox") # This is forwarded to the tiny-process-library submodule
find_package(Boost 1.54 COMPONENTS REQUIRED filesystem serialization) find_package(Boost 1.54 COMPONENTS REQUIRED filesystem serialization)
find_package(ASPELL REQUIRED) find_package(ASPELL REQUIRED)

234
jucipp.yaml

@ -0,0 +1,234 @@
id: com.gitlab.cppit.jucipp
command: juci
# Install via: flatpak install flathub org.gnome.Platform//42 org.gnome.Sdk//42
runtime: org.gnome.Platform
runtime-version: '42'
sdk: org.gnome.Sdk
sdk-extensions:
# Install via: flatpak install flathub org.freedesktop.Sdk.Extension.llvm14
- org.freedesktop.Sdk.Extension.llvm14
rename-desktop-file: juci.desktop
rename-icon: juci
finish-args:
- --socket=x11
- --share=ipc # somewhat required by X11
- --socket=wayland
- --share=network # Unix sockets are e.g. used by X11
- --filesystem=host:rw # access all files on the host
- --filesystem=home:rw # access all files on the host
- --talk-name=org.freedesktop.Flatpak # allows to run processes outside of flatpak sandbox
- --persist=.juci # persist configuration
modules:
- name: boost
buildsystem: simple
sources:
- type: archive
url: https://boostorg.jfrog.io/artifactory/main/release/1.79.0/source/boost_1_79_0.tar.bz2
sha256: 475d589d51a7f8b3ba2ba4eda022b170e562ca3b760ee922c146b6c65856ef39
build-commands:
- ./bootstrap.sh --prefix="${FLATPAK_DEST}" --with-libraries=filesystem,serialization
- ./b2 -j $FLATPAK_BUILDER_N_JOBS install
cleanup:
- /include
- '/lib/libboost_*.a'
- /lib/cmake
- /lib/debug
- /lib/pkgconfig
- name: mm-common # build-dependency of gtkmm
sources:
- type: archive
url: https://download.gnome.org/sources/mm-common/1.0/mm-common-1.0.4.tar.xz
sha256: e954c09b4309a7ef93e13b69260acdc5738c907477eb381b78bb1e414ee6dbd8
cleanup:
- '*'
- name: sigc++-2 # dependency of gtkmm
buildsystem: autotools
config-opts:
- --disable-documentation
sources:
- type: archive
url: https://download.gnome.org/sources/libsigc%2B%2B/2.10/libsigc%2B%2B-2.10.8.tar.xz
sha256: 235a40bec7346c7b82b6a8caae0456353dc06e71f14bc414bcc858af1838719a
cleanup:
- /include
- /lib/debug
- /lib/sigc++-2.0
- /lib/pkgconfig
- /lib/libsigc-2.0.la
- name: glibmm # dependency of gtkmm
buildsystem: meson
sources:
- type: archive
url: https://download.gnome.org/sources/glibmm/2.66/glibmm-2.66.2.tar.xz
sha256: b2a4cd7b9ae987794cbb5a1becc10cecb65182b9bb841868625d6bbb123edb1d
cleanup:
- /include
- /lib/debug
- /lib/giomm-2.4
- /lib/glibmm-2.4
- /lib/pkgconfig
- name: cairomm # dependency of gtkmm
buildsystem: autotools
config-opts:
- --disable-documentation
sources:
- type: archive
url: https://www.cairographics.org/releases/cairomm-1.14.3.tar.xz
sha256: 0d37e067c5c4ca7808b7ceddabfe1932c5bd2a750ad64fb321e1213536297e78
cleanup:
- /include
- /lib/cairomm-1.0
- /lib/debug
- /lib/pkgconfig
- /lib/libcairomm-1.0.la
- name: pangomm # dependency of gtkmm
buildsystem: meson
sources:
- type: archive
url: https://download.gnome.org/sources/pangomm/2.46/pangomm-2.46.2.tar.xz
sha256: 57442ab4dc043877bfe3839915731ab2d693fc6634a71614422fb530c9eaa6f4
cleanup:
- /include
- /lib/debug
- /lib/pangomm-1.4
- /lib/pkgconfig
- name: atkmm # dependency of gtkmm
buildsystem: meson
sources:
- type: archive
url: https://download.gnome.org/sources/atkmm/2.28/atkmm-2.28.2.tar.xz
sha256: a0bb49765ceccc293ab2c6735ba100431807d384ffa14c2ebd30e07993fd2fa4
cleanup:
- /include
- /lib/atkmm-1.6
- /lib/debug
- /lib/pkgconfig
- name: gtkmm
buildsystem: meson
sources:
- type: archive
url: https://download.gnome.org/sources/gtkmm/3.24/gtkmm-3.24.5.tar.xz
sha256: 856333de86689f6a81c123f2db15d85db9addc438bc3574c36f15736aeae22e6
cleanup:
- /include
- /lib/debug
- /lib/gdkmm-3.0
- /lib/gtkmm-3.0
- /lib/pkgconfig
- name: gtksourceview # dependency of gtksourceviewmm
buildsystem: autotools
config-opts:
- --disable-documentation
sources:
- type: archive
url: https://download.gnome.org/sources/gtksourceview/3.24/gtksourceview-3.24.11.tar.xz
sha256: 691b074a37b2a307f7f48edc5b8c7afa7301709be56378ccf9cc9735909077fd
cleanup:
- /include
- /lib/debug
- /lib/pkgconfig
- /lib/libgtksourceview-3.0.la
- /share/gtk-doc
- /share/vala
- name: gtksourceviewmm
buildsystem: autotools
config-opts:
- --disable-documentation
sources:
- type: archive
url: https://download.gnome.org/sources/gtksourceviewmm/3.21/gtksourceviewmm-3.21.3.tar.xz
sha256: dbb00b1c28e0407cc27d8b07a2ed0b4ea22f92e4b3e3006431cbd6726b6256b5
cleanup:
- /include
- /lib/debug
- /lib/gtksourceviewmm-3.0
- /lib/pkgconfig
- /lib/libgtksourceviewmm-3.0.la
- name: ncurses # build-depencendy of aspell (required to build aspell executable)
buildsystem: autotools
sources:
- type: archive
url: https://ftp.gnu.org/gnu/ncurses/ncurses-6.3.tar.gz
sha256: 97fc51ac2b085d4cde31ef4d2c3122c21abc217e9090a43a30fc5ec21684e059
cleanup:
- '*'
- name: aspell
buildsystem: autotools
sources:
- type: archive
url: https://ftp.gnu.org/gnu/aspell/aspell-0.60.8.tar.gz
sha256: f9b77e515334a751b2e60daab5db23499e26c9209f5e7b7443b05235ad0226f2
cleanup:
- /bin
- /include
- /lib/debug
- /lib/pkgconfig
- /lib/libaspell.la
- '/lib/libpspell.*'
- /share/info
- /share/man
- name: aspell-en
buildsystem: simple
sources:
- type: archive
url: https://ftp.gnu.org/gnu/aspell/dict/en/aspell6-en-2020.12.07-0.tar.bz2
sha256: 4c8f734a28a088b88bb6481fcf972d0b2c3dc8da944f7673283ce487eac49fb3
build-commands:
- ./configure
- make -j $FLATPAK_BUILDER_N_JOBS
- make install
- name: libgit2
buildsystem: cmake
config-opts:
- -DBUILD_TESTS=OFF
sources:
- type: archive
url: https://github.com/libgit2/libgit2/archive/refs/tags/v1.4.3.tar.gz
sha256: f48b961e463a9e4e7e7e58b21a0fb5a9b2a1d24d9ba4d15870a0c9b8ad965163
cleanup:
- /include
- /lib/debug
- /lib/pkgconfig
- name: jucipp
buildsystem: simple
build-options:
append-path: /usr/lib/sdk/llvm14/bin
prepend-ld-library-path: /usr/lib/sdk/llvm14/lib
sources:
- type: git
branch: gcc11_fix
url: https://gitlab.com/cppit/jucipp.git
build-commands:
- cp -r /usr/lib/sdk/llvm14/lib/* /app/lib/
- cp -r /usr/lib/sdk/llvm14/include/* /app/include/
- cmake -DCMAKE_INSTALL_PREFIX=${FLATPAK_DEST} -DFLATPAK_SANDBOX=ON .
- cmake --build . -- -j $FLATPAK_BUILDER_N_JOBS
- make install
cleanup:
- /include
- /lib/clang
- /lib/cmake
- /lib/debug/lib
- /lib/libear
- /lib/libscanbuild
- /lib/python3.9
- '/lib/libLTO.*'
- '/lib/libRemarks.*'
- /lib/LLVMgold.so
Loading…
Cancel
Save