From 27950b682f280740608b2d35063575d26dbfcfa680322ecb1240c79176200895 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Schr=C3=B6ter?= Date: Sun, 26 Jun 2016 14:31:27 +0000 Subject: [PATCH] Submitting FreeCAD and deps to science project OBS-URL: https://build.opensuse.org/package/show/science/FreeCAD?expand=0&rev=1 --- .gitattributes | 23 ++++ .gitignore | 1 + FreeCAD-0.16.tar.xz | 3 + FreeCAD.changes | 8 ++ FreeCAD.spec | 233 ++++++++++++++++++++++++++++++++++++++++ FreeCAD_shared_mimeinfo | 8 ++ _service | 13 +++ 7 files changed, 289 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 FreeCAD-0.16.tar.xz create mode 100644 FreeCAD.changes create mode 100644 FreeCAD.spec create mode 100644 FreeCAD_shared_mimeinfo create mode 100644 _service diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/FreeCAD-0.16.tar.xz b/FreeCAD-0.16.tar.xz new file mode 100644 index 0000000..8f018cb --- /dev/null +++ b/FreeCAD-0.16.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a184d7e49572138900bb526bfd729bdd8752222d50d020728b52a73c5c0584dd +size 100652264 diff --git a/FreeCAD.changes b/FreeCAD.changes new file mode 100644 index 0000000..d9734b3 --- /dev/null +++ b/FreeCAD.changes @@ -0,0 +1,8 @@ +------------------------------------------------------------------- +Mon Jun 13 06:46:23 UTC 2016 - adrian@suse.de + +- FreeCAD 0.16 +- create on the base of the work from various home projects + (esp by wkazubski and torhans) +- use rpath instead of modifying ldconfig for our own libs + diff --git a/FreeCAD.spec b/FreeCAD.spec new file mode 100644 index 0000000..f766296 --- /dev/null +++ b/FreeCAD.spec @@ -0,0 +1,233 @@ +# +# spec file for package FreeCAD +# +# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + +%define x_prefix %{_libdir}/%{name} + +Name: FreeCAD +Version: 0.16 +Release: 0 +License: LGPL-2.0+ and GPL-2.0+ +Summary: General Purpose 3D CAD Modeler +Url: http://www.freecadweb.org/ +Group: Productivity/Graphics/CAD +Source0: %{name}-%version.tar.xz +Source2: FreeCAD_shared_mimeinfo +BuildRequires: Coin-devel +BuildRequires: oce-devel +BuildRequires: SoQt-devel +%if 0%{?suse_version} == 1315 && 0%{?is_opensuse} == 1 +# Leap has it's own special boost-devel +BuildRequires: boost_1_58_0-devel +%else +BuildRequires: boost-devel >= 1.55 +%endif +BuildRequires: cmake +BuildRequires: doxygen +BuildRequires: f2c +BuildRequires: fdupes +BuildRequires: freeglut-devel +BuildRequires: gcc-fortran +BuildRequires: pkg-config +BuildRequires: pkgconfig(QtWebKit) +BuildRequires: libXerces-c-devel +%if 0%{?suse_version} > 0 +BuildRequires: libeigen3-devel +BuildRequires: python-xml +%endif +%if 0%{?fedora} > 18 +BuildRequires: eigen3-devel +%endif +BuildRequires: libqt4-devel +BuildRequires: libspnav-devel +BuildRequires: opencv-devel +BuildRequires: python-CXX-devel +BuildRequires: python-devel +BuildRequires: python-matplotlib +BuildRequires: swig +%if 0%{?suse_version} +BuildRequires: update-desktop-files +%endif +BuildRequires: zipios++-devel +BuildRequires: zlib-devel +# Used because of "no-return-in-nonvoid-function" and "stringcompare" rpm post build check errors +#BuildRequires: -post-build-checks +BuildRequires: unzip +BuildRequires: libshiboken-devel +BuildRequires: python-pyside +BuildRequires: python-pyside-devel +BuildRequires: python-pyside-tools +BuildRequires: git +BuildRequires: make +BuildRequires: dos2unix +BuildRequires: libhdf5 +BuildRequires: libhdf5_hl +Requires: python-cxx +Requires: python-pivy +Requires(post): shared-mime-info +Requires(postun): shared-mime-info +Recommends: python-pivy +BuildRoot: %{_tmppath}/%{name}-%{version}-build + +%description +Note: This package contains the current development version and thus might +be unstable! + +FreeCAD is a general purpose 3D CAD modeler. The development will be completely +Open Source. As with many modern 3D CAD modelers it will have a 2D component in +order to extract design detail from the 3D model to create 2D production +drawings, although 2D (e.g. AutoCAD LT) is not the focus, neither are animation +and organic shapes (e.g. Maya, 3D StudioMAX and Cinema 4D). + +%package devel +Summary: Development Files for %{name} +Group: Development/Libraries/C and C++ +Requires: %{name} = %{version} + +%description devel +This package contains the files needed for development with FreeCAD. + +%prep +%setup -q + +# Fix "wrong-file-end-of-line-encoding" rpmlint warning +sed -i 's/\r$//' ChangeLog.txt +sed -i 's/\r$//' copying.lib + +# Fix "wrong-script-end-of-line-encoding" rpmlint warning +sed -i 's/\r$//' src/Mod/PartDesign/Scripts/Spring.py +sed -i 's/\r$//' src/Mod/Robot/MovieTool.py + +# Remove 3rd party libs +rm src/zipios++ -fr +rm src/3rdparty/Pivy -fr +rm src/3rdparty/Pivy-0.5 -fr + +%build +mkdir build && cd build +# cmake macro would set standard libdir +cmake \ + -DCMAKE_INSTALL_PREFIX=%{_libdir}/%{name} \ + -DCMAKE_INSTALL_DATADIR=%{_datadir}/%{name} \ + -DCMAKE_INSTALL_DOCDIR=%{_docdir}/%{name} \ + -DCMAKE_INSTALL_INCLUDEDIR=%{_includedir}/%{name} \ + -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=ON \ + -DOCC_INCLUDE_DIR=%{_includedir}/oce \ + -DRESOURCEDIR=%{_datadir}/%{name} \ + -DCMAKE_BUILD_TYPE=Release \ + -DFREECAD_USE_EXTERNAL_ZIPIOS=TRUE \ +%if %{with netgen} + -DBUILD_FEM_NETGEN=ON \ +%else + -DBUILD_FEM_NETGEN=OFF \ +%endif + ../ + +make VERBOSE=1 %{?_smp_mflags} all + +# # Build documentation last, somehow +# # this triggers a rebuild +# mkdir build_doc +# pushd build_doc +# cmake \ +# -DCMAKE_INSTALL_PREFIX=%{_prefix} \ +# -DLIB_SUFFIX=%{_lib} \ +# -DCMAKE_INSTALL_DATADIR=%{_datadir}/%{name} \ +# -DCMAKE_INSTALL_DOCDIR=%{_docdir}/%{name} \ +# -DCMAKE_INSTALL_INCLUDEDIR=%{_includedir}/%{name} \ +# -DCMAKE_BUILD_TYPE=Release \ +# -DFREECAD_USE_EXTERNAL_ZIPIOS=TRUE \ +# -DFREECAD_USE_EXTERNAL_PIVY=TRUE \ +# ../ +# # Needs an updated opencascade +# #-DOCE_DIR=/opt/OpenCASCADE/%{_lib} +# +# nice make VERBOSE=1 DevDoc +# popd + +%install +pushd build +nice make VERBOSE=1 %{?_smp_mflags} install DESTDIR=%{buildroot} +popd + +# pushd build_doc +# nice make VERBOSE=1 %{?_smp_mflags} install DESTDIR=%{buildroot} +# popd + +# Install the Qt plugin +#install -Dpm 0755 src/Tools/plugins/widget/libFreeCAD_widgets.so %{buildroot}/usr/%{_lib}/qt4/plugins/designer/libFreeCAD_widgets.so + +# Fix "non-executable-script" rpmlint warning +chmod 755 %{buildroot}%{x_prefix}/Mod/Robot/MovieTool.py + +# Move desktop icon in the correct location +mkdir -p %{buildroot}/usr/share/pixmaps +mv %{buildroot}%{_datadir}/%{name}/freecad.xpm %{buildroot}/usr/share/pixmaps/freecad.xpm + +# Install additional documentation files +install -pm 0644 ChangeLog.txt copying.lib %{buildroot}%{_docdir}/%{name}/ + +%if 0%{?suse_version} +%suse_update_desktop_file -c %{name} "%{name}" "3D CAD Modeler" %{name} "freecad" Education Engineering +%endif + +# Install mime type +install -Dpm 0644 %{SOURCE2} %{buildroot}/usr/share/mime/packages/%{name}.xml + +# Remove unneeded files +find %{buildroot} -name '*.la' -exec rm -f {} ';' + +# Fix rpmlint warning "doc-file-dependency" +rm -f html/installdox + +# Install development documentation manually in order to fix rpmlint warning "files-duplicate" +mkdir -p %{buildroot}%{_docdir}/%{name}-devel +#cp -a html/ %{buildroot}%{_docdir}/%{name}-devel/ + +# Correct line endings +dos2unix %{buildroot}%{x_prefix}/Mod/PartDesign/Scripts/FilletArc.py +dos2unix %{buildroot}%{x_prefix}/Mod/PartDesign/Scripts/Parallelepiped.py +dos2unix %{buildroot}%{x_prefix}/Mod/Test/unittestgui.py +dos2unix %{buildroot}%{x_prefix}/Mod/Part/MakeBottle.py + +# Link binaries +mkdir -p %{buildroot}/usr/bin +ln -s -t %{buildroot}/usr/bin %{x_prefix}/bin/FreeCAD +ln -s -t %{buildroot}/usr/bin %{x_prefix}/bin/FreeCADCmd + +%fdupes -s %{buildroot} + +%post +/sbin/ldconfig +/usr/bin/update-mime-database %{_datadir}/mime &> /dev/null || : + +%postun +/sbin/ldconfig +/usr/bin/update-mime-database %{_datadir}/mime &> /dev/null || : + +%files +%defattr(-,root,root,-) +%{_bindir}/FreeCAD* +%doc %{_docdir}/%{name}/ +%{_libdir}/%{name} +%{_datadir}/%{name}/ +%{_datadir}/mime/packages/%{name}.xml +%{_datadir}/pixmaps/freecad.xpm +%if 0%{?suse_version} > 0 +%{_datadir}/applications/%{name}.desktop +%endif + +%changelog diff --git a/FreeCAD_shared_mimeinfo b/FreeCAD_shared_mimeinfo new file mode 100644 index 0000000..27feb4b --- /dev/null +++ b/FreeCAD_shared_mimeinfo @@ -0,0 +1,8 @@ + + + + + FreeCAD Document File + + + diff --git a/_service b/_service new file mode 100644 index 0000000..f6e1f19 --- /dev/null +++ b/_service @@ -0,0 +1,13 @@ + + + https://github.com/FreeCAD/FreeCAD.git + git + 0.16 + 0.16 + + + *.tar + xz + + +