Blob Blame History Raw
%define fontname        dejavu
%define fontdir         %{_datadir}/fonts/%{fontname}
%define fontconfdir     %{_sysconfdir}/fonts

%define archivename     %{fontname}-sfd-%{archiveversion}

#define alphatag        .20070509svn1766
#define alphatag        .rc1

#define archiveversion  20070509-1766
%define archiveversion  %{version}


# Let the perl maintainer worry about Unicode.org data files
%define Blocks          %(eval "$(%{__perl} -V:privlibexp)"; echo $privlibexp)/unicore/Blocks.txt
%define UnicodeData     %(eval "$(%{__perl} -V:privlibexp)"; echo $privlibexp)/unicore/UnicodeData.txt

Name:      %{fontname}-fonts
Version:   2.17
Release:   3%{?alphatag}%{?dist}
Summary:   DejaVu fonts

Group:     User Interface/X
License:   Redistributable, with restrictions
URL:       http://%{fontname}.sf.net/
Source0:   http://%{fontname}.sourceforge.net/%{?alphatag:snapshots/}%{archivename}.tar.bz2
# DejaVu fontconfig setup
Source1:   %{name}-fontconfig.conf
Source2:   %{name}-fontconfig-unhint-small.conf
# DejaVu fontconfig setup (experimental families)
Source3:   %{name}-experimental-fontconfig.conf
Source4:   %{name}-experimental-fontconfig-unhint-small.conf

BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
# Older fontforge versions may not work, current fontforge definitely won't
BuildRequires: fontforge = 20061220
BuildRequires: perl(Font::TTF)
# Needed to compute unicode coverage
BuildRequires: %{Blocks} %{UnicodeData}
BuildArch: noarch

%description
The DejaVu fonts are a font family based on the "Bitstream Vera" fonts release
1.10. Its purpose is to provide a wider range of characters while maintaining
the original look and feel through the process of collaborative development.

This package includes the typefaces the DejaVu project considers mature.


%package experimental
Group:    User Interface/X
Summary:  Experimental DejaVu typefaces
# Does not really make sense without the core typefaces
Requires: %{name} = %{version}-%{release}


%description experimental
The DejaVu fonts are a font family based on the "Bitstream Vera" fonts release
1.10.

This package includes the typefaces the DejaVu project considers experimental.


%prep
%setup -q -n %{archivename}


%build
./generate.sh
./status.pl %{version} status.txt *.sfd > status.txt.new
mv status.txt.new status.txt
./unicover.pl %{UnicodeData} %{Blocks} \
              DejaVuSans.sfd Sans \
              DejaVuSerif.sfd Serif \
              DejaVuMonoSans.sfd "Sans Mono" > unicover.txt
# We should probably also regenerate langcover.txt
# but it requires resolution of 
# https://bugs.freedesktop.org/show_bug.cgi?id=6316 

# Remove mes files or they end in %doc
rm mes*.txt

%check
# Current upstream files are full of "problems"
# Do not panic if the output is long
./problems.pl *.sfd


%install
rm -fr %{buildroot}

# Fonts
install -m 0755 -d %{buildroot}%{fontdir}
install -m 0644 -p generated/*.ttf  %{buildroot}%{fontdir}

# Fontconfig tweaks
install -m 0755 -d %{buildroot}%{fontconfdir}/conf.d
install -m 0644 -p %{SOURCE1} %{buildroot}%{fontconfdir}/conf.d/57-%{fontname}.conf
install -m 0644 -p %{SOURCE2} %{buildroot}%{fontconfdir}/conf.d/20-unhint-small-%{fontname}.conf
install -m 0644 -p %{SOURCE3} %{buildroot}%{fontconfdir}/conf.d/61-%{fontname}-experimental.conf
install -m 0644 -p %{SOURCE4} %{buildroot}%{fontconfdir}/conf.d/20-unhint-small-%{fontname}-experimental.conf


%clean
rm -fr %{buildroot}


%post
if [ -x /usr/bin/fc-cache ]; then
  /usr/bin/fc-cache /usr/share/fonts
fi


%postun
if [ "$1" = "0" ]; then
  if [ -x /usr/bin/fc-cache ]; then
    /usr/bin/fc-cache /usr/share/fonts
  fi
fi


%post experimental
if [ -x /usr/bin/fc-cache ]; then
  /usr/bin/fc-cache /usr/share/fonts
fi


%postun experimental
if [ "$1" = "0" ]; then
  if [ -x /usr/bin/fc-cache ]; then
    /usr/bin/fc-cache /usr/share/fonts
  fi
fi


%files
%defattr(0644,root,root,0755)
%doc *.txt AUTHORS BUGS LICENSE NEWS README

%config(noreplace) %{fontconfdir}/conf.d/20-unhint-small-%{fontname}.conf
%config(noreplace) %{fontconfdir}/conf.d/57-%{fontname}.conf

%dir %{fontdir}
%{fontdir}/*.ttf
%exclude %{fontdir}/DejaVu*Condensed*.ttf
%exclude %{fontdir}/DejaVu*ExtraLight*.ttf
%exclude %{fontdir}/DejaVuSerif-*Oblique.ttf


%files experimental
%defattr(0644,root,root,0755)

%config(noreplace) %{fontconfdir}/conf.d/20-unhint-small-%{fontname}-experimental.conf
%config(noreplace) %{fontconfdir}/conf.d/61-%{fontname}-experimental.conf

%{fontdir}/DejaVu*Condensed*.ttf
%{fontdir}/DejaVu*ExtraLight*.ttf
%{fontdir}/DejaVuSerif-*Oblique.ttf


%changelog
* Thu May 31 2007 Nicolas Mailhot <nicolas.mailhot at laposte.net>
☺ 2.17-3
✓ small spec cleanups

* Sat May 26 2007 Nicolas Mailhot <nicolas.mailhot at laposte.net>
☺ 2.17-2
✓ perl-Font-TTF has been fixed upstream, use perl(Font::TTF) BR
✓ remove comment about %{_sysconfdir}/fonts ownership, as it's now owned
   by filesystem

* Sun May 13 2007 Nicolas Mailhot <nicolas.mailhot at laposte.net>
☺ 2.17-1
✓ rebase scriptlets from guidelines
✓ fontforge broke compat: BR the current version, ask for a version bump
  before 2.18 is released
✓ simplify font directory naming
✓ clean up fc5 obsoletes
✓ remove technical mes files from doc

* Fri May 11 2007 Nicolas Mailhot <nicolas.mailhot at laposte.net>
☺ 2.17-0.3.rc1
✓ fontconfig setup has stabilized and can be marked noreplace now
☺ 2.17-0.2.rc1
✓ mimick Vera unhint conf split
☺ 2.17-0.1.rc1
✓ 2.17 rc1
✓ make room for liberations font conf file

* Mon Apr 2 2007 Nicolas Mailhot <nicolas.mailhot at laposte.net>
☺ 2.16-1

* Tue Mar 20 2007 Nicolas Mailhot <nicolas.mailhot at laposte.net>
☺ 2.16-0.1.20070319svn1699
✓ early snapshot to account for F7T3 freeze

* Tue Jan 30 2007 Nicolas Mailhot <nicolas.mailhot at laposte.net>
☺ 2.14-2
✓ Adds Dejavu Sans Oblique small fixes (by Ben Laenen to address Debian
  bug #408311, collected by Davide Viti)

* Sun Jan 21 2007 Nicolas Mailhot <nicolas.mailhot at laposte.net>
✓ 2.14 final