Blob Blame History Raw
Name:           flam3
Version:        2.7.17
Release:        1%{?dist}
Summary:        Programs to generate and render cosmic recursive fractal flames

Group:          Applications/Multimedia
License:        GPLv2+
URL:            http://www.flam3.com/
Source0:        http://www.flam3.com/%{name}-%{version}.tar.gz
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

BuildRequires:  libxml2-devel
BuildRequires:  libpng-devel
BuildRequires:  libjpeg-devel

%description
Flam3, or Fractal Flames, are algorithmically generated images and animations.
This is free software to render fractal flames as described on
http://flam3.com. Flam3-animate makes animations, and flam3-render makes still
images. Flam3-genome creates and manipulates genomes (parameter sets).

%package devel
Summary:        C headers to generate and render cosmic recursive fractal flames
Group:          Applications/Multimedia
Requires:       pkgconfig
Requires:       libxml2-devel
Requires:       libpng-devel
Requires:       libjpeg-devel
Requires:       flam3 = %{version}-%{release}
Provides:       flam3-static = %{version}-%{release}

%description devel
Flam3, or Fractal Flames, are algorithmically generated images and animations.
This is free software to render fractal flames as described on
http://flam3.com. Flam3-animate makes animations, and flam3-render makes still
images. Flam3-genome creates and manipulates genomes (parameter sets). This
package contains a header file for C, a static library, and a pkgconfig file.


%prep
%setup -q
%if 0%{fedora} < 9
sed -i.atomicops -e 's|#undef HAVE_GCC_\(.*\)ATOMIC_OPS|/* #undef HAVE_GCC_\1ATOMIC_OPS */|' config.h.in
%endif
sed -i.flags -e 's|-O3 -ffast-math||' Makefile.in
chmod 644 *.c


%build
%configure \
   --includedir=%{_includedir}/%{name}
make %{?_smp_mflags}


%install
rm -rf $RPM_BUILD_ROOT
make install \
   DESTDIR=$RPM_BUILD_ROOT \
   INSTALL="install -p"
# Install missing headers
install -cpm 644 \
   isaac.h isaacs.h private.h img.h \
   $RPM_BUILD_ROOT%{_includedir}/%{name}/
rm $RPM_BUILD_ROOT%{_libdir}/libflam3.la

%clean
rm -rf $RPM_BUILD_ROOT


%files
%defattr(-,root,root,-)
%doc COPYING.txt README.txt
%{_bindir}/flam3-animate
%{_bindir}/flam3-convert
%{_bindir}/flam3-genome
%{_bindir}/flam3-render
%{_datadir}/flam3
%{_mandir}/man1/flam3*

%files devel
%defattr(-,root,root,-)
%doc COPYING.txt README.txt
%{_includedir}/%{name}/
%{_libdir}/pkgconfig/flam3.pc
%{_libdir}/libflam3.a


%changelog
* Sun Nov 16 2008 Ian Weller <ianweller@gmail.com> 2.7.17-1
- Upstream updated:
    Add error checking on the numbers in the input genome.  Do
    not exit on read errors, fail gracefully. Changed sin/cos = tan in
    the tangent variation. Added polar to list of variations that use
    the inverted linear identity. Bugfix: temporal_filter_exp was not
    set properly in template. Apply interpolation attribute in
    templates. Add/publish datarootdir with pkg-config so the palette
    file is easy to find (for qosmic). Copyright by Spotworks LLC
    instead of Spot and Erik.  Add fuzz checks to the regression
    suite.  include LNX/OSX/WIN in the version string.  In
    flam3-genome animate command, added one to last flame time, so the
    end time is inclusive.  Release as 2.7.17.

* Thu Sep 11 2008 Ian Weller <ianweller@gmail.com> 2.7.16-1
- Upstream updated:
    Added 'clone_all' to flam3_genome to allow application of 
    template to all flames in a file at once, and 'animate' to write
    a full sequence of interpolations out.  'animate' is similar to 
    'sequence' except that no control point rotation is performed.  
    Fixed non-functional 'write_genome' env var for flam3_animate.  
    Two bugs associated with interpolating from a log interpolation_type
    to a non-log interpolation_type fixed (rotate angle reduction and 
    special inverted identity).  when using flam3_rotate in 'spin_inter'
    the interp type of the first genome is now used rather than the
    current genome's interp type.  Enforced upper and lower bounds for
    xform color and upper bound for interpolated colormap values
    as "smooth" interpolation led to values out of range.  If "smooth"
    interpolation is specified for all flames in a file, the first and
    second-to-last genome is switched to "linear" with a warning.
    spatial filters with non-box-filter window functions fixed.
    Release as 2.7.16.

* Wed Sep 03 2008 Ian Weller <ianweller@gmail.com> 2.7.15-1
- Upstream updated:
    Added new interpolation types 'old' and 'older', for use in 
    recreating old animations.  'linear' mode now does not rotate padded
    xforms (results in prettier symmetric singularities). switched to
    using a 'padding' flag instead of a 'just initialized' flag; padding 
    flag used for implementation of 'old' and 'older' types.  
    interpolation_space now deprecated, instead use interpolation_type. 
    flam3_align is now idempotent (multiple applications do not change
    the control points.)  Default number of temporal samples bumped to 
    1000.  Removed CVS headers from source code (now using SVN).
    Default interpolation mode now log. Removed 'move' and 'split' vars.
    changes to flam3-genome: sequence mode now returns linear 
    interpolation mode for all control points except first/last of edges 
    - these cps will use the original interpolation mode;  inter and 
    rotate modes will now return padded genomes for all control points,
    all with linear interpolation specified.  instead of centering 
    sometimes reframe by golden mean plus noise. Release as 2.7.15.

* Mon Aug 04 2008 Ian Weller <ianweller@gmail.com> 2.7.14-1
- Upstream updated:
    Add configuration option for atomic-ops.  bug fix: do not
    truncate floating point palettes.  new motion blur features: add
    temporal_filter_type, can be "box" (default) or "gaussian" or
    "exp".  Temporal_filter_width and temporal_filter_exp are parms to
    it.  'blur' env var no longer used.  Small bug fix: iteration
    count depends only on the size of the output image, not the padded
    image (the gutter).  When interpolating, only do -pi/pi adjustment
    for non-asymmetric cases.  Julian/juliascope variations use the
    alternate inverted identity for interpolation (reduces wedge
    effect).  Add python script for regression and consistency
    checking. Add svn revision number to version string (in the
    software not of the package). Release as 2.7.14.
- Remove patch for removing atomic ops for pre-GCC 4.3 packages

* Sat Jun 07 2008 Ian Weller <ianweller@gmail.com> 2.7.13-1
- Upstream updated

* Sun May 25 2008 Ian Weller <ianweller@gmail.com> 2.7.12-1
- Upstream updated

* Wed Apr 09 2008 Ian Weller <ianweller@gmail.com> 2.7.11-1
- Upstream updated

* Thu Mar 20 2008 Ian Weller <ianweller@gmail.com> 2.7.10-2
- Force rebuild due to odd quirk in Koji

* Thu Mar 20 2008 Ian Weller <ianweller@gmail.com> 2.7.10-1
- Upstream updated

* Sat Feb 09 2008 Ian Weller <ianweller@gmail.com> 2.7.9-1
- Upstream updated
- Upstream made changes based on our patches, so removed now redundant patches

* Fri Feb 01 2008 Ian Weller <ianweller@gmail.com> 2.7.8-4
- Made patch commands less confusing

* Tue Jan 29 2008 Ian Weller <ianweller@gmail.com> 2.7.8-3
- Removed config.h properly
- We now own datadir/flam3

* Mon Jan 28 2008 Ian Weller <ianweller@gmail.com> 2.7.8-2
- Added more missing headers -- they might be used by some program somewhere:
  private.h config.h img.h
- Fix atomic ops error on ppc and ppc64 with Patch1

* Sun Jan 27 2008 Ian Weller <ianweller@gmail.com> 2.7.8-1
- Updated to version 2.7.8
- Made sure that libflam3.la wasn't included, complying with review guidelines
  "Packages must NOT contain any .la libtool archives, these should be removed in the spec."

* Thu Jan 17 2008 Mamorut Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> 2.7.7-3
- Fix pkgconfig .pc file
- Install missing headers
- Move header files into %%{_includedir}/%%{name}
- Fix cflags to meet Fedora guidelines
- More Requires to -devel subpackage for static archive

* Wed Dec 19 2007 Ian Weller <ianweller@gmail.com> 2.7.7-2
- *-devel now includes *-static
- *-static no longer exists, but is provided by *-devel
- added version requirement to *-devel requires main

* Mon Dec 17 2007 Ian Weller <ianweller@gmail.com> 2.7.7-1
- Fixed spurious-executable-perm issue
- *-devel subpackage now requires *-static subpackage
- Subpackage now requires main package
- Update to version 2.7.7

* Sun Dec 16 2007 Ian Weller <ianweller@gmail.com> 2.7.6-2
- Dropped kernel from requires, as most people have one installed
- Created *-devel and *-static packages
- Removed redundant explicit requires
- Added COPYING.txt and README.txt documentation files

* Sun Dec 9 2007 Ian Weller <ianweller@gmail.com> 2.7.6-1
- First package build.