Add media-fonts/nerd-fonts-2.1.0
[shuber-gentoo-overlay.git] / media-fonts / nerd-fonts / nerd-fonts-2.1.0.ebuild
1 # Copyright 2019 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
3
4 EAPI=6
5
6 inherit font check-reqs
7
8 DESCRIPTION="Collection of fonts that are patched to include a high number of glyphs (icons)."
9 HOMEPAGE="https://nerdfonts.com"
10
11 LICENSE="MIT"
12 SLOT="0"
13 KEYWORDS="~amd64 ~x86"
14
15 DIRNAME=(
16 3270
17 Agave
18 AnonymousPro
19 Arimo
20 AurulentSansMono
21 BigBlueTerminal
22 BitstreamVeraSansMono
23 CascadiaCode
24 CodeNewRoman
25 Cousine
26 DaddyTimeMono
27 DejaVuSansMono
28 DroidSansMono
29 FantasqueSansMono
30 FiraCode
31 FiraMono
32 Go-Mono
33 Gohu
34 Hack
35 Hasklig
36 HeavyData
37 Hermit
38 iA-Writer
39 IBMPlexMono
40 Inconsolata
41 InconsolataGo
42 InconsolataLGC
43 Iosevka
44 JetBrainsMono
45 Lekton
46 LiberationMono
47 Meslo
48 Monofur
49 Monoid
50 Mononoki
51 MPlus
52 Noto
53 OpenDyslexic
54 Overpass
55 ProFont
56 ProggyClean
57 RobotoMono
58 ShareTechMono
59 SourceCodePro
60 SpaceMono
61 Terminus
62 Tinos
63 Ubuntu
64 UbuntuMono
65 VictorMono
66 )
67
68 IUSE_FLAGS=(${DIRNAME[*],,})
69 IUSE="${IUSE_FLAGS[*]}"
70 REQUIRED_USE="X || ( ${IUSE_FLAGS[*]} )"
71
72 MY_URI="https://github.com/ryanoasis/${PN}/releases/download/v${PV}"
73 SRC_URI="3270? ( "${MY_URI}/3270.zip" )
74 agave? ( "${MY_URI}/Agave.zip" )
75 anonymouspro? ( "${MY_URI}/AnonymousPro.zip" )
76 arimo? ( "${MY_URI}/Arimo.zip" )
77 aurulentsansmono? ( "${MY_URI}/AurulentSansMono.zip" )
78 bigblueterminal? ( "${MY_URI}/BigBlueTerminal.zip" )
79 bitstreamverasansmono? ( "${MY_URI}/BitstreamVeraSansMono.zip" )
80 cascadiacode? ( "${MY_URI}/CascadiaCode.zip" )
81 codenewroman? ( "${MY_URI}/CodeNewRoman.zip" )
82 cousine? ( "${MY_URI}/Cousine.zip" )
83 daddytimemono? ( "${MY_URI}/DaddyTimeMono.zip" )
84 dejavusansmono? ( "${MY_URI}/DejaVuSansMono.zip" )
85 droidsansmono? ( "${MY_URI}/DroidSansMono.zip" )
86 fantasquesansmono? ( "${MY_URI}/FantasqueSansMono.zip" )
87 firacode? ( "${MY_URI}/FiraCode.zip" )
88 firamono? ( "${MY_URI}/FiraMono.zip" )
89 go-mono? ( "${MY_URI}/Go-Mono.zip" )
90 gohu? ( "${MY_URI}/Gohu.zip" )
91 hack? ( "${MY_URI}/Hack.zip" )
92 hasklig? ( "${MY_URI}/Hasklig.zip" )
93 heavydata? ( "${MY_URI}/HeavyData.zip" )
94 hermit? ( "${MY_URI}/Hermit.zip" )
95 ia-writer? ( "${MY_URI}/iA-Writer.zip" )
96 ibmplexmono? ( "${MY_URI}/IBMPlexMono.zip" )
97 inconsolata? ( "${MY_URI}/Inconsolata.zip" )
98 inconsolatago? ( "${MY_URI}/InconsolataGo.zip" )
99 inconsolatalgc? ( "${MY_URI}/InconsolataLGC.zip" )
100 iosevka? ( "${MY_URI}/Iosevka.zip" )
101 jetbrainsmono? ( "${MY_URI}/JetBrainsMono.zip" )
102 lekton? ( "${MY_URI}/Lekton.zip" )
103 liberationmono? ( "${MY_URI}/LiberationMono.zip" )
104 meslo? ( "${MY_URI}/Meslo.zip" )
105 monofur? ( "${MY_URI}/Monofur.zip" )
106 monoid? ( "${MY_URI}/Monoid.zip" )
107 mononoki? ( "${MY_URI}/Mononoki.zip" )
108 mplus? ( "${MY_URI}/MPlus.zip" )
109 noto? ( "${MY_URI}/Noto.zip" )
110 opendyslexic? ( "${MY_URI}/OpenDyslexic.zip" )
111 overpass? ( "${MY_URI}/Overpass.zip" )
112 profont? ( "${MY_URI}/ProFont.zip" )
113 proggyclean? ( "${MY_URI}/ProggyClean.zip" )
114 robotomono? ( "${MY_URI}/RobotoMono.zip" )
115 sharetechmono? ( "${MY_URI}/ShareTechMono.zip" )
116 sourcecodepro? ( "${MY_URI}/SourceCodePro.zip" )
117 spacemono? ( "${MY_URI}/SpaceMono.zip" )
118 terminus? ( "${MY_URI}/Terminus.zip" )
119 tinos? ( "${MY_URI}/Tinos.zip" )
120 ubuntu? ( "${MY_URI}/Ubuntu.zip" )
121 ubuntumono? ( "${MY_URI}/UbuntuMono.zip" )
122 victormono? ( "${MY_URI}/VictorMono.zip" )
123 "
124
125 DEPEND="app-arch/unzip"
126 RDEPEND="media-libs/fontconfig"
127
128 CHECKREQS_DISK_BUILD="3G"
129 CHECKREQS_DISK_USR="4G"
130
131 S="${WORKDIR}"
132 FONT_CONF=(
133 ${FILESDIR}/10-nerd-font-symbols.conf
134 )
135 FONT_S=${S}
136
137 pkg_pretend() {
138 check-reqs_pkg_setup
139 }
140 src_install() {
141 declare -A font_filetypes
142 local otf_file_number ttf_file_number
143
144 otf_file_number=$(ls ${S} | grep -i otf | wc -l)
145 ttf_file_number=$(ls ${S} | grep -i ttf | wc -l)
146
147 if [[ ${otf_file_number} != 0 ]]; then
148 font_filetypes[otf]=
149 fi
150
151 if [[ ${ttf_file_number} != 0 ]]; then
152 font_filetypes[ttf]=
153 fi
154
155 FONT_SUFFIX="${!font_filetypes[@]}"
156
157 font_src_install
158 }
159
160 pkg_postinst() {
161 einfo "Installing font-patcher via an ebuild is hard, because paths are hardcoded differently"
162 einfo "in .sh files. You can still get it and use it by git cloning the nerd-font project and"
163 einfo "running it from the cloned directory."
164 einfo "https://github.com/ryanoasis/nerd-fonts"
165
166 elog "You might have to enable 50-user.conf and 10-nerd-font-symbols.conf by using"
167 elog "eselect fontconfig"
168 }