Blob Blame Raw
%{?filter_setup:
%filter_provides_in %{_libdir}/erlang/lib/.*\.so$
%filter_setup
}
%{expand: %(NIF_VER=`rpm -q erlang-erts --provides | grep --color=no erl_nif_version` ; if [ "$NIF_VER" != "" ]; then echo %%global __erlang_nif_version $NIF_VER ; fi)}
%{expand: %(DRV_VER=`rpm -q erlang-erts --provides | grep --color=no erl_drv_version` ; if [ "$DRV_VER" != "" ]; then echo %%global __erlang_drv_version $DRV_VER ; fi)}


%global wingsdir $RPM_BUILD_ROOT%{_libdir}/erlang/lib/%{name}-%{version}
%global esdldir `/usr/bin/erl -noshell -eval 'io:format("~s", [code:lib_dir(esdl)]), halt().'`


Name:           wings
Version:        1.5.3
Release:        4%{?dist}
Summary:        3D Subdivision Modeler

Group:          Applications/Multimedia
License:        MIT
URL:            http://www.wings3d.com
VCS:		scm:git:https://github.com/dgud/wings.git
Source0:	https://github.com/dgud/wings/archive/v%{version}/%{name}-%{version}.tar.gz
Source1:	http://prdownloads.sourceforge.net/wings/wings3d_manual1.6.1.pdf
Source3:	wings.png
Source4:	wings.desktop
# Fedora/EPEL specific patch
Patch1:		wings-0001-Don-t-try-to-build-installer.patch
# Fedora/EPEL specific patch
Patch2:		wings-0002-Respect-CFLAGS.patch
# Revert fix for Erlang 17.x.x
Patch3:		wings-0003-Revert-Fix-new-type-specs-requires-OTP-17.0.patch
BuildRequires:	erlang
BuildRequires:	erlang-cl
BuildRequires:	erlang-esdl
BuildRequires:	libGL-devel
BuildRequires:	libGLU-devel
BuildRequires:  desktop-file-utils
BuildRequires:	libjpeg-devel

Provides:       wings-povray = %{version}-%{release}
Obsoletes:      wings-povray

Requires:	erlang-cl%{?_isa}
Requires:	erlang-erts%{?_isa}
Requires:	erlang-esdl%{?_isa}
Requires:	erlang-kernel%{?_isa}
Requires:	erlang-stdlib%{?_isa}
Requires:	erlang-wx%{?_isa}
%{?__erlang_drv_version:Requires: %{__erlang_drv_version}}


%description
Wings 3D is a subdivision modeler with an user interface that is easy
to use for both beginners and advanced users (inspired by Nendo and
Mirai from Izware).


%package docs
Group:		Applications/Multimedia
Summary:	Documentation for Wings 3D


%description docs
Documentation for Wings 3D.


%prep
%setup -q
echo "#!/bin/bash
exec /usr/bin/erl -smp disable -noinput -pa %{esdldir}/ebin -run wings_start start_halt \${1+\"\$@\"}" > ./wings.sh
chmod 755 ./wings.sh
cp %{SOURCE1} .
cp %{SOURCE4} .
sed -i -e "s,%LIBDIR%,%{_libdir},g" wings.sh
%patch1 -p1 -b .no_installer
%patch2 -p1 -b .respect_cflags
%if 0%{?fc19}%{?fc20}
%patch3 -p1 -b .revert_r17
%endif
# Add version info
echo %{version} > ./version


%build
# %%{?_smp_mflags} breaks the build
CFLAGS="%{optflags}" ESDL_PATH="%{esdldir}" make unix


%install
# Install the wings binaries
mkdir -p %{wingsdir}/plugins/default
cp -rf ebin %{wingsdir}
cp -rf fonts %{wingsdir}
cp -rf textures %{wingsdir}
cp -rf shaders %{wingsdir}
cp -rf plugins/* %{wingsdir}/plugins/default
cp -rf fonts %{wingsdir}
cp intl_tools/tools.beam %{wingsdir}/ebin

# See - https://bugzilla.redhat.com/664148
# ./src/wings_toolbar.erl:227
# ./src/wings_toolbar.erl:240
rm -f %{wingsdir}/ebin/user_default.beam

find $RPM_BUILD_ROOT -name 'README' | xargs rm -f
find $RPM_BUILD_ROOT -name '*.txt' | xargs chmod 0644
find $RPM_BUILD_ROOT -name '*.auv' | xargs chmod 0644
find $RPM_BUILD_ROOT -name '*.fs' | xargs chmod 0644
find $RPM_BUILD_ROOT -name '*.vs' | xargs chmod 0644

# Install main startup script
install -D -p -m 0755 wings.sh $RPM_BUILD_ROOT%{_bindir}/wings

# Install icon
install -D -p -m 0644 %{SOURCE3} $RPM_BUILD_ROOT%{_datadir}/pixmaps/wings.png

# Install desktop entry
desktop-file-install  \
    --add-category Graphics \
    --dir $RPM_BUILD_ROOT%{_datadir}/applications \
    wings.desktop

# Register as an application to be visible in the software center
#
# NOTE: It would be *awesome* if this file was maintained by the upstream
# project, translated and installed into the right place during `make install`.
#
# See http://www.freedesktop.org/software/appstream/docs/ for more details.
#
mkdir -p $RPM_BUILD_ROOT%{_datadir}/appdata
cat > $RPM_BUILD_ROOT%{_datadir}/appdata/%{name}.appdata.xml <<EOF
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright 2014 Chris Roberts <croberts@croberts.org -->
<!--
BugReportURL: http://www.wings3d.com/forum/showthread.php?tid=727
SentUpstream: 2014-09-18
-->
<application>
  <id type="desktop">wings.desktop</id>
  <metadata_license>CC0-1.0</metadata_license>
  <summary>An advanced subdivision modeler</summary>
  <description>
  <p>
    Wings 3D is an advanced subdivision modeler that is both powerful and easy to use.
    Wings has a simple interface.
    Right-click menus give you easy access to common commands.
    These menus are context sensitive, so depending on your selection, a
    different menu pops up.
  </p>
  <p>
    Wings has a many standard mesh modeling and selection tools such as Move,
    Scale, Rotate, Extrude, Bevel, Bridge, Cut, and Weld.
    Wings also features advance modelling tools such as: Sweep, Plane Cut,
    Circularise, Intersect, Bend, Shear, and Inset, Magnets and Magnet Masking,
    Virtual Mirror for symmetrical modeling, Tweak and Sculpt, Edge Loop and
    Edge Ring selection and navigation tools and Smooth Preview.
  </p>
  </description>
  <url type="homepage">http://www.wings3d.com</url>
  <screenshots>
    <screenshot type="default">http://www.wings3d.com/wp-content/uploads/SS04.png</screenshot>
  </screenshots>
</application>
EOF

%files
%{_bindir}/wings
%{_libdir}/erlang/lib/%{name}-%{version}
%{_datadir}/appdata/*.appdata.xml
%{_datadir}/applications/*
%{_datadir}/pixmaps/*
%doc AUTHORS NOTES-1.0 NOTES-1.1 NOTES-1.2 NOTES-1.3 NOTES-1.4 NOTES-1.4.1 NOTES-1.5 OLD-NOTES README README.jp license.terms


%files docs
%doc wings3d_manual1.6.1.pdf


%changelog
* Fri Jun 19 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.5.3-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild

* Thu Mar 26 2015 Richard Hughes <rhughes@redhat.com> - 1.5.3-3
- Add an AppData file for the software center

* Tue Nov 04 2014 Peter Lemenkov <lemenkov@gmail.com> - 1.5.3-2
- Rebuild with Erlang 17.3.3

* Fri Aug 29 2014 Peter Lemenkov <lemenkov@gmail.com> - 1.5.3-1
- Ver. 1.5.3
- Fix building with Erlang 17.x.x

* Thu Aug 28 2014 Peter Lemenkov <lemenkov@gmail.com> - 1.5.2-4
- Rebuild with Erlang 17.2.1

* Mon Aug 18 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org>
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild

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

* Fri Dec 27 2013 Peter Lemenkov <lemenkov@gmail.com> - 1.5.2-2
- Ver. 1.5.2

* Sat Nov 02 2013 Peter Lemenkov <lemenkov@gmail.com> - 1.5.1-1
- Ver. 1.5.1
- Dropped upstreamed patches
- Restored OpenCL support

* Fri Oct 25 2013 Peter Lemenkov <lemenkov@gmail.com> - 1.4.1-8.git9a2473e
- Rebuild with new __erlang_drv_version

* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4.1-7.git9a2473e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild

* Fri Mar 22 2013 Peter Lemenkov <lemenkov@gmail.com> - 1.4.1-6.git9a2473e
- Actually remove user_default.beam file from distribution (see rhbz #664148).

* Fri Mar 22 2013 Peter Lemenkov <lemenkov@gmail.com> - 1.4.1-5.git9a2473e
- Added localizations (closes rhbz #698630).
- Added requires on Erlang driver's API version
- Remove user_defaults.beam file from distribution (see rhbz #664148).

* Fri Mar 15 2013 Peter Lemenkov <lemenkov@gmail.com> - 1.4.1-4.git9a2473e
- Fixed missing function
- Cleaned up spec-file

* Sat Feb 09 2013 Parag Nemade <paragn AT fedoraproject DOT org> - 1.4.1-3.git9a2473e
- Remove vendor tag from desktop file as per https://fedorahosted.org/fesco/ticket/1077
- Cleanup spec as per recently changed packaging guidelines

* Sun Jul 22 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4.1-2.git9a2473e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild

* Thu May 10 2012 Peter Lemenkov <lemenkov@gmail.com> - 1.4.1-1.git9a2473e
- Ver. 1.4.1.git9a2473e (post-release shapshot for 1.4.1)

* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild

* Mon Feb 07 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

* Thu Dec  9 2010 Peter Lemenkov <lemenkov@gmail.com> - 1.2.0-3
- Explicitly use erl installed into /usr/bin

* Tue Nov 16 2010 Peter Lemenkov <lemenkov@gmail.com> - 1.2.0-2
- Drop erlang-wx dependency
- Fixed startup failure (rhbz #653720)

* Mon Jul 12 2010 Peter Lemenkov <lemenkov@gmail.com> - 1.2.0-1
- Ver. 1.2.0
- Docs subpackage no longer requires main package

* Tue Aug 11 2009 Gerard Milmeister <gemi@bluewin.ch> - 1.0.1-1
- new release 1.0.1

* Mon Jul 27 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.99.05-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild

* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.99.05-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild

* Thu Oct 30 2008 Gerard Milmeister <gemi@bluewin.ch> - 0.99.05-2
- new release 0.99.05

* Sat Sep  6 2008 Tom "spot" Callaway <tcallawa@redhat.com> - 0.99.02-2
- fix license tag

* Thu Mar 27 2008 Gerard Milmeister <gemi@bluewin.ch> - 0.99.02-1
- new releae 0.99.02

* Sun Apr  8 2007 Gerard Milmeister <gemi@bluewin.ch> - 0.98.36-1
- new version 0.98.36

* Thu Feb 15 2007 Gerard Milmeister <gemi@bluewin.ch> - 0.98.32b-11
- add optflags (bugzilla 228925)

* Sun Dec 10 2006 Gerard Milmeister <gemi@bluewin.ch> - 0.98.32b-10
- split off povray plug-in

* Mon Aug 28 2006 Gerard Milmeister <gemi@bluewin.ch> - 0.98.32b-9
- Rebuild for FE6

* Wed Jun  7 2006 Gerard Milmeister <gemi@bluewin.ch> - 0.98.32b-8
- revert to use erlang R10B

* Thu May 18 2006 Gerard Milmeister <gemi@bluewin.ch> - 0.98.32b-7
- rebuilt for erlang R11B

* Thu Apr 27 2006 Gerard Milmeister <gemi@bluewin.ch> - 0.98.32b-5
- split off docs package

* Tue Apr 25 2006 Gerard Milmeister <gemi@bluewin.ch> - 0.98.32b-3
- build against erlang-esdl-devel

* Sun Dec 18 2005 Gerard Milmeister <gemi@bluewin.ch> - 0.98.32b-1
- New Version 0.98.32b

* Sun Mar  6 2005 Gerard Milmeister <gemi@bluewin.ch> - 0.98.27b-1
- New Version 0.98.27b

* Sun Feb 13 2005 Gerard Milmeister <gemi@bluewin.ch> - 0:0.98.27a-1
- New Version 0.98.27a

* Mon Dec 27 2004 Gerard Milmeister <gemi@bluewin.ch> - 0:0.98.26-0.fdr.1.b
- New Version 0.98.26b

* Sat Jul 17 2004 Gerard Milmeister <gemi@bluewin.ch> - 0:0.98.24-0.fdr.1
- New Version 0.98.24

* Fri Jun  4 2004 Gerard Milmeister <gemi@bluewin.ch> - 0:0.98.23a-0.fdr.1
- New Version 0.98.23a

* Thu May  6 2004 Gerard Milmeister <gemi@bluewin.ch> - 0:0.98.22c-0.fdr.1
- New Version 0.98.22c

* Sun Apr 11 2004 Gerard Milmeister <gemi@bluewin.ch> - 0:0.98.20c-0.fdr.1
- First Fedora release