]> git.pld-linux.org Git - packages/vte.git/blobdiff - vte.spec
icu rebuild
[packages/vte.git] / vte.spec
index 453c0cef136e8bea1d4d7dbe20ca676a937ce112..445746664b340e5d463430691972f94ddaee2e3a 100644 (file)
--- a/vte.spec
+++ b/vte.spec
@@ -1,42 +1,60 @@
-# TODO: is alt-meta patch still needed?
+#
+# Conditional build:
+%bcond_without apidocs # API documentation
+%bcond_without glade   # Glade catalog
+%bcond_without gtk4    # GTK+ 4 based library
+
 Summary:       VTE terminal widget library
 Summary(pl.UTF-8):     Biblioteka z kontrolką terminala VTE
 Name:          vte
-Version:       0.40.0
-Release:       1
-License:       LGPL v2.1+
+Version:       0.72.2
+Release:       2
+# some files have LGPL v2.1+ signature, but some LGPL v3+
+License:       LGPL v3+ (library), GPL v3+ (app)
 Group:         X11/Libraries
-Source0:       http://ftp.gnome.org/pub/GNOME/sources/vte/0.40/%{name}-%{version}.tar.xz
-# Source0-md5: 5593de4ac25ca578e26f01be57c0c3ff
-# https://bugzilla.gnome.org/show_bug.cgi?id=663779
-Patch0:                %{name}-alt-meta.patch
-BuildRequires: autoconf >= 2.63
-BuildRequires: automake >= 1:1.9
+Source0:       https://download.gnome.org/sources/vte/0.72/%{name}-%{version}.tar.xz
+# Source0-md5: 677e24f7a8dab11e20b1e1e195f1354f
+Patch0:                %{name}-wordsep.patch
+URL:           https://wiki.gnome.org/Apps/Terminal/VTE
+BuildRequires: cairo-gobject-devel
 BuildRequires: docbook-dtd412-xml
-BuildRequires: gettext-devel
-BuildRequires: glib2-devel >= 1:2.40.0
-BuildRequires: gnutls-devel >= 3.2.0
+BuildRequires: fribidi-devel >= 1.0.0
+# C11
+BuildRequires: gcc >= 6:4.7
+BuildRequires: gdk-pixbuf2-devel
+BuildRequires: gettext-tools
+BuildRequires: glib2-devel >= 1:2.52.0
+BuildRequires: gnutls-devel >= 3.2.7
 BuildRequires: gobject-introspection-devel >= 0.10.0
-BuildRequires: gtk+3-devel >= 3.8.0
-BuildRequires: gtk-doc >= 1.13
-BuildRequires: gtk-doc-automake >= 1.13
+BuildRequires: gperf
+BuildRequires: gtk+3-devel >= 3.24.0
+%{?with_gtk4:BuildRequires:    gtk4-devel >= 4.0.1}
+%{?with_apidocs:BuildRequires: gi-docgen}
 BuildRequires: intltool >= 0.40.0
-BuildRequires: libtool >= 2:2.2
+BuildRequires: libicu-devel >= 4.8
+# C++20 support (-std=gnu++2a, char8_t)
+BuildRequires: libstdc++-devel >= 6:9.0
 BuildRequires: libxml2-progs >= 2
-BuildRequires: ncurses-devel
+BuildRequires: meson >= 0.60.0
+BuildRequires: ninja >= 1.5
 BuildRequires: pango-devel >= 1:1.22.0
+BuildRequires: pcre2-8-devel >= 10.21
 BuildRequires: pkgconfig
-BuildRequires: rpmbuild(macros) >= 1.592
+BuildRequires: rpm-build >= 4.6
+BuildRequires: rpmbuild(macros) >= 1.752
+BuildRequires: systemd-devel >= 1:220
 BuildRequires: tar >= 1:1.22
-#BuildRequires:        vala >= 2:0.18
+BuildRequires: vala >= 2:0.24
 BuildRequires: xz
-Requires:      %{name}-common = %{version}-%{release}
-Requires:      glib2 >= 1:2.40.0
-Requires:      gnutls >= 3.2.0
-Requires:      gtk+3 >= 3.8.0
+BuildRequires: zlib-devel
+Requires:      fribidi >= 1.0.0
+Requires:      glib2 >= 1:2.52.0
+Requires:      gnutls >= 3.2.7
+Requires:      gtk+3 >= 3.24.0
+Requires:      libicu >= 4.8
 Requires:      pango >= 1:1.22.0
-# sr@Latn vs. sr@latin
-Conflicts:     glibc-misc < 6:2.7
+Requires:      systemd-libs >= 1:220
+Obsoletes:     vte-common < 0.42.0
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %description
@@ -47,26 +65,14 @@ gnome-terminal among other programs.
 Ten pakiet zawiera kontrolkę terminala dla GTK+ 3.x. Jest używany
 przez gnome-terminal oraz inne programy.
 
-%package common
-Summary:       Common files for vte and vte0
-Summary(pl.UTF-8):     Pliki wspólne dla vte i vte0
-Group:         X11/Libraries
-Requires(pre): utempter
-
-%description common
-Common files for GTK+ 3 based vte and GTK+ 2 based vte0.
-
-%description common -l pl.UTF-8
-Pliki wspólne dla vte opartego na GTK+ 3 oraz vte0 opartego na GTK+ 2.
-
 %package devel
 Summary:       Header files for VTE for GTK+ 3
 Summary(pl.UTF-8):     Pliki nagłówkowe VTE dla GTK+ 3
+License:       LGPL v3+
 Group:         X11/Development/Libraries
 Requires:      %{name} = %{version}-%{release}
-Requires:      glib2-devel >= 1:2.40.0
-Requires:      gtk+3-devel >= 3.8.0
-Requires:      ncurses-devel
+Requires:      glib2-devel >= 1:2.52.0
+Requires:      gtk+3-devel >= 3.24.0
 Requires:      pango-devel >= 1:1.22.0
 Conflicts:     gnome-libs-devel < 1.4.1.2
 
@@ -77,25 +83,27 @@ This package contains header files for GTK+ 3 based vte library.
 Pliki nagłówkowe potrzebne do kompilowania programów używających
 biblioteki vte opartej na GTK+ 3.
 
-%package static
-Summary:       Static VTE library for GTK+ 3
-Summary(pl.UTF-8):     Statyczna biblioteka VTE dla GTK+ 3
+%package glade
+Summary:       VTE catalog file for Glade
+Summary(pl.UTF-8):     Plik katalogu VTE dla Glade
 Group:         X11/Development/Libraries
 Requires:      %{name}-devel = %{version}-%{release}
-Conflicts:     gnome-libs-static < 1.4.1.2
+Requires:      glade >= 3
 
-%description static
-Static version of VTE library for GTK+ 3.
+%description glade
+VTE catalog file for Glade.
 
-%description static -l pl.UTF-8
-Statyczna wersja biblioteki VTE dla GTK+ 3.
+%description glade -l pl.UTF-8
+Plik katalogu VTE dla Glade.
 
 %package -n vala-vte
 Summary:       Vala API for VTE library
 Summary(pl.UTF-8):     API języka Vala dla biblioteki VTE
+License:       LGPL v3+
 Group:         Development/Libraries
 Requires:      %{name}-devel = %{version}-%{release}
-Requires:      vala >= 2:0.18
+Requires:      vala >= 2:0.24
+BuildArch:     noarch
 
 %description -n vala-vte
 Vala API for VTE library.
@@ -108,6 +116,7 @@ Summary:    VTE API documentation (GTK+ 3 version)
 Summary(pl.UTF-8):     Dokumentacja API VTE (wersja dla GTK+ 3)
 Group:         Documentation
 Requires:      gtk-doc-common
+BuildArch:     noarch
 
 %description apidocs
 VTE API documentation (GTK+ 3 version).
@@ -115,42 +124,101 @@ VTE API documentation (GTK+ 3 version).
 %description apidocs -l pl.UTF-8
 Dokumentacja API VTE (wersja dla GTK+ 3).
 
+%package gtk4
+Summary:       VTE terminal widget library (GTK 4 version)
+Summary(pl.UTF-8):     Biblioteka z kontrolką terminala VTE (wersja dla GTK 4)
+Group:         Libraries
+Requires:      fribidi >= 1.0.0
+Requires:      glib2 >= 1:2.52.0
+Requires:      gnutls >= 3.2.7
+Requires:      gtk4 >= 4.0.1
+Requires:      libicu >= 4.8
+Requires:      pango >= 1:1.22.0
+Requires:      systemd-libs >= 1:220
+# for common files
+Suggests:      %{name} = %{version}-%{release}
+
+%description gtk4
+The vte package contains a terminal widget for GTK 4.x. It's used by
+gnome-terminal among other programs.
+
+%description gtk4 -l pl.UTF-8
+Ten pakiet zawiera kontrolkę terminala dla GTK 4. Jest używany przez
+gnome-terminal oraz inne programy.
+
+%package gtk4-devel
+Summary:       Header files for VTE for GTK 4
+Summary(pl.UTF-8):     Pliki nagłówkowe VTE dla GTK 4
+License:       LGPL v3+
+Group:         X11/Development/Libraries
+Requires:      %{name}-gtk4 = %{version}-%{release}
+Requires:      glib2-devel >= 1:2.52.0
+Requires:      gtk4-devel >= 4.0.1
+Requires:      pango-devel >= 1:1.22.0
+
+%description gtk4-devel
+This package contains header files for GTK 4 based vte library.
+
+%description gtk4-devel -l pl.UTF-8
+Pliki nagłówkowe potrzebne do kompilowania programów używających
+biblioteki vte opartej na GTK 4.
+
+%package -n vala-vte-gtk4
+Summary:       Vala API for VTE library (GTK 4 version)
+Summary(pl.UTF-8):     API języka Vala dla biblioteki VTE (wersja dla GTK 4)
+License:       LGPL v3+
+Group:         Development/Libraries
+Requires:      %{name}-gtk4-devel = %{version}-%{release}
+Requires:      vala >= 2:0.24
+BuildArch:     noarch
+
+%description -n vala-vte-gtk4
+Vala API for VTE library (GTK 4 version).
+
+%description -n vala-vte-gtk4 -l pl.UTF-8
+API języka Vala dla biblioteki VTE (wersja dla GTK 4).
+
+%package gtk4-apidocs
+Summary:       VTE API documentation (GTK 4 version)
+Summary(pl.UTF-8):     Dokumentacja API VTE (wersja dla GTK 4)
+Group:         Documentation
+Requires:      gtk-doc-common
+BuildArch:     noarch
+
+%description gtk4-apidocs
+VTE API documentation (GTK 4 version).
+
+%description gtk4-apidocs -l pl.UTF-8
+Dokumentacja API VTE (wersja dla GTK 4).
+
 %prep
 %setup -q
 %patch0 -p1
 
+# it seems 9.0 with -std=gnu++2a is sufficient for 0.68.x (-std=gnu++20 option was added in 10.0)
+%{__sed} -i -e '/cxx_req_std/ s/gnu++20/gnu++2a/; /gxx_req_version/ s/10\.0/9.0/' meson.build
+# ...except for single test, which wants consteval and constinit
+%{__sed} -i -e 's/consteval //;s/constinit //' src/pastify-test.cc
+
 %build
-%{__gtkdocize}
-%{__glib_gettextize}
-%{__intltoolize}
-%{__libtoolize}
-%{__aclocal}
-%{__autoheader}
-%{__automake}
-%{__autoconf}
-cd gnome-pty-helper
-%{__libtoolize}
-%{__aclocal}
-%{__autoheader}
-%{__automake}
-%{__autoconf}
-cd ..
-%configure \
-       --disable-silent-rules \
-       --enable-gnome-pty-helper \
-       --enable-gtk-doc \
-       --enable-introspection \
-       --with-default-emulation=xterm \
-       --with-html-dir=%{_gtkdocdir}
-%{__make}
+%meson build \
+       %{?with_apidocs:-Ddocs=true} \
+       %{!?with_glade:-Dglade=false} \
+       -Dgtk3=true \
+       -Dgtk4=%{__true_false gtk4}
+
+%ninja_build -C build
 
 %install
 rm -rf $RPM_BUILD_ROOT
 
-%{__make} install \
-       DESTDIR=$RPM_BUILD_ROOT
+%ninja_install -C build
 
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/*.la
+%if %{with apidocs}
+# FIXME: where to package gi-docgen generated docs?
+install -d $RPM_BUILD_ROOT%{_gtkdocdir}
+%{__mv} $RPM_BUILD_ROOT%{_docdir}/vte-2.91* $RPM_BUILD_ROOT%{_gtkdocdir}
+%endif
 
 %find_lang %{name}-2.91
 
@@ -160,18 +228,22 @@ rm -rf $RPM_BUILD_ROOT
 %post  -p /sbin/ldconfig
 %postun        -p /sbin/ldconfig
 
+%post  gtk4 -p /sbin/ldconfig
+%postun        gtk4 -p /sbin/ldconfig
+
 %files -f vte-2.91.lang
 %defattr(644,root,root,755)
+%doc AUTHORS ChangeLog README.md
 %attr(755,root,root) %{_bindir}/vte-2.91
+# gtk-version neutral, move to common?
+%attr(755,root,root) %{_libexecdir}/vte-urlencode-cwd
 %attr(755,root,root) %{_libdir}/libvte-2.91.so.*.*.*
 %attr(755,root,root) %ghost %{_libdir}/libvte-2.91.so.0
 %{_libdir}/girepository-1.0/Vte-2.91.typelib
+%config(noreplace) %verify(not md5 mtime size) /etc/profile.d/vte.csh
 %config(noreplace) %verify(not md5 mtime size) /etc/profile.d/vte.sh
-
-%files common
-%defattr(644,root,root,755)
-%doc AUTHORS ChangeLog MAINTAINERS NEWS README
-%attr(2755,root,utmp) %{_libdir}/gnome-pty-helper
+%dir %{systemduserunitdir}/vte-spawn-.scope.d
+%{systemduserunitdir}/vte-spawn-.scope.d/defaults.conf
 
 %files devel
 %defattr(644,root,root,755)
@@ -180,14 +252,46 @@ rm -rf $RPM_BUILD_ROOT
 %{_pkgconfigdir}/vte-2.91.pc
 %{_datadir}/gir-1.0/Vte-2.91.gir
 
-%files static
+%if %{with glade}
+%files glade
 %defattr(644,root,root,755)
-%{_libdir}/libvte-2.91.a
+%{_datadir}/glade/catalogs/vte-2.91.xml
+%{_datadir}/glade/pixmaps/hicolor/*x*/actions/widget-vte-terminal.png
+%endif
 
 %files -n vala-vte
 %defattr(644,root,root,755)
+%{_datadir}/vala/vapi/vte-2.91.deps
 %{_datadir}/vala/vapi/vte-2.91.vapi
 
+%if %{with apidocs}
 %files apidocs
 %defattr(644,root,root,755)
 %{_gtkdocdir}/vte-2.91
+%endif
+
+%if %{with gtk4}
+%files gtk4
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/vte-2.91-gtk4
+%attr(755,root,root) %{_libdir}/libvte-2.91-gtk4.so.0
+%{_libdir}/girepository-1.0/Vte-3.91.typelib
+
+%files gtk4-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libvte-2.91-gtk4.so
+%{_includedir}/vte-2.91-gtk4
+%{_pkgconfigdir}/vte-2.91-gtk4.pc
+%{_datadir}/gir-1.0/Vte-3.91.gir
+
+%files -n vala-vte-gtk4
+%defattr(644,root,root,755)
+%{_datadir}/vala/vapi/vte-2.91-gtk4.deps
+%{_datadir}/vala/vapi/vte-2.91-gtk4.vapi
+
+%if %{with apidocs}
+%files gtk4-apidocs
+%defattr(644,root,root,755)
+%{_gtkdocdir}/vte-2.91-gtk4
+%endif
+%endif
This page took 0.101118 seconds and 4 git commands to generate.