File wordgrinder.spec of Package wordgrinder
#
# spec file for package wordgrinder
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: wordgrinder
Version: 0.9+git20230310.c1434c2
Release: 0
Summary: Unicode aware Character Cell Word Processor
License: MIT
Group: Productivity/Text/Editors
URL: https://github.com/davidgiven/wordgrinder
Source: %{name}-%{version}.tar.gz
BuildRequires: ImageMagick
BuildRequires: gcc-c++
BuildRequires: libSDL2_ttf-devel
BuildRequires: lua-devel
BuildRequires: lua-luafilesystem
BuildRequires: make
BuildRequires: ninja
BuildRequires: pkgconfig
BuildRequires: pkgconfig(SDL2_ttf)
BuildRequires: pkgconfig(glfw3)
BuildRequires: pkgconfig(ncurses)
BuildRequires: pkgconfig(sdl2)
BuildRequires: pkgconfig(xft)
BuildRequires: pkgconfig(zlib)
### Local builds complain about vim conflict:
# ./.osc/_buildconfig-openSUSE_Tumbleweed-x86_64:Substitute: obs:cli_debug_packages gdb vim strace less rzsz
# This is required to provide xxd; fails to build without it.
# 20221114: openSUSE:Leap:15.4 is providing 1.34.1 but openSUSE:Leap:15.4:Update is providing 1.35.0
# temporarily removing openSUSE:Leap:15.4:Update/standard from 15.4 definition @ https://build.opensuse.org/repositories/home:sbradnick
#
# localhost:~ # zypper search --details busybox
# Loading repository data...
# Reading installed packages...
#
# S | Name | Type | Version | Arch | Repository
# --+-------------------+------------+---------------------+--------+-------------------------------------------------------------
# | busybox | package | 1.35.0-150400.3.3.1 | x86_64 | Update repository with updates from SUSE Linux Enterprise 15
# | busybox | package | 1.34.1-150400.1.8 | x86_64 | Main Repository
# | busybox | srcpackage | 1.35.0-150400.3.3.1 | noarch | Update repository with updates from SUSE Linux Enterprise 15
# | busybox-k8s-yaml | package | 1.0-bp154.1.20 | noarch | Main Repository
# | busybox-static | package | 1.35.0-150400.3.3.1 | x86_64 | Update repository with updates from SUSE Linux Enterprise 15
# | busybox-static | package | 1.34.1-150400.1.8 | x86_64 | Main Repository
# | busybox-testsuite | package | 1.35.0-150400.3.3.1 | x86_64 | Update repository with updates from SUSE Linux Enterprise 15
# | busybox-testsuite | package | 1.34.1-150400.1.8 | x86_64 | Main Repository
# | busybox-warewulf3 | package | 1.35.0-150400.3.3.1 | x86_64 | Update repository with updates from SUSE Linux Enterprise 15
# | busybox-warewulf3 | package | 1.34.1-150400.1.8 | x86_64 | Main Repository
#
#####
BuildRequires: -vim
### Swapping out "busybox-vi" for "busybox" in lieu of "hack"
#BuildRequires: busybox-vi
BuildRequires: busybox
#####
%description
WordGrinder is a simple, Unicode-aware word processor that runs on the
console. It's designed to get the hell out of your way and let you write;
it does very little, but what it does it does well.
It supports basic paragraph styles, basic character styles, basic screen
markup, a menu interface that means you don't have to remember complex
key sequences, HTML import and export, and some other useful features.
WordGrinder does not require X. It runs in a terminal. (But there's a
version which uses X if you want it.)
%prep
%setup -q
%build
### "hack" to account for 20221114 busybox oddity
mkdir ~/bin
export PATH=$HOME/bin:$PATH
ln -s /usr/bin/busybox ~/bin/xxd
which xxd
#####
%make_build \
CXXFLAGS="%%{optflags} -fPIE -pie" \
DESTDIR=%{buildroot} \
DOCDIR=%{buildroot}%{_docdir} \
PREFIX=%{buildroot}%{_prefix} \
%{?_smp_mflags}
%install
%make_install
mkdir -p %{buildroot}%{_docdir}/%{name}
mv -v %{buildroot}/usr/doc/%{name}/README.wg %{buildroot}%{_docdir}/%{name}/README.wg
mkdir -p %{buildroot}%{_mandir}/man1
mv -v %{buildroot}/usr/man/man1/*wordgrinder* %{buildroot}%{_mandir}/man1/
%files
%dir %{_docdir}/%{name}
%dir %{_datadir}/icons/hicolor
%dir %{_datadir}/icons/hicolor/256x256
%dir %{_datadir}/icons/hicolor/256x256/apps
%{_bindir}/wordgrinder
%{_bindir}/xwordgrinder
%{_mandir}/man1/wordgrinder.1*
%{_mandir}/man1/xwordgrinder.1*
%{_docdir}/%{name}/README.wg
%{_datadir}/icons/hicolor/256x256/apps/wordgrinder.png
%{_datadir}/mime/packages/wordgrinder.xml
%{_datadir}/applications/*.desktop
%changelog