blob: 66268cf8f4fd9374a4a6034178b61d9e187d393f (
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
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
|
# Maintainer: yjun <jerrysteve1101@gmail.com>
# Maintainer: Maik93 <michael.mugnai@gmail.com>
# Maintainer: taotieren <admin@taotieren.com>
# Maintainer: GPereira <goncalo_pereira@outlook.pt>
# Maintainer: CloverGit <clovergit@hotmail.com>
# forked from https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=stm32cubeide
pkgname=stm32cubeprog
_pkgname="STM32CubeProgrammer"
pkgver=2.18.0
pkgrel=2
pkgdesc="An all-in-one multi-OS software tool for programming STM32 products."
arch=('x86_64')
url="https://www.st.com/en/development-tools/stm32cubeprog.html"
license=('custom:SLA0048')
# libusb1.0.12 version or higher is required to run STM32CubeProgrammer.
#
# There is no need to install any Java™ SE Run Time Environment since version 2.6.0. The
# STM32CubeProgrammer runs with a bundled JRE available inside the downloaded
# package and no longer with the one installed on your machine.
# -------------------------------------------------->
# https://www.st.com/resource/en/user_manual/dm00403500-stm32cubeprogrammer-software-description-stmicroelectronics.pdf
#
# stlink provides stlink udev rules
depends=('stlink'
'libusb')
makedepends=('icoutils'
'gendesk'
'gsfonts'
'p7zip'
'java-environment=8')
provides=("${pkgname}rammer")
options=('!strip'
'!debug')
# Big thanks to user "yjun" for direct download link advice.
# cURL inspiration from davinci-resolve package maintained by "Alex S".
_pkg_file_name="en.stm32cubeprg-lin-v${pkgver//./-}.zip"
_curl_req_url="https://www.st.com/content/st_com_cx/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-programmers/stm32cubeprog/_jcr_content/get-software/getsw-table-nli.nocache.html/st-site-cx/components/containers/product/get-software-table-body.html"
_curl_req="$(curl -s --compressed --cookie-jar "${srcdir}http_cookies" -H "@${srcdir}http_headers" "${_curl_req_url}")"
_pkg_url="$(grep -m 1 "${_pkg_file_name}" <<<"${_curl_req}")"
_pkg_url="$(awk -F'"' '{print $4}' <<<"${_pkg_url}")"
_download_path="https://www.st.com""${_pkg_url}"
DLAGENTS=("https::/usr/bin/curl \
-gqb '' --retry 3 --retry-delay 3 \
--cookie "${srcdir}http_cookies" \
-H "@${srcdir}http_headers" \
-o %o --compressed %u")
# msg "_download_path = ${_download_path}"
# msg "DLAGENTS = ${DLAGENTS}"
source=("${_pkg_file_name}::$_download_path"
"http_headers"
"AnalyticsPanelsConsoleHelper.java"
"CheckedHelloPorgrammerPanelConsoleHelper.java"
"FinishProgrammerPanelConsoleHelper.java"
"TargetProgrammerPanelConsoleHelper.java"
"SLA0048_STM32CubeProg.pdf")
sha256sums=('3b23024ddab3803a2ecc82c571feae8e7d3b292a5dc67429f8812f7a203a4c8c'
'4fc6f177425adbd491cbb7326969a4e77a78588c30e674a1e3455981ad523c40'
'12f3f8a3301d6f50c00195f9c852e25f8d841246768bf3bbfd4e91fd2052ce6e'
'8775375cfd21848eafb92bc11712b2d797bbec4f0109e728c175c4abb014131c'
'd67e0fe0e16cb6f8e1f01f324a348484f38805fdbb48780788607f53b2e46901'
'95a6ee378bb3d2b6bea9284d930a58af43db825ec22c89e5617af9b9ec959890'
'c6d92c00dee63e0f4a54d8ea62f82a646243c3e1480142ae3e7f4ca5d77d5702')
prepare() {
chmod u+x Setup${_pkgname}-${pkgver}.linux
# devtools test failed: javac --release 8
javac -cp "Setup${_pkgname}-${pkgver}.exe" -d . \
AnalyticsPanelsConsoleHelper.java \
CheckedHelloPorgrammerPanelConsoleHelper.java \
TargetProgrammerPanelConsoleHelper.java \
FinishProgrammerPanelConsoleHelper.java
7z a Setup${_pkgname}-${pkgver}.exe \
com/st/CustomPanels/AnalyticsPanelsConsoleHelper.class \
com/st/CustomPanels/CheckedHelloPorgrammerPanelConsoleHelper.class \
com/st/CustomPanels/TargetProgrammerPanelConsoleHelper.class \
com/st/CustomPanels/FinishProgrammerPanelConsoleHelper.class
gendesk -f -n \
--pkgname "${pkgname}" \
--pkgdesc "${pkgdesc}" \
--path "/opt/${pkgname}/bin" \
--name "${_pkgname}" \
--exec "/opt/${pkgname}/bin/${_pkgname}" \
--icon "${pkgname}" \
--categories "Development"
}
build() {
mkdir -p build
java -DINSTALL_PATH=${srcdir}/build -jar ./SetupSTM32CubeProgrammer-${pkgver}.exe -options-system
# convert ico to icon
mkdir -p icon
icotool -x ${srcdir}/build/util/Programmer.ico -o icon
}
package() {
install -dm755 ${pkgdir}/opt/${pkgname}
cp -a ${srcdir}/build/* ${pkgdir}/opt/${pkgname}
# icon
index=0
for size in 256 128 64 48 32 24 16; do
index=$((index + 1))
install -Dm644 ${srcdir}/icon/Programmer_${index}_${size}x${size}x32.png \
${pkgdir}/usr/share/icons/hicolor/${size}x${size}/apps/${pkgname}.png
done
# documentation
install -Dm644 ${pkgdir}/opt/${pkgname}/doc/Readme.txt -t ${pkgdir}/usr/share/doc/${pkgname}
install -Dm644 ${pkgdir}/opt/${pkgname}/doc/license.txt -t ${pkgdir}/usr/share/licenses/${pkgname}
install -Dm644 ${srcdir}/SLA0048_STM32CubeProg.pdf -t ${pkgdir}/usr/share/licenses/${pkgname}
# desktop entry
install -Dm644 "${srcdir}/${pkgname}.desktop" "${pkgdir}/usr/share/applications/${pkgname}.desktop"
# soft link
install -dm755 ${pkgdir}/usr/bin
for _cmd in ${_pkgname} STM32_Programmer_CLI STM32_Programmer.sh STM32MP_SigningTool_CLI STM32MP_KeyGen_CLI; do
ln -sf /opt/${pkgname}/bin/${_cmd} ${pkgdir}/usr/bin/${_cmd}
done
# remove updater
rm -rf ${pkgdir}/opt/${pkgname}/updater
}
# vim: set sw=2 ts=2 et:
|