summaryrefslogtreecommitdiffstats
path: root/snapcraft.yaml
blob: 6756b6d33039e5928e3169770442aa26cc852934 (plain)
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
name: lnav
adopt-info: lnav
summary: Log File Navigator
description: |
  The Log File Navigator, **lnav** for short, is an advanced log file viewer
  for the small-scale.
icon: docs/assets/images/favicon.png

base: core20
grade: stable
confinement: strict

environment:
  LOCPATH: $SNAP/usr/lib/locale
  GIT_TEMPLATE_DIR: $SNAP/usr/share/git-core/templates
  GIT_EXEC_PATH: $SNAP/usr/lib/git-core

plugs:
  etc-lnav:
    interface: system-files
    read:
      - /etc/lnav

apps:
  lnav:
    command: usr/bin/lnav
    plugs:
      - etc-lnav
      - home            # optional, allows to read log files from home directory
      - log-observe     # required, provide access to system logs in /var/log
      - network         # required, lnav uses sendto() with UNIX domain socket
      - removable-media
      - ssh-keys
      - x11

parts:
  selective-checkout:
    source: https://github.com/Lin-Buo-Ren/selective-checkout.git
    source-tag: v2.0.2
    plugin: dump
    build-packages:
    # Uncomment the VCS your main part is using
    - git
    - curl
    - jq
    - sed

    #- mercurial
    #- subversion
    stage:
      - scriptlets/selective-checkout
    prime:
      - -*
  lnav:
    after:
      - selective-checkout
    plugin: autotools
    autotools-configure-parameters:
      - CFLAGS="-O2"
      - CXXFLAGS="-O2"
    source: https://github.com/tstack/lnav.git
    source-depth: 500
    override-pull: |
      snapcraftctl pull

      "$SNAPCRAFT_STAGE"/scriptlets/selective-checkout --debug --force-snapshot
    build-packages:
      - build-essential
      - cargo
      - libarchive-dev
      - libcurl4-gnutls-dev
      - libpcre2-dev
      - libsqlite3-dev
      - libncursesw6
      - libreadline-dev
      - zlib1g-dev
      - libbz2-dev
      - libgpm-dev
      - rustc
    stage-packages:
      - zlib1g
      - git-core
      - libcurl4
      - libncursesw6
      - libpcre2-8-0
      - libgpm2
      - libarchive13
      - libicu66
      - libxml2
      - locales-all
      - ssh
      - tshark
      - xclip