]> git.pld-linux.org Git - packages/asymptote.git/blobdiff - asymptote.spec
- obsolete -doc when building without, release 3
[packages/asymptote.git] / asymptote.spec
index 1ab1e6d53a7839a09da25b64da0e300efdf07673..934d0d65de0003aceaed8826a70499eb5d1ee663 100644 (file)
@@ -1,34 +1,54 @@
+# TODO: system glew, LspCpp and its dependencies (rapidjson, uri, utfcpp)?
+#
+# Conditional build:
+%bcond_with    doc     # API documentation (requires 2020+ LaTeX)
+%bcond_without oiio    # OpenImageIO support
+%bcond_without osmesa  # offscreen support
+#
 Summary:       Asymptote is a powerful descriptive vector graphics language for technical drawing
 Summary(hu.UTF-8):     Asymptote egy leíró vektorgrafikus nyelv technikai rajzokhoz
 Summary(pl.UTF-8):     Język opisu grafiki wektorowej do rysunków technicznych
 Name:          asymptote
-Version:       2.41
-Release:       2
+Version:       2.89
+Release:       3
 # uses GPL libraries (gsl, readline), so final license is GPL
 License:       GPL v3+ (LGPL v3+ code)
 Group:         Applications/Science
-Source0:       http://downloads.sourceforge.net/asymptote/%{name}-%{version}.src.tgz
-# Source0-md5: d16909a9189a3177ad2f8cb8161e32e1
+Source0:       https://downloads.sourceforge.net/asymptote/%{name}-%{version}.src.tgz
+# Source0-md5: 905c100fc40b4af24ebf7398b8cce2b7
 Patch0:                %{name}-memrchr.patch
-URL:           http://asymptote.sourceforge.net/
-BuildRequires: Mesa-libOSMesa-devel
+Patch1:                %{name}-info.patch
+Patch2:                %{name}-no-env.patch
+Patch3:                texinfo.patch
+Patch4:                %{name}-osmesa.patch
+URL:           https://asymptote.sourceforge.net/
+BuildRequires: GLM-devel
+%{?with_osmesa:BuildRequires:  Mesa-libOSMesa-devel}
 BuildRequires: OpenGL-GLU-devel
-BuildRequires: OpenGL-devel
+BuildRequires: OpenGL-GLX-devel
+BuildRequires: OpenGL-devel >= 4.3
 BuildRequires: OpenGL-glut-devel
+%{?with_oiio:BuildRequires:    OpenImageIO-devel}
 BuildRequires: autoconf >= 2.50
 BuildRequires: bison
+# boost_filesystem boost_thread
+BuildRequires: boost-devel
+BuildRequires: curl-devel
+BuildRequires: eigen3 >= 3
 BuildRequires: fftw3-devel >= 3
 BuildRequires: flex
-BuildRequires: gc-devel >= 7.0
-BuildRequires: gc-c++-devel >= 7.0
+BuildRequires: gc-c++-devel >= 8.2.4
+BuildRequires: gc-devel >= 8.2.4
 BuildRequires: ghostscript
 BuildRequires: gsl-devel >= 1.7
-BuildRequires: libstdc++-devel >= 6:4.7
+BuildRequires: libstdc++-devel >= 6:5
+BuildRequires: libtirpc-devel
 BuildRequires: ncurses-devel
-BuildRequires: python >= 2
 BuildRequires: readline-devel >= 4.3
 BuildRequires: rpm-pythonprov
-BuildRequires: texinfo-texi2dvi
+BuildRequires: sed >= 4.0
+BuildRequires: texinfo
+BuildRequires: texinfo-texi2dvi >= 6.7
 BuildRequires: texlive-dvips
 BuildRequires: texlive-fonts-ams
 BuildRequires: texlive-format-pdflatex
@@ -41,6 +61,9 @@ Suggests:     ImageMagick-coder-jpeg
 Suggests:      ImageMagick-coder-png
 # e.g. "label" command needs latex
 Suggests:      texlive-latex
+%if %{without doc}
+Obsoletes:     asymptote-doc < %{version}-%{release}
+%endif
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %define texmfdist %{_datadir}/texmf-dist
@@ -68,7 +91,11 @@ Summary(hu.UTF-8):   GUI asymptote-hoz
 Summary(pl.UTF-8):     Graficzny interfejs do asymptote
 Group:         Applications/Science
 Requires:      %{name} = %{version}-%{release}
-Requires:      python-tkinter
+# rsvg-convert utility
+Requires:      librsvg >= 2.40
+Requires:      python3-PyQt5 >= 5.11
+Requires:      python3-cson >= 0.7
+Requires:      python3-numpy >= 1:1.11.0
 
 %description gui
 GUI for asymptote.
@@ -158,31 +185,52 @@ Plik składni Vima dla plików asy.
 %prep
 %setup -q
 %patch0 -p1
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+
+# actually not executable, contain bogus shebang
+%{__sed} -i -e '1d' GUI/configs/*.py \
+       GUI/{CustMatTransform,DebugFlags,GuidesManager,InplaceAddObj,PrimitiveShape,SetCustomAnchor,Widg_*,Window1,__init__,labelEditor,xasy?*}.py
+# only some examples to execute
+%{__sed} -i -e '1d' GUI/UndoRedoStack.py base/asymptote.py
+
+%{__sed} -E -i -e '1s,#!\s*/usr/bin/env\s+python3(\s|$),#!%{__python3}\1,' \
+      GUI/ContextWindow.py \
+      GUI/xasy.py
 
 %build
 %{__autoconf}
 %{__autoheader}
+# there is "unknown option" warning for openimageio because AC_ARG_ENABLE specifies wrong name (not the one actually used)
 %configure \
+       %{?with_oiio:--enable-openimageio} \
        --enable-gc=system \
+       --enable-offscreen%{!?with_osmesa:=no} \
        --with-docdir=%{_docdir}/%{name}-doc
 
-%ifarch ppc
+%if %{with doc}
+%{__make} all
+%else
 %{__make} asy
 %{__make} faq
-%else
-%{__make} all
+%{__make} -C doc asy.1
 %endif
 
 %install
 rm -rf $RPM_BUILD_ROOT
 
-%ifarch ppc
-%{__make} install-asy \
-%else
+%if %{with doc}
 %{__make} install \
+%else
+%{__make} install-asy \
 %endif
        DESTDIR=$RPM_BUILD_ROOT
 
+# useless at runtime
+%{__rm} $RPM_BUILD_ROOT%{_datadir}/asymptote/GUI/setup.py
+
 install -d $RPM_BUILD_ROOT%{_examplesdir}
 %{__mv} $RPM_BUILD_ROOT%{_docdir}/%{name}-doc/examples $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
 
@@ -192,9 +240,12 @@ install -d $RPM_BUILD_ROOT%{_datadir}/vim/vimfiles/syntax
 %{__mv} $RPM_BUILD_ROOT%{texmfdist}/tex/context/{third,}/asymptote
 %{__rm} -r $RPM_BUILD_ROOT%{texmfdist}/tex/context/third
 
-%ifnarch ppc
+%if %{with doc}
 %{__mv} $RPM_BUILD_ROOT%{_infodir}/{asymptote/*.info,}
 rmdir $RPM_BUILD_ROOT%{_infodir}/asymptote
+%else
+install -Dp doc/asy.1 $RPM_BUILD_ROOT%{_mandir}/man1/asy.1
+install -Dp doc/xasy.1x $RPM_BUILD_ROOT%{_mandir}/man1/xasy.1x
 %endif
 
 %clean
@@ -225,8 +276,10 @@ rm -rf $RPM_BUILD_ROOT
 %{_datadir}/%{name}/asy*.el
 # kate package?
 %{_datadir}/%{name}/asy-kate.sh
-%ifnarch ppc
+%{_datadir}/asymptote/shaders
+%{_datadir}/asymptote/webgl
 %{_mandir}/man1/asy.1*
+%if %{with doc}
 %{_infodir}/asy-faq.info*
 %{_infodir}/asymptote.info*
 %endif
@@ -237,22 +290,33 @@ rm -rf $RPM_BUILD_ROOT
 %dir %{_datadir}/%{name}/GUI
 %attr(755,root,root) %{_datadir}/%{name}/GUI/xasy.py
 %{_datadir}/%{name}/GUI/[!x]*.py
-%{_datadir}/%{name}/GUI/xasy2asy.py
-%{_datadir}/%{name}/GUI/xasyActions.py
-%{_datadir}/%{name}/GUI/xasyBezierEditor.py
-%{_datadir}/%{name}/GUI/xasyCodeEditor.py
-%{_datadir}/%{name}/GUI/xasyColorPicker.py
-%{_datadir}/%{name}/GUI/xasyFile.py
-%{_datadir}/%{name}/GUI/xasyGUIIcons.py
-%{_datadir}/%{name}/GUI/xasyMainWin.py
-%{_datadir}/%{name}/GUI/xasyOptions.py
-%{_datadir}/%{name}/GUI/xasyOptionsDialog.py
-%{_datadir}/%{name}/GUI/xasyVersion.py
-%ifnarch ppc
+%{_datadir}/asymptote/GUI/xasy2asy.py
+%{_datadir}/asymptote/GUI/xasyArgs.py
+%{_datadir}/asymptote/GUI/xasyBezierInterface.py
+%{_datadir}/asymptote/GUI/xasyFile.py
+%{_datadir}/asymptote/GUI/xasyOptions.py
+%{_datadir}/asymptote/GUI/xasyStrings.py
+%{_datadir}/asymptote/GUI/xasySvg.py
+%{_datadir}/asymptote/GUI/xasyTransform.py
+%{_datadir}/asymptote/GUI/xasyUtils.py
+%{_datadir}/asymptote/GUI/xasyValidator.py
+%{_datadir}/asymptote/GUI/xasyVersion.py
+%dir %{_datadir}/asymptote/GUI/configs
+%{_datadir}/asymptote/GUI/configs/xasyconfig.cson
+%{_datadir}/asymptote/GUI/configs/xasykeymap.cson
+%dir %{_datadir}/asymptote/GUI/pyUIClass
+%{_datadir}/asymptote/GUI/pyUIClass/custMatTransform.py
+%{_datadir}/asymptote/GUI/pyUIClass/labelTextEditor.py
+%{_datadir}/asymptote/GUI/pyUIClass/setCustomAnchor.py
+%{_datadir}/asymptote/GUI/pyUIClass/widg_addLabel.py
+%{_datadir}/asymptote/GUI/pyUIClass/widg_addPolyOpt.py
+%{_datadir}/asymptote/GUI/pyUIClass/widg_editBezier.py
+%{_datadir}/asymptote/GUI/pyUIClass/widgetPointEditor.py
+%{_datadir}/asymptote/GUI/pyUIClass/window1.py
+%{_datadir}/asymptote/GUI/res
 %{_mandir}/man1/xasy.1*
-%endif
 
-%ifnarch ppc
+%if %{with doc}
 %files doc
 %defattr(644,root,root,755)
 %{_docdir}/%{name}-doc
This page took 0.033072 seconds and 4 git commands to generate.