[packages/libvideogfx] - new - sh patch fixes POSIX sh compatibility - gcc patch fixes incompatible asm constaints (by usin
qboosh
qboosh at pld-linux.org
Fri Oct 16 17:22:12 CEST 2015
commit ee714f4f16626f02e9c3fed07d8b85443f7af641
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Fri Oct 16 17:23:06 2015 +0200
- new
- sh patch fixes POSIX sh compatibility
- gcc patch fixes incompatible asm constaints (by using cpuid builtins)
- ffmpeg patch fixes build with current ffmpeg
- link patch fixes library linking with X libs
- m4 patch fixes underquoted definition in installed .m4 file
libvideogfx-ffmpeg.patch | 11 ++++
libvideogfx-gcc.patch | 33 +++++++++++
libvideogfx-link.patch | 11 ++++
libvideogfx-m4.patch | 11 ++++
libvideogfx-sh.patch | 46 ++++++++++++++++
libvideogfx.spec | 140 +++++++++++++++++++++++++++++++++++++++++++++++
6 files changed, 252 insertions(+)
---
diff --git a/libvideogfx.spec b/libvideogfx.spec
new file mode 100644
index 0000000..d1b0ce9
--- /dev/null
+++ b/libvideogfx.spec
@@ -0,0 +1,140 @@
+#
+# Conditional build:
+%bcond_without static_libs # don't build static libraries
+#
+Summary: LibVideoGfx - video processing library
+Summary(pl.UTF-8): LibVideoGfx - biblioteka do przetwarzania obrazu
+Name: libvideogfx
+Version: 1.0.9
+Release: 1
+License: LGPL v2.1+
+Group: Libraries
+Source0: https://github.com/farindk/libvideogfx/releases/download/v%{version}/%{name}-%{version}.tar.gz
+# Source0-md5: e60c78bce880264572203fcdb208da79
+Patch0: %{name}-sh.patch
+Patch1: %{name}-gcc.patch
+Patch2: %{name}-ffmpeg.patch
+Patch3: %{name}-link.patch
+Patch4: %{name}-m4.patch
+URL: http://dirk-farin.net/software/libvideogfx/index.html
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: ffmpeg-devel
+BuildRequires: libjpeg-devel
+BuildRequires: libpng-devel
+BuildRequires: libstdc++-devel >= 6:4.5
+BuildRequires: libtool >= 2:1.5
+BuildRequires: xorg-lib-libX11-devel
+BuildRequires: xorg-lib-libXext-devel
+BuildRequires: xorg-lib-libXv-devel
+BuildRequires: zlib-devel
+BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+%description
+LibVideoGfx is a C++ library for low-level video processing. It aims
+at speeding up the development process for image and video processing
+applications by providing high-level classes for commonly required
+tasks. The library comprises support for:
+ - basic image data classes
+ - color-space convertion for RGB, YUV, HSV
+ - drawing primitives (lines, circles, ...)
+ - image manipulation (scaling, pixel-ops, convolution)
+ - file-IO (ppm, yuv, jpeg, png, mpeg, V4L-grabbing)
+ - X11 image display (including Xv-extension support)
+
+%description -l pl.UTF-8
+LibVideoGfx to biblioteka C++ do niskopoziomowego przetwarzania
+obrazu. Celem jest przyspieszenie procesu tworzenia aplikacji do
+przetwarzania obrazu statycznego i ruchomego poprzez dostarczenie
+wysokopoziomowych klas do często wymaganych zadań. Biblioteka pokrywa:
+ - podstawowe klasy danych obrazu
+ - konwersję przestrzeni kolorów RGB, YUV, HSV
+ - prymitywy rysunkowe (linie, okręgi...)
+ - obróbkę obrazu (skalowanie, operacje na pikselach, sploty)
+ - operacje na plikach (ppm, yuv, jpeg, png, mpeg, przechwytywanie
+ V4L)
+ - wyświetlanie obrazu X11 (wraz z obsługą rozszerzenia Xv)
+
+%package devel
+Summary: Header files for LibVideoGfx library
+Summary(pl.UTF-8): Pliki nagłówkowe biblioteki LibVideoGfx
+Group: Development/Libraries
+Requires: %{name} = %{version}-%{release}
+Requires: libstdc++-devel >= 6:4.5
+Requires: libjpeg-devel
+Requires: libpng-devel
+Requires: xorg-lib-libX11-devel
+Requires: xorg-lib-libXext-devel
+Requires: xorg-lib-libXv-devel
+
+%description devel
+Header files for LibVideoGfx library.
+
+%description devel -l pl.UTF-8
+Pliki nagłówkowe biblioteki LibVideoGfx.
+
+%package static
+Summary: Static LibVideoGfx library
+Summary(pl.UTF-8): Statyczna biblioteka LibVideoGfx
+Group: Development/Libraries
+Requires: %{name}-devel = %{version}-%{release}
+
+%description static
+Static LibVideoGfx library.
+
+%description static -l pl.UTF-8
+Statyczna biblioteka LibVideoGfx.
+
+%prep
+%setup -q
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+
+%build
+%{__libtoolize}
+%{__aclocal}
+%{__autoconf}
+%{__autoheader}
+%{__automake}
+%configure \
+ %{!?with_static_libs:--disable-static}
+%{__make}
+
+%install
+rm -rf $RPM_BUILD_ROOT
+
+%{__make} install \
+ DESTDIR=$RPM_BUILD_ROOT
+
+# obsoleted by pkg-config
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/libvideogfx.la
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%post -p /sbin/ldconfig
+%postun -p /sbin/ldconfig
+
+%files
+%defattr(644,root,root,755)
+%doc AUTHORS NEWS README TODO
+%attr(755,root,root) %{_libdir}/libvideogfx-1.0.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libvideogfx-1.0.so.9
+
+%files devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/libvideogfx-config
+%attr(755,root,root) %{_libdir}/libvideogfx.so
+%{_includedir}/libvideogfx
+%{_includedir}/libvideogfx.hh
+%{_pkgconfigdir}/libvideogfx.pc
+%{_aclocaldir}/libvideogfx.m4
+
+%if %{with static_libs}
+%files static
+%defattr(644,root,root,755)
+%{_libdir}/libvideogfx.a
+%endif
diff --git a/libvideogfx-ffmpeg.patch b/libvideogfx-ffmpeg.patch
new file mode 100644
index 0000000..cc8dcfa
--- /dev/null
+++ b/libvideogfx-ffmpeg.patch
@@ -0,0 +1,11 @@
+--- libvideogfx-1.0.9/libvideogfx/graphics/fileio/ffmpeg.cc.orig 2015-10-15 21:48:26.217193172 +0200
++++ libvideogfx-1.0.9/libvideogfx/graphics/fileio/ffmpeg.cc 2015-10-15 21:50:12.237190962 +0200
+@@ -166,7 +166,7 @@
+ if (frameRGB) { av_free(frameRGB); frameRGB=NULL; }
+ if (frame) { av_free(frame); frame=NULL; }
+ if (codecCtx) { avcodec_close(codecCtx); codecCtx=NULL; }
+- if (formatCtx) { av_close_input_file(formatCtx); formatCtx=NULL; }
++ if (formatCtx) { avformat_close_input(&formatCtx); formatCtx=NULL; }
+ }
+
+
diff --git a/libvideogfx-gcc.patch b/libvideogfx-gcc.patch
new file mode 100644
index 0000000..b9bd4ae
--- /dev/null
+++ b/libvideogfx-gcc.patch
@@ -0,0 +1,33 @@
+--- libvideogfx-1.0.9/libvideogfx/arch/cpu.cc.orig 2014-01-22 12:07:21.000000000 +0100
++++ libvideogfx-1.0.9/libvideogfx/arch/cpu.cc 2015-10-15 21:36:59.703874154 +0200
+@@ -53,6 +53,8 @@
+
+ #if CPU_x86
+
++#include <cpuid.h>
++
+ #define CPU_CAP_MMX (1<<0)
+ #define CPU_CAP_MMXEXT (1<<1)
+ #define CPU_CAP_SSE (1<<2)
+@@ -82,9 +84,7 @@
+ __cpuid((int *)regs, (int)a);
+
+ #else
+- __asm__ volatile
+- ("cpuid" : "=a" (regs[0]), "=b" (regs[1]), "=c" (regs[2]), "=d" (regs[3])
+- : "a" (a), "c" (0));
++ __cpuid_count(a, 0, regs[0], regs[1], regs[2], regs[3]);
+ // ECX is set to zero for CPUID function 4
+ #endif
+
+@@ -110,9 +110,7 @@
+ __cpuid((int *)regs, (int)a);
+
+ #else
+- __asm__ volatile
+- ("cpuid" : "=a" (regs[0]), "=b" (regs[1]), "=c" (regs[2]), "=d" (regs[3])
+- : "a" (a), "c" (0));
++ __cpuid_count(a, 0, regs[0], regs[1], regs[2], regs[3]);
+ // ECX is set to zero for CPUID function 4
+ #endif
+
diff --git a/libvideogfx-link.patch b/libvideogfx-link.patch
new file mode 100644
index 0000000..c3b0da0
--- /dev/null
+++ b/libvideogfx-link.patch
@@ -0,0 +1,11 @@
+--- libvideogfx-1.0.9/libvideogfx/x11/Makefile.am.orig 2014-01-22 12:07:21.000000000 +0100
++++ libvideogfx-1.0.9/libvideogfx/x11/Makefile.am 2015-10-15 22:18:14.410489236 +0200
+@@ -5,6 +5,8 @@
+ libvideogfx_x11_includedir = \
+ $(includedir)/libvideogfx/x11
+
++libvideogfx_x11_la_LIBADD = $(X_LIBS)
++
+ libvideogfx_x11_la_SOURCES = \
+ server.cc \
+ server.hh \
diff --git a/libvideogfx-m4.patch b/libvideogfx-m4.patch
new file mode 100644
index 0000000..a7ac3c3
--- /dev/null
+++ b/libvideogfx-m4.patch
@@ -0,0 +1,11 @@
+--- libvideogfx-1.0.9/libvideogfx.m4.orig 2014-01-22 12:07:21.000000000 +0100
++++ libvideogfx-1.0.9/libvideogfx.m4 2015-10-15 22:21:25.267151924 +0200
+@@ -4,7 +4,7 @@
+ dnl AM_PATH_LIBVIDEOGFX([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]])
+ dnl Test for LibVideoGfx, and define LIBVIDEOGFX_CFLAGS and LIBVIDEOGFX_LIBS
+ dnl
+-AC_DEFUN(AM_PATH_LIBVIDEOGFX,
++AC_DEFUN([AM_PATH_LIBVIDEOGFX],
+ [dnl
+ dnl Get the cflags and libraries from the libvideogfx-config script
+ dnl
diff --git a/libvideogfx-sh.patch b/libvideogfx-sh.patch
new file mode 100644
index 0000000..8816226
--- /dev/null
+++ b/libvideogfx-sh.patch
@@ -0,0 +1,46 @@
+--- libvideogfx-1.0.9/configure.in.orig 2014-02-03 17:52:57.000000000 +0100
++++ libvideogfx-1.0.9/configure.in 2015-10-15 21:09:02.417242456 +0200
+@@ -142,8 +142,8 @@
+
+ if test "$GCC" = "yes" ; then
+ if test x$have_gcc45 = xyes; then
+-# CFLAGS+=" -std=c++0x"
+- CXXFLAGS+=" -std=c++0x"
++# CFLAGS=$CFLAGS" -std=c++0x"
++ CXXFLAGS="$CXXFLAGS -std=c++0x"
+ fi
+ fi
+
+@@ -305,8 +305,8 @@
+ AC_MSG_RESULT(no)
+ ])
+
+- AC_CHECK_LIB(avcodec, avcodec_decode_video, [LIBS+=" -lavcodec" AC_DEFINE(HAVE_AVCODEC_DECODE_VIDEO, 1, [Define if the libavcodec supports avcodec_decode_video])], [], [-lavutil -lpthread -lm])
+- AC_CHECK_LIB(avcodec, avcodec_decode_video2, [LIBS+=" -lavcodec" AC_DEFINE(HAVE_AVCODEC_DECODE_VIDEO2, 1, [Define if the libavcodec supports avcodec_decode_video2])], [], [-lavutil -lpthread -lm])
++ AC_CHECK_LIB(avcodec, avcodec_decode_video, [LIBS="$LIBS -lavcodec" AC_DEFINE(HAVE_AVCODEC_DECODE_VIDEO, 1, [Define if the libavcodec supports avcodec_decode_video])], [], [-lavutil -lpthread -lm])
++ AC_CHECK_LIB(avcodec, avcodec_decode_video2, [LIBS="$LIBS -lavcodec" AC_DEFINE(HAVE_AVCODEC_DECODE_VIDEO2, 1, [Define if the libavcodec supports avcodec_decode_video2])], [], [-lavutil -lpthread -lm])
+ AC_CHECK_LIB(avformat, avio_open, [AC_DEFINE(HAVE_AVIO_OPEN, 1, [Define if the libavformat supports avio_open])], [], [-lavcodec -lavutil -lpthread -lm])
+ AC_CHECK_LIB(avformat, url_fopen, [AC_DEFINE(HAVE_URL_FOPEN, 1, [Define if the libavformat supports url_fopen])], [], [-lavcodec -lavutil -lpthread -lm])
+ AC_CHECK_LIB(avformat, avformat_alloc_context, [AC_DEFINE(HAVE_AVFORMAT_ALLOW_CONTEXT, 1, [Define if the libavformat supports avformat_alloc_context,])], [], [-lavcodec -lavutil -lpthread -lz -lm])
+@@ -317,8 +317,8 @@
+ fi
+ fi
+
+- AC_CHECK_LIB(avformat, avformat_open_input, [LIBS+=" -lavformat" AC_DEFINE(HAVE_AVFORMAT_AVFORMAT_OPEN_INPUT, 1, [Define if the libavformat supports avformat_open_input])], [], [-lavcodec -lavutil -lpthread -lz -lm])
+- AC_CHECK_LIB(avformat, av_open_input_file, [LIBS+=" -lavformat" AC_DEFINE(HAVE_AVFORMAT_AV_OPEN_INPUT_FILE, 1, [Define if the libavformat supports av_open_input_file])], [], [-lavcodec -lavutil -lpthread -lz -lm])
++ AC_CHECK_LIB(avformat, avformat_open_input, [LIBS="$LIBS -lavformat" AC_DEFINE(HAVE_AVFORMAT_AVFORMAT_OPEN_INPUT, 1, [Define if the libavformat supports avformat_open_input])], [], [-lavcodec -lavutil -lpthread -lz -lm])
++ AC_CHECK_LIB(avformat, av_open_input_file, [LIBS="$LIBS -lavformat" AC_DEFINE(HAVE_AVFORMAT_AV_OPEN_INPUT_FILE, 1, [Define if the libavformat supports av_open_input_file])], [], [-lavcodec -lavutil -lpthread -lz -lm])
+
+ AC_CHECK_LIB(avformat, avformat_write_header, [AC_DEFINE(HAVE_AVFORMAT_AVFORMAT_WRITE_HEADER, 1, [Define if the libavformat supports avformat_write_header])], [], [-lavcodec -lavutil -lpthread -lz -lm])
+ AC_CHECK_LIB(avformat, av_write_header, [AC_DEFINE(HAVE_AVFORMAT_AV_WRITE_HEADER, 1, [Define if the libavformat supports av_write_header])], [], [-lavcodec -lavutil -lpthread -lz -lm])
+@@ -341,8 +341,8 @@
+
+ saved_cflags=$CFLAGS
+ saved_cxxflags=$CXXFLAGS
+- CFLAGS+=" -Werror" # "-fstrict-aliasing -Wstrict-aliasing=1 -Werror=strict-aliasing"
+- CXXFLAGS+=" -Werror" # "-fstrict-aliasing -Wstrict-aliasing=1 -Werror=strict-aliasing"
++ CFLAGS="$CFLAGS -Werror" # "-fstrict-aliasing -Wstrict-aliasing=1 -Werror=strict-aliasing"
++ CXXFLAGS="$CXXFLAGS -Werror" # "-fstrict-aliasing -Wstrict-aliasing=1 -Werror=strict-aliasing"
+
+ AC_MSG_CHECKING(type of ByteIOContext in AVFormatContext)
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/libvideogfx.git/commitdiff/ee714f4f16626f02e9c3fed07d8b85443f7af641
More information about the pld-cvs-commit
mailing list