Converting montserrat spec to new version

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello team,

I started converting the current julietaula-montserrat-fonts spec to the new version [1] using ibm-plex-fonts as template [2], but struggled to understand the functionality.

Here is an example below:

--

BuildArch:      noarch
%global         fontpkgname     julietaula-montserrat
%global         fontconf 61-%{fontpkgname}

# Override versioning to sync with upstream
Epoch:        1
Version:    7.222
Release:    %autorelease
URL:        https://github.com/JulietaUla/Montserrat

%global         foundry         julietaula
%global         fontlicense     OFL
%global         fontlicenses    OFL.txt
%global         fontdocsex      %{fontlicenses}

%global         fontfamily1      Montserrat
%global         fontsummary1     Sans-serif typeface inspired from Montserrat area
%global         fonts1           *.otf
%global         fontdescription1 %{expand:
A typeface inspired by signs around the Montserrat area \
of Buenos Aires, Argentina.}

%global         fontfamily2      MontserratAlternates
%global         fontsummary2     Sans-serif typeface inspired from Montserrat area
%global         fonts2           *.otf
%global         fontdescription1 %{expand:
A typeface inspired by signs around the Montserrat area \
of Buenos Aires, Argentina.}



Source0: %{url}/archive/v%{version}.tar.gz#/Montserrat-%{version}.tar.gz
Source1:    %{name}-fontconfig.conf
Source2:    %{name}-alternates-fontconfig.conf
Source3:    %{fontpkgname}.metainfo.xml
Source4:    %{fontpkgname}-alternates.metainfo.xml

BuildArch:    noarch
BuildRequires:    fontpackages-devel
BuildRequires:    libappstream-glib
Requires:    fontpackages-filesystem

# Reset the old date based versioning
Obsoletes:    %{name} < 1:%{version}-%{release}


%description
%{common_description}

%package common
Summary:  Common files for %{name}
Requires: fontpackages-filesystem

%description common
%{common_description}
This package consists of files used by other %{name} packages.

%package    -n %{fontpkgname}
Summary:    Base version of the Montserrat area inspired typeface
Requires:    %{name}-common = %{epoch}:%{version}-%{release}

%description    -n %{fo

As noticed, two subpackaged webfonts are listed because they are required from the landing page for Fedora Apache. I

ntpkgname}
%{common_description}
This package provide the base fonts.

%package     -n %{fontpkgname}-alternates-fonts
Summary:    A Montserrat area inspired typeface family alternate version
Requires:    %{name}-common = %{epoch}:%{version}-%{release}

%description    -n %{fontpkgname}-alternates-fonts
%{common_description}
This package provide an alternate version of the fonts.

%package    -n %{fontpkgname}-base-web-fonts
Summary:    Web fonts version of the Montserrat area inspired typeface
Requires:    %{name}-common = %{epoch}:%{version}-%{release}

%description    -n %{fontpkgname}-base-web-fonts
%{common_description}
This package include essential web fonts.

%package    -n %{fontpkgname}-extra-web-fonts
Summary:    Extra web fonts version of the Montserrat area inspired typeface
Requires:    %{name}-common = %{epoch}:%{version}-%{release}

%description    -n %{fontpkgname}-extra-web-fonts
%{common_description}
This package includes extra web fonts.

%prep
%autosetup -c

%build
%fontbuild

%install
%fontinstall
install -m 0644 -p Montserrat-%{version}/fonts/webfonts/*.woff %{buildroot}%{_fontdir} install -m 0644 -p Montserrat-%{version}/fonts/webfonts/*.woff2 %{buildroot}%{_fontdir}

install -m 0755 -d %{buildroot}%{_fontconfig_templatedir} \
        %{buildroot}%{_fontconfig_confdir}

# Install Montserrat fonts
install -m 0644 -p %{SOURCE1} \
        %{buildroot}%{_fontconfig_templatedir}/%{fontconf}.conf

# Install MontserratAlternates fonts
install -m 0644 -p %{SOURCE2} \
%{buildroot}%{_fontconfig_templatedir}/%{fontconf}-alternates.conf

for fconf in %{fontconf}.conf \
         %{fontconf}-alternates.conf ; do
    ln -s %{_fontconfig_templatedir}/$fconf \
        %{buildroot}%{_fontconfig_confdir}/$fconf
done

# Add AppStream metadata file, Repeat for every font family
install -Dm 0644 -p %{SOURCE3} \
%{buildroot}%{_datadir}/metainfo/%{fontpkgname}.metainfo.xml
install -Dm 0644 -p %{SOURCE4} \
%{buildroot}%{_datadir}/metainfo/%{fontpkgname}-alternates.metainfo.xml

%check
appstream-util validate-relax --nonet %{buildroot}/%{_datadir}/metainfo/%{fontpkgname}.metainfo.xml appstream-util validate-relax --nonet %{buildroot}/%{_datadir}/metainfo/%{fontpkgname}-alternates.metainfo.xml

%_font_pkg -f %{fontconf}.conf Montserrat-*.otf
%{_datadir}/metainfo/%{fontpkgname}.metainfo.xml
%_font_pkg -n alternates -f %{fontconf}-alternates.conf MontserratAlternates-*.otf
%{_datadir}/metainfo/%{fontpkgname}-alternates.metainfo.xml
%_font_pkg -n base-web Montserrat-{Regular,Light,Bold,ExtraBold,Italic}.{woff,woff2}
%_font_pkg -n extra-web Montserrat*.{woff,woff2}

%files common
%license Montserrat-%{version}/OFL.txt
%doc Montserrat-%{version}/README.md

%changelog
%autochangelog

----

As noticed, two subpackaged webfonts are listed because they are required from the landing page for Fedora Apache. The challenge is to keep these lines with the new spec version. Pointers welcome.

Thanks in advance.

Reference:

[1] https://docs.fedoraproject.org/en-US/packaging-guidelines/FontsPolicy/

[2] https://src.fedoraproject.org/rpms/ibm-plex-fonts/blob/rawhide/f/ibm-plex-fonts.spec

--
Luya Tshimbalanga
Fedora Design Team
Fedora Design Suite maintainer
_______________________________________________
fonts mailing list -- fonts@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to fonts-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/fonts@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure




[Index of Archives]     [Fedora Users]     [Font Configuration]     [Fedora Maintainers]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite Forum]     [KDE Users]

  Powered by Linux