File wordgrinder.spec of Package wordgrinder

#
# spec file for package wordgrinder
#
# Copyright (c) 2025 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+git20250317.c04cc82
Release:        0
Summary:        Unicode aware Character Cell Word Processor
License:        MIT
Group:          Productivity/Text/Editors
URL:            https://github.com/davidgiven/wordgrinder
Source0:        %{name}-%{version}.tar.gz
Source1:        icon.png
Source2:        README.wg
Source3:        %{name}.desktop
Source4:        %{name}.xml
Patch0:         Makefile.diff
Patch1:         dpy.cc.diff
#Patch2:         Ast.h.diff
#BuildRequires:  ImageMagick
BuildRequires:  fdupes
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(fmt) > 11.0.2
BuildRequires:  pkgconfig(glfw3)
BuildRequires:  pkgconfig(libcmark)
BuildRequires:  pkgconfig(ncurses)
BuildRequires:  pkgconfig(ncursesw)
BuildRequires:  pkgconfig(sdl2)
BuildRequires:  pkgconfig(xft)
BuildRequires:  pkgconfig(zlib)
BuildRequires:  python3-PIL
BuildRequires:  xxd
#####
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
%autosetup -p 0

%build
%make_build \
  CXXFLAGS="%{optflags} -fPIE -pie" \
  DESTDIR=%{buildroot} \
  DOCDIR=%{buildroot}%{_docdir} \
  PREFIX=%{buildroot}%{_prefix} \
  %{?_smp_mflags}

%install
mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_docdir}/%{name}
mkdir -p %{buildroot}%{_mandir}/man1
mkdir -p %{buildroot}%{_datadir}/applications
mkdir -p %{buildroot}%{_datadir}/icons/hicolor/256x256/apps
mkdir -p %{buildroot}%{_datadir}/mime/packages
cp -v %{SOURCE1} %{buildroot}%{_datadir}/icons/hicolor/256x256/apps/%{name}.png
cp -v %{SOURCE2} %{buildroot}%{_docdir}/%{name}/
cp -v %{SOURCE3} %{buildroot}%{_datadir}/applications/
cp -v %{SOURCE4} %{buildroot}%{_datadir}/mime/packages/
%make_install PREFIX="%{buildroot}%{_prefix}" MANDIR="%{buildroot}%{_mandir}"

%fdupes -s %{buildroot}

%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}/applications/%{name}.desktop
%{_datadir}/mime/packages/%{name}.xml

%changelog
openSUSE Build Service is sponsored by