blob: 2c23ca445ddfcfd8d1da09dc61bfd06be71f07f5 (
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
|
# Maintainer: Phel <phel@mail.de>
pkgname=bergamont-marian-git
pkgdesc='Bergamont project (browser.mt) fork of the marian translator with language models used by Mozilla Firefox Translations'
pkgrel=1
pkgver=20220710
url='https://browser.mt'
license=('MIT')
# NOTE: can probably be expanded rather easily, maybe cmake options need to be modified
arch=('x86_64')
# NOTE: statically compiled, so no deps once installed.
depends=()
makedepends=(openblas cblas lapack cmake pandoc)
# NOTE: As we combine two repos, both can update anytime. So let's use date versioning instead
source=(
# 'https://github.com/browsermt/marian-dev'
'https://github.com/mozilla/firefox-translations-models/archive/refs/tags/0.3.1.tar.gz'
'marian-decoder.md'
'openmp.patch'
)
sha256sums=(
# 'SKIP'
'1ccec40d879f5bb38d8edbb953bb282cc861a2c3b1dcdc7ce59145e8b5a3c88b'
'679b7512f712f054ffd74eda44fe679b8082385ad5525d19a065d6b255e8dd0e'
'571c8e8efeb873e8415ad32dbcf330c96aa19b110e86767a24dfcc4b30dd9159'
)
prepare(){
cd "${srcdir}/"
# NOTE: This only works if not already existing.
# comment out if source commented in.
git clone --depth 1 https://github.com/browsermt/marian-dev
cd marian-dev
git submodule update --init --depth 1
git apply ../openmp.patch
cd ..
}
pkgver(){
date +%Y%m%d
}
build(){
cd "${srcdir}/marian-dev"
mkdir --parents build
cd build
# NOTE: This step will initialize all submodules.
cmake ../ -DUSE_OPENMP=on -DUSE_MKL=off -DCOMPILE_CUDA=off -DCOMPILE_CPU=on -DCMAKE_BUILD_TYPE=Release
# NOTE: Removes any -Werror so the code really compiles
find . -name "flags.make" -print0 | xargs -0 sed -i s/-Werror//
# Intels MKL apparently provides lapack routines
sed -i 's|$|/usr/lib/liblapack.so |' ./src/CMakeFiles/marian_decoder.dir/link.txt
NUM_CPUS=`nproc`
make -j$NUM_CPUS marian_decoder
# Generate man page
cd "${srcdir}"
pandoc -s -t man -o marian-decoder.1 marian-decoder.md
}
package() {
mkdir --parents "${pkgdir}/usr/share/licenses/${pkgname}/"
cd "${srcdir}/marian-dev/build"
install -D -t "${pkgdir}/usr/bin/" marian-decoder
cp ../LICENSE.md "${pkgdir}/usr/share/licenses/${pkgname}/marian_license.md"
# ATTENTION: Change here on version bumps
cd "${srcdir}/firefox-translations-models-0.3.1/models/prod"
gunzip -r .
mkdir --parents "${pkgdir}/usr/share/firefox-translations-models/prod"
cp -r . "${pkgdir}/usr/share/firefox-translations-models/prod"
cp ../../LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/firefox_translations_models_license.txt"
cd "${srcdir}"
install -D -m644 -t "${pkgdir}/usr/share/man/man1/" marian-decoder.1
}
|