summaryrefslogtreecommitdiff
path: root/snapcraft.yaml
blob: 84acab4b58f90f9dfcc662a5ce4e53d9fe67f43c (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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
name: network-manager
version: 1.1.94-1
summary: Network management framework
description: |
  NetworkManager is a system network service that manages your network
  devices and connections, attempting to keep active network connectivity
  when available. It manages ethernet, WiFi, mobile broadband (WWAN) and
  PPPoE devices, provides VPN integration with a variety of different
  VPN serivces.

slots:
  service: networkmanager

plugs:
  nmcli: networkmanager

apps:
  nmcli:
    command: usr/bin/nmcli
    plugs: [nmcli]
  networkmanager:
    command: bin/networkmanager
    daemon: simple
    slots: [service]

parts:
  networkmanager-common:
    plugin: copy
    files:
      bin/networkmanager: bin/networkmanager
      conf/NetworkManager.conf: etc/NetworkManager/NetworkManager.conf

  networkmanager:
    plugin: autotools

    source: https://download.gnome.org/sources/NetworkManager/1.1/NetworkManager-1.1.94.tar.xz

    # NOTE: Force autogen to be executed again even if the tarball already
    # comes with a configure script but that links against aclocal-1.13
    # which we don't profile anymore and will cause the build to fail.
    force-autogen: true

    build-packages:
      - intltool
      - gtk-doc-tools
      - libdbus-glib-1-dev
      - libdbus-1-dev
      - libiw-dev
      - libglib2.0-dev
      - libnl-3-dev
      - libnl-route-3-dev
      - libnl-genl-3-dev
      - libnss3-dev
      - libgnutls28-dev
      - libgcrypt11-dev
      - uuid-dev
      - systemd
      - libsystemd-dev
      - libudev-dev
      - libgudev-1.0-dev
      - libgirepository1.0-dev
      - gobject-introspection
      - libsoup2.4-dev
      - libglib2.0-doc
      - libmm-glib-dev
      - libndp-dev
      - libreadline-dev
      - libnewt-dev
      - dbus-test-runner
      - isc-dhcp-client
      - python-dbus
      - python-gi
      - iptables

    # We stage everything here we need for build and runtime
    stage-packages:
      - iputils-arping
      - iw
      - libc6
      - libdbus-1-3
      - libdbus-glib-1-2
      - libgcrypt20
      - libglib2.0-0
      - libgudev-1.0-0
      - libiw-dev
      - libmbim-glib4
      - libndp0
      - libnl-3-200
      - libnl-3-dev
      - libnl-genl-3-200
      - libnl-route-3-200
      - libpam-systemd
      - libreadline6
      - libsoup2.4-1
      - libsystemd0
      - libuuid1
      - lsb-base
      - uuid-dev
      - wireless-tools

    configflags:
      # Disable all features we don't want enabled as we're not
      # supporting them (yet).
      - --prefix=/usr
      - --libdir=/usr/lib
      - --libexecdir=/usr/lib/NetworkManager
      - --disable-qt
      - --disable-teamdctl
      - --disable-polkit
      - --disable-vala
      - --disable-ppp
      - --with-dhcpcd=no
      - --with-dhclient=no
      - --with-dnsmasq=no
      - --with-modem-manager-1=no
      - --with-systemd-journal=no