From a4a159783f44fec03921e23f58f2625290e8f728 Mon Sep 17 00:00:00 2001 From: albator Date: Sun, 6 Nov 2011 17:32:29 +0100 Subject: RHEL/Fedora: Add digikam (likdcraw, libkexiv2, libkipi) --- .../digikam/digikam-3.5.13-jpegint-ftbfs.patch | 253 +++++++++++++++++++++ .../digikam/trinity-digikam-3.5.13.spec | 159 +++++++++++++ 2 files changed, 412 insertions(+) create mode 100644 redhat/applications/digikam/digikam-3.5.13-jpegint-ftbfs.patch create mode 100644 redhat/applications/digikam/trinity-digikam-3.5.13.spec (limited to 'redhat/applications/digikam') diff --git a/redhat/applications/digikam/digikam-3.5.13-jpegint-ftbfs.patch b/redhat/applications/digikam/digikam-3.5.13-jpegint-ftbfs.patch new file mode 100644 index 000000000..53b498329 --- /dev/null +++ b/redhat/applications/digikam/digikam-3.5.13-jpegint-ftbfs.patch @@ -0,0 +1,253 @@ +--- /dev/shm/applications/digikam/digikam/libs/jpegutils/jpegint.h 2011-05-19 22:00:43.000000000 -0500 ++++ /dev/shm/applications/digikam/digikam/libs/jpegutils/jpegint.h.new 2011-11-05 23:20:17.144180063 -0500 +@@ -42,9 +42,9 @@ + + /* Master control module */ + struct jpeg_comp_master { +- JTQT_METHOD(void, prepare_for_pass, (j_compress_ptr cinfo)); +- JTQT_METHOD(void, pass_startup, (j_compress_ptr cinfo)); +- JTQT_METHOD(void, finish_pass, (j_compress_ptr cinfo)); ++ JMETHOD(void, prepare_for_pass, (j_compress_ptr cinfo)); ++ JMETHOD(void, pass_startup, (j_compress_ptr cinfo)); ++ JMETHOD(void, finish_pass, (j_compress_ptr cinfo)); + + /* State variables made visible to other modules */ + boolean call_pass_startup; /* True if pass_startup must be called */ +@@ -53,16 +53,16 @@ + + /* Main buffer control (downsampled-data buffer) */ + struct jpeg_c_main_controller { +- JTQT_METHOD(void, start_pass, (j_compress_ptr cinfo, J_BUF_MODE pass_mode)); +- JTQT_METHOD(void, process_data, (j_compress_ptr cinfo, ++ JMETHOD(void, start_pass, (j_compress_ptr cinfo, J_BUF_MODE pass_mode)); ++ JMETHOD(void, process_data, (j_compress_ptr cinfo, + JSAMPARRAY input_buf, JDIMENSION *in_row_ctr, + JDIMENSION in_rows_avail)); + }; + + /* Compression preprocessing (downsampling input buffer control) */ + struct jpeg_c_prep_controller { +- JTQT_METHOD(void, start_pass, (j_compress_ptr cinfo, J_BUF_MODE pass_mode)); +- JTQT_METHOD(void, pre_process_data, (j_compress_ptr cinfo, ++ JMETHOD(void, start_pass, (j_compress_ptr cinfo, J_BUF_MODE pass_mode)); ++ JMETHOD(void, pre_process_data, (j_compress_ptr cinfo, + JSAMPARRAY input_buf, + JDIMENSION *in_row_ctr, + JDIMENSION in_rows_avail, +@@ -73,23 +73,23 @@ + + /* Coefficient buffer control */ + struct jpeg_c_coef_controller { +- JTQT_METHOD(void, start_pass, (j_compress_ptr cinfo, J_BUF_MODE pass_mode)); +- JTQT_METHOD(boolean, compress_data, (j_compress_ptr cinfo, ++ JMETHOD(void, start_pass, (j_compress_ptr cinfo, J_BUF_MODE pass_mode)); ++ JMETHOD(boolean, compress_data, (j_compress_ptr cinfo, + JSAMPIMAGE input_buf)); + }; + + /* Colorspace conversion */ + struct jpeg_color_converter { +- JTQT_METHOD(void, start_pass, (j_compress_ptr cinfo)); +- JTQT_METHOD(void, color_convert, (j_compress_ptr cinfo, ++ JMETHOD(void, start_pass, (j_compress_ptr cinfo)); ++ JMETHOD(void, color_convert, (j_compress_ptr cinfo, + JSAMPARRAY input_buf, JSAMPIMAGE output_buf, + JDIMENSION output_row, int num_rows)); + }; + + /* Downsampling */ + struct jpeg_downsampler { +- JTQT_METHOD(void, start_pass, (j_compress_ptr cinfo)); +- JTQT_METHOD(void, downsample, (j_compress_ptr cinfo, ++ JMETHOD(void, start_pass, (j_compress_ptr cinfo)); ++ JMETHOD(void, downsample, (j_compress_ptr cinfo, + JSAMPIMAGE input_buf, JDIMENSION in_row_index, + JSAMPIMAGE output_buf, + JDIMENSION out_row_group_index)); +@@ -99,9 +99,9 @@ + + /* Forward DCT (also controls coefficient quantization) */ + struct jpeg_forward_dct { +- JTQT_METHOD(void, start_pass, (j_compress_ptr cinfo)); ++ JMETHOD(void, start_pass, (j_compress_ptr cinfo)); + /* perhaps this should be an array??? */ +- JTQT_METHOD(void, forward_DCT, (j_compress_ptr cinfo, ++ JMETHOD(void, forward_DCT, (j_compress_ptr cinfo, + jpeg_component_info * compptr, + JSAMPARRAY sample_data, JBLOCKROW coef_blocks, + JDIMENSION start_row, JDIMENSION start_col, +@@ -110,23 +110,23 @@ + + /* Entropy encoding */ + struct jpeg_entropy_encoder { +- JTQT_METHOD(void, start_pass, (j_compress_ptr cinfo, boolean gather_statistics)); +- JTQT_METHOD(boolean, encode_mcu, (j_compress_ptr cinfo, JBLOCKROW *MCU_data)); +- JTQT_METHOD(void, finish_pass, (j_compress_ptr cinfo)); ++ JMETHOD(void, start_pass, (j_compress_ptr cinfo, boolean gather_statistics)); ++ JMETHOD(boolean, encode_mcu, (j_compress_ptr cinfo, JBLOCKROW *MCU_data)); ++ JMETHOD(void, finish_pass, (j_compress_ptr cinfo)); + }; + + /* Marker writing */ + struct jpeg_marker_writer { +- JTQT_METHOD(void, write_file_header, (j_compress_ptr cinfo)); +- JTQT_METHOD(void, write_frame_header, (j_compress_ptr cinfo)); +- JTQT_METHOD(void, write_scan_header, (j_compress_ptr cinfo)); +- JTQT_METHOD(void, write_file_trailer, (j_compress_ptr cinfo)); +- JTQT_METHOD(void, write_tables_only, (j_compress_ptr cinfo)); ++ JMETHOD(void, write_file_header, (j_compress_ptr cinfo)); ++ JMETHOD(void, write_frame_header, (j_compress_ptr cinfo)); ++ JMETHOD(void, write_scan_header, (j_compress_ptr cinfo)); ++ JMETHOD(void, write_file_trailer, (j_compress_ptr cinfo)); ++ JMETHOD(void, write_tables_only, (j_compress_ptr cinfo)); + /* These routines are exported to allow insertion of extra markers */ + /* Probably only COM and APPn markers should be written this way */ +- JTQT_METHOD(void, write_marker_header, (j_compress_ptr cinfo, int marker, ++ JMETHOD(void, write_marker_header, (j_compress_ptr cinfo, int marker, + unsigned int datalen)); +- JTQT_METHOD(void, write_marker_byte, (j_compress_ptr cinfo, int val)); ++ JMETHOD(void, write_marker_byte, (j_compress_ptr cinfo, int val)); + }; + + +@@ -134,8 +134,8 @@ + + /* Master control module */ + struct jpeg_decomp_master { +- JTQT_METHOD(void, prepare_for_output_pass, (j_decompress_ptr cinfo)); +- JTQT_METHOD(void, finish_output_pass, (j_decompress_ptr cinfo)); ++ JMETHOD(void, prepare_for_output_pass, (j_decompress_ptr cinfo)); ++ JMETHOD(void, finish_output_pass, (j_decompress_ptr cinfo)); + + /* State variables made visible to other modules */ + boolean is_dummy_pass; /* True during 1st pass for 2-pass quant */ +@@ -143,10 +143,10 @@ + + /* Input control module */ + struct jpeg_input_controller { +- JTQT_METHOD(int, consume_input, (j_decompress_ptr cinfo)); +- JTQT_METHOD(void, reset_input_controller, (j_decompress_ptr cinfo)); +- JTQT_METHOD(void, start_input_pass, (j_decompress_ptr cinfo)); +- JTQT_METHOD(void, finish_input_pass, (j_decompress_ptr cinfo)); ++ JMETHOD(int, consume_input, (j_decompress_ptr cinfo)); ++ JMETHOD(void, reset_input_controller, (j_decompress_ptr cinfo)); ++ JMETHOD(void, start_input_pass, (j_decompress_ptr cinfo)); ++ JMETHOD(void, finish_input_pass, (j_decompress_ptr cinfo)); + + /* State variables made visible to other modules */ + boolean has_multiple_scans; /* True if file has multiple scans */ +@@ -155,18 +155,18 @@ + + /* Main buffer control (downsampled-data buffer) */ + struct jpeg_d_main_controller { +- JTQT_METHOD(void, start_pass, (j_decompress_ptr cinfo, J_BUF_MODE pass_mode)); +- JTQT_METHOD(void, process_data, (j_decompress_ptr cinfo, ++ JMETHOD(void, start_pass, (j_decompress_ptr cinfo, J_BUF_MODE pass_mode)); ++ JMETHOD(void, process_data, (j_decompress_ptr cinfo, + JSAMPARRAY output_buf, JDIMENSION *out_row_ctr, + JDIMENSION out_rows_avail)); + }; + + /* Coefficient buffer control */ + struct jpeg_d_coef_controller { +- JTQT_METHOD(void, start_input_pass, (j_decompress_ptr cinfo)); +- JTQT_METHOD(int, consume_data, (j_decompress_ptr cinfo)); +- JTQT_METHOD(void, start_output_pass, (j_decompress_ptr cinfo)); +- JTQT_METHOD(int, decompress_data, (j_decompress_ptr cinfo, ++ JMETHOD(void, start_input_pass, (j_decompress_ptr cinfo)); ++ JMETHOD(int, consume_data, (j_decompress_ptr cinfo)); ++ JMETHOD(void, start_output_pass, (j_decompress_ptr cinfo)); ++ JMETHOD(int, decompress_data, (j_decompress_ptr cinfo, + JSAMPIMAGE output_buf)); + /* Pointer to array of coefficient virtual arrays, or NULL if none */ + jvirt_barray_ptr *coef_arrays; +@@ -174,8 +174,8 @@ + + /* Decompression postprocessing (color quantization buffer control) */ + struct jpeg_d_post_controller { +- JTQT_METHOD(void, start_pass, (j_decompress_ptr cinfo, J_BUF_MODE pass_mode)); +- JTQT_METHOD(void, post_process_data, (j_decompress_ptr cinfo, ++ JMETHOD(void, start_pass, (j_decompress_ptr cinfo, J_BUF_MODE pass_mode)); ++ JMETHOD(void, post_process_data, (j_decompress_ptr cinfo, + JSAMPIMAGE input_buf, + JDIMENSION *in_row_group_ctr, + JDIMENSION in_row_groups_avail, +@@ -186,12 +186,12 @@ + + /* Marker reading & parsing */ + struct jpeg_marker_reader { +- JTQT_METHOD(void, reset_marker_reader, (j_decompress_ptr cinfo)); ++ JMETHOD(void, reset_marker_reader, (j_decompress_ptr cinfo)); + /* Read markers until SOS or EOI. + * Returns same codes as are defined for jpeg_consume_input: + * JPEG_SUSPENDED, JPEG_REACHED_SOS, or JPEG_REACHED_EOI. + */ +- JTQT_METHOD(int, read_markers, (j_decompress_ptr cinfo)); ++ JMETHOD(int, read_markers, (j_decompress_ptr cinfo)); + /* Read a restart marker --- exported for use by entropy decoder only */ + jpeg_marker_parser_method read_restart_marker; + +@@ -206,8 +206,8 @@ + + /* Entropy decoding */ + struct jpeg_entropy_decoder { +- JTQT_METHOD(void, start_pass, (j_decompress_ptr cinfo)); +- JTQT_METHOD(boolean, decode_mcu, (j_decompress_ptr cinfo, ++ JMETHOD(void, start_pass, (j_decompress_ptr cinfo)); ++ JMETHOD(boolean, decode_mcu, (j_decompress_ptr cinfo, + JBLOCKROW *MCU_data)); + + /* This is here to share code between baseline and progressive decoders; */ +@@ -216,21 +216,21 @@ + }; + + /* Inverse DCT (also performs dequantization) */ +-typedef JTQT_METHOD(void, inverse_DCT_method_ptr, ++typedef JMETHOD(void, inverse_DCT_method_ptr, + (j_decompress_ptr cinfo, jpeg_component_info * compptr, + JCOEFPTR coef_block, + JSAMPARRAY output_buf, JDIMENSION output_col)); + + struct jpeg_inverse_dct { +- JTQT_METHOD(void, start_pass, (j_decompress_ptr cinfo)); ++ JMETHOD(void, start_pass, (j_decompress_ptr cinfo)); + /* It is useful to allow each component to have a separate IDCT method. */ + inverse_DCT_method_ptr inverse_DCT[MAX_COMPONENTS]; + }; + + /* Upsampling (note that upsampler must also call color converter) */ + struct jpeg_upsampler { +- JTQT_METHOD(void, start_pass, (j_decompress_ptr cinfo)); +- JTQT_METHOD(void, upsample, (j_decompress_ptr cinfo, ++ JMETHOD(void, start_pass, (j_decompress_ptr cinfo)); ++ JMETHOD(void, upsample, (j_decompress_ptr cinfo, + JSAMPIMAGE input_buf, + JDIMENSION *in_row_group_ctr, + JDIMENSION in_row_groups_avail, +@@ -243,20 +243,20 @@ + + /* Colorspace conversion */ + struct jpeg_color_deconverter { +- JTQT_METHOD(void, start_pass, (j_decompress_ptr cinfo)); +- JTQT_METHOD(void, color_convert, (j_decompress_ptr cinfo, ++ JMETHOD(void, start_pass, (j_decompress_ptr cinfo)); ++ JMETHOD(void, color_convert, (j_decompress_ptr cinfo, + JSAMPIMAGE input_buf, JDIMENSION input_row, + JSAMPARRAY output_buf, int num_rows)); + }; + + /* Color quantization or color precision reduction */ + struct jpeg_color_quantizer { +- JTQT_METHOD(void, start_pass, (j_decompress_ptr cinfo, boolean is_pre_scan)); +- JTQT_METHOD(void, color_quantize, (j_decompress_ptr cinfo, ++ JMETHOD(void, start_pass, (j_decompress_ptr cinfo, boolean is_pre_scan)); ++ JMETHOD(void, color_quantize, (j_decompress_ptr cinfo, + JSAMPARRAY input_buf, JSAMPARRAY output_buf, + int num_rows)); +- JTQT_METHOD(void, finish_pass, (j_decompress_ptr cinfo)); +- JTQT_METHOD(void, new_color_map, (j_decompress_ptr cinfo)); ++ JMETHOD(void, finish_pass, (j_decompress_ptr cinfo)); ++ JMETHOD(void, new_color_map, (j_decompress_ptr cinfo)); + }; + + diff --git a/redhat/applications/digikam/trinity-digikam-3.5.13.spec b/redhat/applications/digikam/trinity-digikam-3.5.13.spec new file mode 100644 index 000000000..6baafc83e --- /dev/null +++ b/redhat/applications/digikam/trinity-digikam-3.5.13.spec @@ -0,0 +1,159 @@ +# Default version for this component +%define kdecomp digikam +%define version 0.9.6 +%define release 1 + +# If TDE is built in a specific prefix (e.g. /opt/trinity), the release will be suffixed with ".opt". +%if "%{?_prefix}" != "/usr" +%define _variant .opt +%define _docdir %{_prefix}/share/doc +%endif + +# TDE 3.5.13 specific building variables +BuildRequires: autoconf automake libtool m4 +%define tde_docdir %{_docdir}/kde +%define tde_includedir %{_includedir}/kde +%define tde_libdir %{_libdir}/trinity + + +Name: trinity-%{kdecomp} +Summary: digital photo management application for KDE [Trinity] +Version: %{?version} +Release: %{?release}%{?dist}%{?_variant} + +License: GPLv2+ +Group: Applications/Utilities + +Vendor: Trinity Project +Packager: Francois Andriot +URL: http://www.trinitydesktop.org/ + +Prefix: %{_prefix} +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +Source0: %{kdecomp}-3.5.13.tar.gz + +# TDE 3.5.13 on RHEL/Fedora specific patches +Patch0: digikam-3.5.13-jpegint-ftbfs.patch + + +BuildRequires: tqtinterface-devel +BuildRequires: trinity-arts-devel +BuildRequires: trinity-kdelibs-devel +BuildRequires: trinity-kdebase-devel +BuildRequires: desktop-file-utils +BuildRequires: gettext +BuildRequires: trinity-libkexiv2-devel +BuildRequires: trinity-libkdcraw-devel +BuildRequires: trinity-libkipi-devel +BuildRequires: libgphoto2-devel +BuildRequires: libtiff-devel +BuildRequires: jasper-devel + + +%description +An easy to use and powerful digital photo management +application, which makes importing, organizing and manipulating +digital photos a "snap". An interface is provided to connect to +your digital camera, preview the images and download and/or +delete them. +. +The digiKam built-in image editor makes the common photo correction +a simple task. The image editor is extensible via plugins and, +the digikamimageplugins project has been merged to digiKam core +since release 0.9.2, all useful image editor plugins are available +in the base installation. +. +digiKam can also make use of the KIPI image handling plugins to +extend its capabilities even further for photo manipulations, +import and export, etc. The kipi-plugins package contains many +very useful extentions. +. +digiKam is based in part on the work of the Independent JPEG Group. + + +%package devel +Group: Development/Libraries +Summary: Development files for %{name} +Requires: %{name} = %{version} + +%description devel +%{summary} + + +%prep +%setup -q -n applications/%{kdecomp} +%patch0 -p5 + +# Ugly hack to modify TQT include directory inside autoconf files. +# If TQT detection fails, it fallbacks to TQT4 instead of TQT3 ! +sed -i admin/acinclude.m4.in \ + -e "s,/usr/include/tqt,%{_includedir}/tqt,g" + +%__cp -f "/usr/share/aclocal/libtool.m4" "admin/libtool.m4.in" +%__cp -f "/usr/share/libtool/config/ltmain.sh" "admin/ltmain.sh" +%__make -f "admin/Makefile.common" + + +%build +unset QTDIR || : ; source /etc/profile.d/qt.sh +export PATH="%{_bindir}:${PATH}" +export LDFLAGS="-L%{_libdir} -I%{_includedir}" + +%configure \ + --disable-rpath \ + --with-extra-includes=%{_includedir}/tqt \ + --enable-closure + +%__make %{?_smp_mflags} + + +%install +export PATH="%{_bindir}:${PATH}" +%__rm -rf %{buildroot} +%__make install DESTDIR=%{buildroot} + + + +%clean +%__rm -rf %{buildroot} + + +%post +touch --no-create %{_datadir}/icons/hicolor || : +gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : + +%postun +touch --no-create %{_datadir}/icons/hicolor || : +gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : + + +%files +%defattr(-,root,root,-) +%doc AUTHORS COPYING +%{_bindir}/* +%{_libdir}/*.so.* +%{_datadir}/applications/*/*.desktop +%{_datadir}/locale/*/LC_MESSAGES/digikam.mo +%{_datadir}/services/*.desktop +%{_datadir}/services/*.protocol +%{_datadir}/servicetypes/digikamimageplugin.desktop +%{_datadir}/apps/*/ +%{_docdir}/HTML/en/*/ +%{_datadir}/icons/*/*/*/* +%{_mandir}/man*/* + + +%files devel +%{_includedir}/*.h +%{_includedir}/digikam +%{_libdir}/*.so +%{_libdir}/*.la +%{_libdir}/*/*.so +%{_libdir}/*/*.la + + +%Changelog +* Sun Nov 06 2011 Francois Andriot - 0.9.6-0 +- Initial release for RHEL 6, RHEL 5 and Fedora 15 + -- cgit v1.2.1