File: devel-install.sh

package info (click to toggle)
geeqie 1%3A2.5-8
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 16,780 kB
  • sloc: cpp: 110,189; xml: 11,497; sh: 3,681; awk: 124; perl: 88; python: 80; makefile: 23
file content (100 lines) | stat: -rwxr-xr-x 3,074 bytes parent folder | download | duplicates (2)
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
#!/bin/sh

#/*
# * Copyright (C) 2023 The Geeqie Team
# *
# * Author: Colin Clark
# *
# * 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
# * the Free Software Foundation; either version 2 of the License, or
# * (at your option) any later version.
# *
# * This program is distributed in the hope that it will be useful,
# * but WITHOUT ANY WARRANTY; without even the implied warranty of
# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# * GNU General Public License for more details.
# *
# * You should have received a copy of the GNU General Public License along
# * with this program; if not, write to the Free Software Foundation, Inc.,
# * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
# */

## @file
## @brief Install additional files for Geeqie development purposes
##

if ! { [ -d ".git" ] && [ -d "src" ] && [ -f "geeqie.1" ] && [ -f "doxygen.conf" ]; }
then
    printf "This is not the project root directory\n"
    exit 1
fi

if ! zenity --title="Install files for Geeqie development" --question --no-wrap --text "This script will install:\n
<tt>
curl                # for this script
default-jre         # for doxygen diagrams
libdw-dev           # for devel=enabled
libdwarf-dev        # for devel=enabled
libunwind-dev       # for devel=enabled
mdl                 # for meson tests (markdown files)
shellcheck          # for meson tests (shell scripts)
texlive-font-utils  # for doxygen diagrams
xvfb                # for meson tests
</tt>

The following will be downloaded to $HOME/bin/ and made executable:
<tt>
https://github.com/plantuml/plantuml/releases/download/<i>latest</i>/plantuml-<i>latest</i>.jar  # for doxygen diagrams
https://raw.githubusercontent.com/Anvil/bash-doxygen/master/doxygen-bash.sed       # for documenting script files\
</tt>

The following snap will be installed:
<tt>
snapd    # for installing snaps
mdl      # for checking markdown files\n
</tt>

Continue?"
then
    exit 0
fi

if ! mkdir -p "$HOME"/bin
then
    printf "Cannot create %s\n" "$HOME"/bin
    exit 1
fi

sudo apt update

sudo apt install curl
sudo apt install default-jre
sudo apt install libdw-dev
sudo apt install libdwarf-dev
sudo apt install libunwind-dev
sudo apt install shellcheck
sudo apt install texlive-font-utils
sudo apt install xvfb

sudo apt install snapd
sudo snap install mdl

cd "$HOME"/bin || exit 1

if ! [ -f doxygen-bash.sed ]
then
    wget https://raw.githubusercontent.com/Anvil/bash-doxygen/master/doxygen-bash.sed
    chmod +x doxygen-bash.sed
fi

latest_plantuml=$(curl --silent -qI https://github.com/plantuml/plantuml/releases/latest | awk -W posix -F '/' 'BEGIN {LINT = "fatal"} /^location/ {print  substr($NF, 1, length($NF)-1)}')

if ! [ -f "plantuml-${latest_plantuml#v}.jar" ]
then
    wget "https://github.com/plantuml/plantuml/releases/download/$latest_plantuml/plantuml-${latest_plantuml#v}.jar"
    ln --symbolic --force "plantuml-${latest_plantuml#v}.jar" plantuml.jar
    chmod +x plantuml.jar
fi