Blob Blame History Raw
Name:		fox
# http://www.fox-toolkit.org/faq.html#VERSION
# For now, use stable one
Version:	1.6.53
Release:	1%{?dist}
Summary:	C++ based Toolkit for developing Graphical User Interfaces

# http://lists.fedoraproject.org/pipermail/legal/2010-October/001419.html
# Note that 1.7.x has switched to LGPLv3+ with exceptions
License:	LGPLv2+ with exceptions
URL:		http://www.fox-toolkit.org/   
Source0:	http://ftp.fox-toolkit.org/pub/%{name}-%{version}.tar.gz
# Change Adie.stx path
Patch0:	fox-1.6.49-adie-syspath.patch

BuildRequires:	bzip2-devel
BuildRequires:	desktop-file-utils
BuildRequires:	fontconfig-devel
BuildRequires:	freetype-devel
BuildRequires:	libjpeg-turbo-devel
BuildRequires:	libGL-devel
BuildRequires:	libGLU-devel
BuildRequires:	libpng-devel
BuildRequires:	libtiff-devel
BuildRequires:	libX11-devel
BuildRequires:	libXcursor-devel
BuildRequires:	libXext-devel
BuildRequires:	libXfixes-devel
BuildRequires:	libXft-devel
BuildRequires:	libXi-devel
BuildRequires:	libXrandr-devel
BuildRequires:	libXrender-devel
# 1.7.x can use libwebp
#BuildRequires:	libwebp-devel
BuildRequires:	zlib-devel
# Due to Patch1
BuildRequires:	autoconf
BuildRequires:	automake
BuildRequires:	libtool

%description
FOX is a C++ based Toolkit for developing Graphical User Interfaces 
easily and effectively. It offers a wide, and growing, collection of 
Controls, and provides state of the art facilities such as drag and drop,
selection, as well as OpenGL widgets for 3D graphical manipulation.
FOX also implements icons, images, and user-convenience features such as 
status line help, and tooltips.  Tooltips may even be used for 3D
objects.

%package	devel
Summary:	Development files for %{name}
Requires:	%{name}%{?isa} = %{version}-%{release}

%description	devel
The %{name}-devel package contains libraries and header files for
developing applications that use %{name}.

%package	utils
Summary:	Utility applications based on %{name}
Requires:	%{name}%{?isa} = %{version}-%{release}
# Note that 1.7.x has switched to GPLv3+
License:	GPLv2+

%description	utils
This package contains some utility applications based on
%{name}.

%package	doc
Summary:	Documentation files for %{name}
Requires:	%{name} = %{version}-%{release}
BuildArch:	noarch

%description	doc
This package contains some documentation files for
%{name}.

%prep
%setup -q
%patch0 -p1 -b .syspath

# Honor Fedora compilar flags
touch -r configure.ac{,.timestamp}
sed -i.flags \
	-e '\@^CXXFLAGS=""@d' \
	configure.ac configure
touch -r configure.ac{.timestamp,}

for f in \
	AUTHORS \
	doc/{styles,menu}.css
do
	mv $f{,.iso}
	iconv -f ISO-8859-1 -t UTF-8 -o $f{,.iso}
	touch -r $f{.iso,}
	rm -f $f.iso
done

%build
%configure \
	--disable-static \
%if 0
	--enable-webp \
%endif
	%{nil}
make %{?_smp_mflags}

%install
%make_install \
	INSTALL="install -p"

rm -f %{buildroot}%{_libdir}/lib*.la

# Change Adie.stx path
mkdir -p %{buildroot}%{_datadir}/%{name}
mv %{buildroot}%{_bindir}/Adie.stx %{buildroot}%{_datadir}/%{name}/
chmod 0644 %{buildroot}%{_datadir}/%{name}/Adie.stx

# Make fox-config arch-dependent
mv \
	%{buildroot}/%{_bindir}/fox-config \
	%{buildroot}/%{_bindir}/fox-config.$(arch)
cat > %{buildroot}/%{_bindir}/fox-config <<EOF
#!/bin/sh
exec %{_bindir}/fox-config.\$(arch) \$@
EOF
chmod 0755 %{buildroot}%{_bindir}/fox-config

# Rename too generic names
# Create desktop file for GUI
mkdir -p %{buildroot}%{_libexecdir}/fox
mkdir -p %{buildroot}%{_datadir}/applications
for bin in %{buildroot}%{_bindir}/*
do
	name=$(basename $bin)
	[ "${name%.stx}" = "${name}" ] || continue
	[ "${name#fox-config}" = "${name}" ] || continue
	mv %{buildroot}%{_bindir}/${name} %{buildroot}%{_libexecdir}/fox/
	cat > %{buildroot}%{_bindir}/fox-${name} <<EOF
#!/bin/sh
export PATH=%{_libexecdir}/%{name}:\$PATH
exec ${name} \$@
EOF
	chmod 0755 %{buildroot}%{_bindir}/fox-${name}
	mv %{buildroot}/%{_mandir}/man1/{,fox-}$name.1

	[ "$name" = reswrap ] && continue
	[ "$name" = adie ] && EXTRA_CATEGORY="TextEditor;"
	cat > %{buildroot}%{_datadir}/applications/fox-${name}.desktop <<EOF
[Desktop Entry]
Name=fox-${name}
Comment=${name}
TryExec=fox-${name}
Exec=fox-${name}
Terminal=false
Type=Application
Categories=Utility;$EXTRA_CATEGORY
EOF
	desktop-file-validate %{buildroot}%{_datadir}/applications/fox-${name}.desktop
done

# Move html files to -doc
rm -rf doc-files
mkdir doc-files
mv %{buildroot}%{_docdir}/%{name}-*/html doc-files
rm -f doc-files/html/filter.pl


%check
# Binary files created under tests/ directory are actually GUI test
# program, so nothing can do here.
exit 0

%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
	
%files
%doc	AUTHORS
%doc	LICENSE*
%doc	README
%dir	%{_datadir}/%{name}
%{_libdir}/libFOX-1.6.so.*
%{_libdir}/libCHART-1.6.so.*

%files	devel
%doc	ADDITIONS
%doc	TRACING

%{_bindir}/fox-config*
%{_libdir}/pkgconfig/fox.pc
%{_libdir}/libFOX-1.6.so
%{_libdir}/libCHART-1.6.so
%{_includedir}/fox-1.6/

%files	utils
%{_bindir}/fox-*
%exclude	%{_bindir}/fox-config*
%dir	%{_libexecdir}/%{name}
%{_libexecdir}/%{name}/*
%{_datadir}/%{name}/*.stx
%{_datadir}/applications/*desktop
%{_mandir}/man1/fox-*

%files	doc
%doc	doc-files/html

%changelog
* Sun Dec 11 2016 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1.6.53-1
- 1.6.53

* Sat Dec  3 2016 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1.6.52-1
- 1.6.52

* Fri Jun 24 2016 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1.6.51-1
- 1.6.51

* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.6.50-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild

* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.6.50-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild

* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 1.6.50-4
- Rebuilt for GCC 5 C++11 ABI change

* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.6.50-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild

* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.6.50-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild

* Fri May 30 2014 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1.6.50-1
- Update to 1.6.50

* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.6.49-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild

* Fri May  3 2013 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1.6.49-2
- Fix libCHART.so linkage to erase undefined non-weak symbols
- Fix license tag for stable tarball
- Modify files entry for documentation

* Tue Apr 30 2013 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1.6.49-1
- Initial packaging