synfig/synfig.spec
Your Name f2bcd08a28
Some checks failed
Run CI/CD... / main (push) Has been cancelled
Add .gitignore and .gitea/workflows/ci.yml
2025-01-31 15:09:10 +00:00

217 lines
5.2 KiB
RPMSpec

%define debug_package %{nil}
%define major 0
%define libname %mklibname %{name} %{major}
%define devname %mklibname %{name} -d
%define _synfig_libdir /usr/lib/
%define _synfig_modulesdir %{_synfig_libdir}/synfig
%define _synfig_cname %{_synfig_libdir}/cmake
Summary: Vector-based 2D animation renderer
Name: synfig
Version: 1.4.0
Release: 1
License: GPLv3+
Group: Graphics
URL: https://www.synfig.org
Source0: https://github.com/synfig/synfig/archive/v%{version}/%{name}-%{version}.tar.gz
Source100: %{name}.rpmlintrc
Patch0: synfig-1.0.1-buildfix.patch
Patch1: synfig-1.1.10-optflags.patch
Patch2: widget_soundwave.patch
BuildRequires: cmake
#BuildRequires: automake
#BuildRequires: automake1.4
BuildRequires: config(autoconf)
BuildRequires: cvs
BuildRequires: intltool
BuildRequires: boost-devel >= 1.53.0
BuildRequires: ffmpeg-devel
BuildRequires: gettext-devel
BuildRequires: jpeg-devel
BuildRequires: libltdl-devel
BuildRequires: synfig
#BuildRequires: ninja
BuildRequires: pkgconfig(cairo) >= 1.12.0
#BuildRequires: pkgconfig(ETL) >= 1.4
BuildRequires: pkgconfig(fftw3)
BuildRequires: pkgconfig(fontconfig)
BuildRequires: pkgconfig(freetype2)
BuildRequires: pkgconfig(giomm-2.4) >= 2.18.2
BuildRequires: pkgconfig(glibmm-2.4) >= 2.24.2
BuildRequires: pkgconfig(GraphicsMagick++)
BuildRequires: pkgconfig(ImageMagick) >= 6.4.2
BuildRequires: pkgconfig(libmng)
BuildRequires: pkgconfig(libpng)
BuildRequires: pkgconfig(libxml++-2.6)
BuildRequires: pkgconfig(mlt++)
BuildRequires: pkgconfig(OpenEXR)
BuildRequires: pkgconfig(pango)
BuildRequires: pkgconfig(pangocairo)
BuildRequires: pkgconfig(sigc++-2.0)
Requires: ffmpeg
Requires: libdv-apps
Requires: imagemagick
Requires: x11-font-cursor-misc
Requires: x11-font-misc
%description
synfig is a vector based 2D animation renderer. It is designed to be capable
of producing feature-film quality animation.
This package contains the command-line renderer. For the GUI animation editor,
please install synfigstudio.
%files
#-f %{name}.lang
%doc LICENSE README.md
%config(noreplace) %{_sysconfdir}/%{name}_modules.cfg
%{_bindir}/%{name}
%{_bindir}/synfigstudio
%{_datadir}/pixmaps
%{_datadir}/%{name}
%{_synfig_modulesdir}
#-----------------------------------------------------------------------------
%package -n %{libname}
Summary: Shared library for %{name}
Group: System/Libraries
%description -n %{libname}
synfig is a vector based 2D animation renderer. It is designed to be capable
of producing feature-film quality animation.
This package contains the shared library provided by synfig.
%files -n %{libname}
%doc LICENSE
#{_libdir}/lib*.so.%{major}*
%{_synfig_libdir}/*.so
#-----------------------------------------------------------------------------
%package -n %{devname}
Summary: Development headers and libraries for %{name}
Group: Development/C++
Provides: %{name}-devel = %{EVRD}
Requires: %{libname} = %{EVRD}
%description -n %{devname}
synfig is a vector based 2D animation renderer. It is designed to be capable
of producing feature-film quality animation.
This package contains the development files for the shared library provided
by synfig.
%files -n %{devname}
%doc LICENSE
#{_bindir}/%{name}-config
%{_includedir}
#{_libdir}/lib*.so
#{_libdir}/pkgconfig/%{name}.pc
#{_synfig_libdir}/*.so
%{_synfig_cname}
#-----------------------------------------------------------------------------
%prep
%setup -q
#patch0 -p1
#patch1 -p1
%patch2 -p0
%build
export CC=gcc
export CXX=g++
export TYPE="_production"
export DEBUG=0
export PREFIX=/usr
export LIBDIR=%{_libdir}
export DESTDIR=%{buildroot}
#./2-build-production.sh core
#./2-build-production.sh studio
#autobuild/build.sh
pushd ETL
./bootstrap.sh
%configure2_5x \
--disable-static \
--with-imagemagick
%make
%makeinstall_std
popd
export CFLAGS='%{optflags} -I%{buildroot}%{_includedir}/ETL'
export CXXFLAGS='%{optflags} -I%{buildroot}%{_includedir}/ETL'
export ETL_CFLAGS="-I%{buildroot}%{_includedir}/ETL -I%{buildroot}%{_libdir}/pkgconfig"
#export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:%{buildroot}%{_libdir}/pkgconfig
#CFLAGS="%{optflags}" CXXFLAGS="%{optflags} -std=c++11"
pushd %{name}-core
./bootstrap.sh
#autoreconf -vfi
#intltoolize --copy --force
# FIXME Enabling magickpp makes the build fail:
# 'GetExceptionInfo' is not a member of 'MagickCore'
%configure2_5x \
--disable-static \
--without-libavcodec \
--with-imagemagick
%make
popd
pushd %{name}-studio
./bootstrap.sh
#autoreconf -vfi
#intltoolize --copy --force
# FIXME Enabling magickpp makes the build fail:
# 'GetExceptionInfo' is not a member of 'MagickCore'
%configure2_5x \
--disable-static \
--without-libavcodec \
--with-imagemagick
%make
popd
#cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_CXX_FLAGS="-fdiagnostics-color"
#autobuild/build.sh
#./2-build-cmake.sh
#make
#make build_images
%install
#pushd ETL
#makeinstall_std
#popd
pushd %{name}-core
%makeinstall_std
popd
pushd %{name}-studio
%makeinstall_std
popd
#makeinstall_std -C build
#install -d %{buildroot}%{_sysconfdir}
#mv %{buildroot}/usr/etc/%{name}_modules.cfg %{buildroot}%{_sysconfdir}/%{name}_modules.cfg
# FIXME zh-Hant is not supported by Rosa language tree:
# remove offending lang file until we will support it
# and avoid 2 rpmlint errors
#rm -rf %{buildroot}%{_datadir}/locale/zh-Hant
#find_lang %{name}