diff --git a/.gitignore b/.gitignore index df8d571..78b5e33 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /i3-4.*.tar.bz2 +/gpgkey-424E14D703E7C6D43D9D6F364E7160ED4AC8EE1D.gpg diff --git a/i3-4.17.1.tar.bz2.asc b/i3-4.17.1.tar.bz2.asc new file mode 100644 index 0000000..05d13bb --- /dev/null +++ b/i3-4.17.1.tar.bz2.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCgAdFiEEQk4U1wPnxtQ9nW82TnFg7UrI7h0FAl1pj/MACgkQTnFg7UrI +7h3wehAA1WP7Nv/rHTt/+VZREPERVXHSZArC3VzxnsM8PAb0iZD7djOsLnagMGEx +ceOrv0PmCRRz/U1xF5+R5kVpnDiIyHDXnMAGDAWxZLzsgiqnGOFGCCA4onJ//rcB +9OumCZV2ro+Rm6ffMPw3RhtEmUxEc1+o5H8AT9a51yZigz1F5aq2TMDpw3bkU4i+ ++eYwCR1FSS9+9wy376Ku1it0gxMWf3qd3Lmlv9ghbk5xBuLxCfSzjk5lBfT8dlmp +9uGBplU5mSBReBw0o7rY03klAuo7N58cCjF2kPfWn2mi8zhFK3lWriqmv/Hq1d2p +L8rJvGpCUfebs7V6C2gGzDNW7MNhMNDJSAe8iqqKFrRqfKjMNxRLQcaDlA8lOhOy +RUjWevWn398PRoVyRgciMf2Mqy2sJls/w6IXSIHNM/oC56w8lPmn2P/oaxl8C0Sf +I0+rGq/G6m/LyPPk8eduVLCVIoDfsVDShYuBa4IusIbaZIB+2shcuTU/89Q+mCAc +EV4J+NcmH3qmCS1BKqcvLE9GnGXY1hw99tULqL1twny1EvHvTyLhdaFPO4Ioz4NH +OhQqDQE2+KLagp7w6OKDxgLVI8HeDOvAg5TTqoPwoMQm/H/+aywMP7phKfD4iQJk +k6NJcU9MQVyJXBdP0EutSKI1/S3Z9SOlse96y0glRi8p/Ns8JQ8= +=EbJQ +-----END PGP SIGNATURE----- diff --git a/i3.spec b/i3.spec index ddaaec4..9894fbc 100644 --- a/i3.spec +++ b/i3.spec @@ -4,24 +4,45 @@ Release: 1%{?dist} Summary: Improved tiling window manager License: BSD URL: https://i3wm.org -Source0: https://i3wm.org/downloads/%{name}-%{version}.tar.bz2 +Source0: %{URL}/downloads/%{name}-%{version}.tar.bz2 Source1: %{name}-logo.svg - +Source2: %{URL}/downloads/%{name}-%{version}.tar.bz2.asc +# Michael Stapelberg's GPG key: +Source3: gpgkey-424E14D703E7C6D43D9D6F364E7160ED4AC8EE1D.gpg BuildRequires: gcc -BuildRequires: asciidoc -BuildRequires: bison -BuildRequires: cairo-devel -BuildRequires: flex -BuildRequires: libev-devel -BuildRequires: libX11-devel -BuildRequires: libxcb-devel -BuildRequires: libXcursor-devel -BuildRequires: libxkbcommon-x11-devel -BuildRequires: libxkbfile-devel -BuildRequires: pango-devel -BuildRequires: pcre-devel +BuildRequires: autoconf +BuildRequires: automake +# from configure.ac and DEPENDS (mostly versions) +BuildRequires: pkg-config >= 0.25 +# no pkg-config for libev +BuildRequires: libev-devel >= 4.0 +BuildRequires: pkgconfig(libstartup-notification-1.0) +BuildRequires: pkgconfig(xcb) >= 1.1.93 +BuildRequires: pkgconfig(xcb-xkb) +BuildRequires: pkgconfig(xcb-xinerama) +BuildRequires: pkgconfig(xcb-randr) +BuildRequires: pkgconfig(xcb-shape) +BuildRequires: pkgconfig(xcb-event) +BuildRequires: pkgconfig(xcb-util) +BuildRequires: pkgconfig(xcb-cursor) +BuildRequires: pkgconfig(xcb-keysyms) +BuildRequires: pkgconfig(xcb-icccm) +BuildRequires: pkgconfig(xcb-xrm) +BuildRequires: pkgconfig(xkbcommon) >= 0.4.0 +BuildRequires: pkgconfig(xkbcommon-x11) >= 0.4.0 +BuildRequires: pkgconfig(yajl) >= 2.0.1 +BuildRequires: pkgconfig(libpcre) >= 8.10 +BuildRequires: pkgconfig(cairo) >= 1.14.4 +BuildRequires: pkgconfig(pangocairo) >= 1.30.0 +BuildRequires: pkgconfig(glib-2.0) +BuildRequires: pkgconfig(gobject-2.0) +# man pages +BuildRequires: asciidoc >= 8.3.0 +BuildRequires: xmlto >= 0.0.23 + # TODO: Testsuites +# BuildRequires: perl(ExtUtils::MakeMaker) #BuildRequires: perl(strict) #BuildRequires: perl(warnings) #BuildRequires: perl(Pod::Usage) @@ -39,30 +60,27 @@ BuildRequires: pcre-devel #BuildRequires: perl(AnyEvent::I3) #BuildRequires: perl(X11::XCB::Connection) #BuildRequires: perl(Carp) + BuildRequires: perl-generators -BuildRequires: perl(Getopt::Long) -BuildRequires: perl(Data::Dumper::Names) -BuildRequires: startup-notification-devel -BuildRequires: xcb-proto -BuildRequires: xcb-util-cursor-devel -BuildRequires: xcb-util-devel -BuildRequires: xcb-util-keysyms-devel -BuildRequires: xcb-util-wm-devel -BuildRequires: xcb-util-xrm-devel -BuildRequires: xmlto +BuildRequires: perl(Pod::Simple) %ifnarch s390 s390x BuildRequires: xorg-x11-drv-dummy %endif -BuildRequires: yajl-devel -Requires: dmenu -Requires: dzen2 +# gpg verification +BuildRequires: gnupg2 + Requires: perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version)) -Requires: i3status %{!?rhel:Recommends: rxvt-unicode} %{!?rhel:Recommends: xorg-x11-apps} Requires: xorg-x11-fonts-misc Requires: pulseaudio-utils +# for i3-save-tree +Requires: perl(AnyEvent::I3) >= 0.12 + +Recommends: dmenu +Recommends: i3status +Recommends: i3lock %description Key features of i3 are correct implementation of XrandR, horizontal and vertical @@ -74,29 +92,49 @@ Please be aware that i3 is primarily targeted at advanced users and developers. %package doc Summary: Documentation for %{name} -BuildRequires: doxygen BuildArch: noarch Requires: %{name} = %{version}-%{release} %description doc -Asciidoc and doxygen generated documentations for %{name}. +Asciidoc generated documentation for %{name}. + +%package devel +Summary: Development files for %{name} +Requires: %{name} = %{version}-%{release} + +%description devel +Header files for %{name}. + +%package devel-doc +Summary: Documentation for the development files of %{name} +BuildRequires: doxygen +BuildArch: noarch +Requires: %{name} = %{version}-%{release} + +%description devel-doc +Doxygen generated documentations for %{name}. %prep -%setup -q +gpg2 --keyring %{SOURCE3} --verify %{SOURCE2} +%autosetup # Drop /usr/bin/env lines in those which will be installed to %%_bindir. find . -maxdepth 1 -type f -name "i3*" -exec sed -i -e '1s;^#!/usr/bin/env perl;#!/usr/bin/perl;' {} + -print %build +mkdir build && pushd build +ln -s ../configure configure %configure -%make_build -C *-linux-gnu* +%make_build +popd doxygen pseudo-doc.doxygen mv pseudo-doc/html pseudo-doc/doxygen %install -%make_install -C *-linux-gnu* +pushd build +%make_install mkdir -p %{buildroot}%{_mandir}/man1/ install -Dpm0644 man/*.1 \ @@ -109,14 +147,14 @@ install -Dpm0644 %{SOURCE1} \ %check %ifnarch s390 s390x # TODO: with xorg dummy to test the package. -#cd testcases/ && ./complete-run.pl -p 1 +# TODO: get remaining dependencies in +# make check %endif %files %doc RELEASE-NOTES-%{version} %license LICENSE %{_bindir}/%{name}* -%{_includedir}/%{name}/ %dir %{_sysconfdir}/%{name}/ %config(noreplace) %{_sysconfdir}/%{name}/config %config(noreplace) %{_sysconfdir}/%{name}/config.keycodes @@ -128,9 +166,23 @@ install -Dpm0644 %{SOURCE1} \ %exclude %{_docdir}/%{name}/ %files doc -%doc docs/*.{html,png} pseudo-doc/doxygen/ +%license LICENSE +%doc docs/*.{html,png} + +%files devel +%license LICENSE +%{_includedir}/%{name}/ + +%files devel-doc +%license LICENSE +%doc pseudo-doc/doxygen/ %changelog +* Mon Nov 11 2019 Dan Čermák - 4.17.1-1 +- Create devel and devel-doc subpackages +- Cleanup specfile +- Remove dzen2 dependency, only recommend dmenu & i3status + * Mon Sep 16 2019 anadahz - 4.17.1-1 - New version - Add Missing R: pulseaudio-utils diff --git a/sources b/sources index 752d723..4883a4b 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ SHA512 (i3-4.17.1.tar.bz2) = af397dc1768ea6530e4b2ce8ef21b20ecff8ab9eebf380df224456173eea4c3bacf28b55c8efcdc70f76f0d66543c163564a94cfd66028221ace481fa3c2913f +SHA512 (gpgkey-424E14D703E7C6D43D9D6F364E7160ED4AC8EE1D.gpg) = 9df847fb869ab342206568c43f01ab749d6802b1321430ba4e11d6fcd59c15fdea2dbce2548ca37dcb860aed5ad261eb4176706896185d29f6dcb789a17f5264