summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: d414f0304587f8d19546ae8b927296629b52bd9e (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
# Contributor: Doug Newgard <scimmia at archlinux dot info>
# Contributor: Cravix < dr dot neemous at gmail dot org >
# Contributor: Ronald van Haren <ronald.archlinux.org>
# Contributor: Michal Wojdyla < micwoj9292 at gmail dot com >

# IMPORTANT!!! Modify this list for your specific installation
_module_list=(
  'alarm'
  'cpu'
  'desksanity'
# 'diskio'               # not compatible with EFL >= 1.13
  'eenvader.fractal'
# 'elev8'                # adds dep on v8, not compatible with v8 >= 3.19.16
# 'elfe'                 # not compatible with Enlightenemnt >= 0.19.0
# 'empris'               # not compatible with Enlightenment >= 0.19.0, adds dep on e_dbus
# 'everything-places'    # fails to compile
# 'everything-websearch' # fails to compile, adds dep on e_dbus
  'eweather'
# 'forecasts'            # not compatible with Enlightenment < 0.19.99
# 'mail'                 # not compatible with Enlightenment >= 0.19.0
  'mem'
# 'moon'                 # not compatible with Enlightenment >= 0.19.0
# 'mpdule'               # not compatible with Enlightenment >= 0.19.99, adds dep on libmpd
  'net'
# 'news'                 # not compatible with Enlightenment >= 0.19.0
# 'penguins'		 # fails to compile
# 'photo'                # not compatible with Enlightenment >= 0.18.0
# 'share'                # not compatible with Enlightenment >= 0.19.0, adds dep on libbsd
  'tclock'
# 'wallpaper2'           # not compatible with Enlightenment < 0.19.99
  'wlan'
)

containsElement () {
  local e
  for e in "${@:2}"; do [[ "$e" == "$1" ]] && return 0; done
  return 1
}

pkgname=e-modules-extra-git
pkgver=20200822
pkgrel=2
pkgdesc="Enlightenment modules: Extra unsupported modules in Git not already packaged elsewhere"
arch=('i686' 'x86_64')
url="http://www.enlightenment.org"
license=('GPL' 'MIT')

depends=('enlightenment')
  containsElement "elev8" "${_module_list[@]}" && depends+=('v8<3.19.16')
  containsElement "empris" "${_module_list[@]}" && depends+=('e_dbus')
  containsElement "everything-websearch" "${_module_list[@]}" && depends+=('e_dbus')
  containsElement "mpdule" "${_module_list[@]}" && depends+=('libmpd')
  containsElement "share" "${_module_list[@]}" && depends+=('libbsd')

makedepends=('git')
provides=("${pkgname%-*}")
for _module in ${_module_list[@]}; do
  source+=("git+https://git.enlightenment.org/enlightenment/modules/$_module.git")
  sha256sums+=('SKIP')
done

pkgver() {
  date +%Y%m%d
}

prepare() {
  if containsElement "empris" "${_module_list[@]}"; then
    sed -i '/PKG_CHECK_MODULES(E,/ s/enlightenment/& edbus/' "$srcdir/empris/configure.ac"
    sed -i '1a #include <E_DBus.h>' "$srcdir/empris/src/e_mod_main.c"
  fi
}

build() {
  for _module in ${_module_list[@]}; do
    cd "$srcdir/$_module"

    msg2 "Building $_module"

    ./autogen.sh \
      --prefix=/usr \
      --disable-static

    make
  done
}

package() {
  for _module in ${_module_list[@]}; do
    cd "$srcdir/$_module"

    msg2 "Installing $_module"

    make DESTDIR="$pkgdir" install

#   install text files
    [[ -e ChangeLog ]] && install -Dm644 ChangeLog "$pkgdir/usr/share/doc/${pkgname%-*}/$_module/ChangeLog" || true
    [[ -e NEWS ]] && install -Dm644 NEWS "$pkgdir/usr/share/doc/${pkgname%-*}/$_module/NEWS" || true
    [[ -e README ]] && install -Dm644 README "$pkgdir/usr/share/doc/${pkgname%-*}/$_module/README" || true

#   install license files
    [[ -e AUTHORS ]] && install -Dm644 AUTHORS "$pkgdir/usr/share/licenses/$pkgname/$_module/AUTHORS" || true
    [[ -e COPYING ]] && install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/$_module/COPYING" || true
    [[ -e COPYING-PLAIN ]] && install -Dm644 COPYING-PLAIN "$pkgdir/usr/share/licenses/$pkgname/$_module/COPYING-PLAIN" || true
 done
}