summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 4e5f2eb088e37ce6120b3de9aaa1496585063ab1 (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
# Maintainer: Caleb Fontenot <foley2431@gmail.com>

pkgname=howdy-beta-git
pkgver=2.6.1.r147.g943f1e1
pkgrel=1
pkgdesc="Windows Hello for Linux (Beta)"
arch=('x86_64')
url="https://github.com/boltgolt/howdy"
license=('MIT')
depends=(
	'opencv'
	'hdf5'
	'python'
	'python-pillow'
	'python-dlib'
	'python-face_recognition'
	'python-face_recognition_models'
	'python-click'
	'python-numpy'
	'python-opencv'
)
makedepends=(
	'cmake'
	'pkgfile'
	'meson'
	'git'
	'libevdev'
	'libinih'
	'pam'
	'gettext'
)
conflicts=(
	'howdy'
)
provides=(
	'howdy'
)
backup=('usr/lib/security/howdy/config.ini')
source=(
	"git+https://github.com/boltgolt/howdy.git#branch=beta"
	"https://github.com/davisking/dlib-models/raw/master/dlib_face_recognition_resnet_model_v1.dat.bz2"
	"https://github.com/davisking/dlib-models/raw/master/mmod_human_face_detector.dat.bz2"
	"https://github.com/davisking/dlib-models/raw/master/shape_predictor_5_face_landmarks.dat.bz2"
)
sha256sums=('SKIP'
	'abb1f61041e434465855ce81c2bd546e830d28bcbed8d27ffbe5bb408b11553a'
	'db9e9e40f092c118d5eb3e643935b216838170793559515541c56a2b50d9fc84'
	'6e787bbebf5c9efdb793f6cd1f023230c4413306605f24f299f12869f95aa472'
)

pkgver() {
	cd "$srcdir/howdy"
	git describe --long --tags | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g'
}

parepare() {
	cd "$srcdir/howdy"
	rm -rf "howdy/src/pam-config"
}

build() {
	cd "$srcdir/howdy"
	if [[ -d "pam_howdy" ]]; then
		rm -rf "pam_howdy"
	fi
	mv "howdy/src/pam" "pam_howdy"

	pushd "pam_howdy"
	meson setup build
	meson compile -C build
	popd
}

package() {
	# Installing the proper license files and the rest of howdy
	cd "${srcdir}/howdy"

	install -Dm755 "howdy/src/autocomplete/howdy" "${pkgdir}/usr/share/bash-completion/completions/howdy"
	rm -rf "howdy/src/autocomplete"

	install -Dm755 "pam_howdy/build/pam_howdy.so" "${pkgdir}/usr/lib/security/pam_howdy.so"

	install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/howdy/LICENSE"
	install -dm700 "${pkgdir}/usr/lib/security/howdy"
	cp -r howdy/src/* -t "${pkgdir}/usr/lib/security/howdy"
	install -dm700 "${pkgdir}/usr/lib/security/howdy/dlib-data"
	install -Dm600 "${srcdir}/dlib_face_recognition_resnet_model_v1.dat" "${pkgdir}/usr/lib/security/howdy/dlib-data"
	install -Dm600 "${srcdir}/mmod_human_face_detector.dat" "${pkgdir}/usr/lib/security/howdy/dlib-data"
	install -Dm600 "${srcdir}/shape_predictor_5_face_landmarks.dat" "${pkgdir}/usr/lib/security/howdy/dlib-data"
	install -Dm700 "howdy/src/cli.py" "${pkgdir}/usr/lib/security/howdy/cli.py"
	find ${pkgdir}/usr/lib/security/howdy -type f -exec chmod 600 {} +
	find ${pkgdir}/usr/lib/security/howdy -type d -exec chmod 700 {} +

	install -dm755 "${pkgdir}/usr/bin/"
	chmod 755 "${pkgdir}/usr/lib/security/howdy/cli.py"
	ln -s "/usr/lib/security/howdy/cli.py" "${pkgdir}/usr/bin/howdy"

	install -dm755 "${pkgdir}/usr/lib/howdy-gtk"
	cp -rv howdy-gtk/src/* "${pkgdir}/usr/lib/howdy-gtk"
}