[sfact] Initial import (#904798)
Miro Hrončok
churchyard at fedoraproject.org
Mon Feb 4 15:21:24 UTC 2013
commit 7041e005448c00619ab40cf50863a76458f4fddd
Author: Miro Hrončok <miro at hroncok.cz>
Date: Mon Feb 4 16:21:20 2013 +0100
Initial import (#904798)
.gitignore | 1 +
sfact | 3 +
sfact-craft | 4 ++
sfact-empty-cutting-profile.patch | 8 +++
sfact-empty-extrusion-profile.patch | 8 +++
sfact-empty-milling-profile.patch | 8 +++
sfact-empty-winding-profile.patch | 8 +++
sfact-remove-help-button.patch | 13 +++++
sfact-setting-dir.patch | 29 ++++++++++
sfact.desktop | 9 +++
sfact.spec | 101 +++++++++++++++++++++++++++++++++++
sources | 1 +
12 files changed, 193 insertions(+), 0 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index e69de29..d3dd87a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/sfact-0.0-bc56c68.tar.gz
diff --git a/sfact b/sfact
new file mode 100755
index 0000000..84855e4
--- /dev/null
+++ b/sfact
@@ -0,0 +1,3 @@
+#!/bin/bash
+exec python /usr/lib/python2.7/site-packages/sfact/sfact.py "$@"
+exit $?
diff --git a/sfact-craft b/sfact-craft
new file mode 100755
index 0000000..42d1cc6
--- /dev/null
+++ b/sfact-craft
@@ -0,0 +1,4 @@
+#!/bin/bash
+echo "Using pypy, you can ignore Tkinter warnings"
+exec pypy /usr/lib/python2.7/site-packages/sfact/skeinforge_application/skeinforge_utilities/skeinforge_craft.py "$@"
+exit $?
diff --git a/sfact-empty-cutting-profile.patch b/sfact-empty-cutting-profile.patch
new file mode 100644
index 0000000..966577f
--- /dev/null
+++ b/sfact-empty-cutting-profile.patch
@@ -0,0 +1,8 @@
+Add an empty CSV file to avoid a runtime error on referencing
+skeinforge/skeinforge_application/profiles/cutting/Default directory.
+
+--- /dev/null
++++ b/skeinforge_application/profiles/cutting/Default/skeinforge.csv
+@@ -0,0 +1,2 @@
++Format is tab separated skeinforge settings.
++_Name Value
diff --git a/sfact-empty-extrusion-profile.patch b/sfact-empty-extrusion-profile.patch
new file mode 100644
index 0000000..7c5e6ae
--- /dev/null
+++ b/sfact-empty-extrusion-profile.patch
@@ -0,0 +1,8 @@
+Add an empty CSV file to avoid a runtime error on referencing
+skeinforge/skeinforge_application/profiles/extrusion/Default directory.
+
+--- /dev/null
++++ b/skeinforge_application/profiles/extrusion/Default/skeinforge.csv
+@@ -0,0 +1,2 @@
++Format is tab separated skeinforge settings.
++_Name Value
diff --git a/sfact-empty-milling-profile.patch b/sfact-empty-milling-profile.patch
new file mode 100644
index 0000000..058c7ab
--- /dev/null
+++ b/sfact-empty-milling-profile.patch
@@ -0,0 +1,8 @@
+Add an empty CSV file to avoid a runtime error on referencing
+skeinforge/skeinforge_application/profiles/milling/Default directory.
+
+--- /dev/null
++++ b/skeinforge_application/profiles/milling/Default/skeinforge.csv
+@@ -0,0 +1,2 @@
++Format is tab separated skeinforge settings.
++_Name Value
diff --git a/sfact-empty-winding-profile.patch b/sfact-empty-winding-profile.patch
new file mode 100644
index 0000000..7588676
--- /dev/null
+++ b/sfact-empty-winding-profile.patch
@@ -0,0 +1,8 @@
+Add an empty CSV file to avoid a runtime error on referencing
+skeinforge/skeinforge_application/profiles/winding/Free_Wire directory.
+
+--- /dev/null
++++ b/skeinforge_application/profiles/winding/Free_Wire/skeinforge.csv
+@@ -0,0 +1,2 @@
++Format is tab separated skeinforge settings.
++_Name Value
diff --git a/sfact-remove-help-button.patch b/sfact-remove-help-button.patch
new file mode 100644
index 0000000..acaa585
--- /dev/null
+++ b/sfact-remove-help-button.patch
@@ -0,0 +1,13 @@
+diff -ru a/fabmetheus_utilities/settings.py b/fabmetheus_utilities/settings.py
+--- a/fabmetheus_utilities/settings.py 2012-01-21 10:09:53.000000000 +0100
++++ b/fabmetheus_utilities/settings.py 2013-01-13 18:22:30.931700616 +0100
+@@ -2013,9 +2013,6 @@
+ executeButton = Tkinter.Button( root, activebackground = 'black', activeforeground = 'blue', text = repository.executeTitle, command = self.gridPosition.execute )
+ executeButton.grid( row = self.gridPosition.row, column = columnIndex, columnspan = 2, sticky = Tkinter.W )
+ columnIndex += 2
+- self.helpButton = Tkinter.Button( root, activebackground = 'black', activeforeground = 'white', text = "?", command = HelpPageRepository(self.repository).openPage )
+- self.helpButton.grid( row = self.gridPosition.row, column = columnIndex, sticky = Tkinter.W )
+- self.closeListener.listenToWidget( self.helpButton )
+ columnIndex += 6
+ cancelButton = Tkinter.Button( root, activebackground = 'black', activeforeground = 'orange', command = self.cancel, fg = 'orange', text = 'Cancel')
+ cancelButton.grid( row = self.gridPosition.row, column = columnIndex )
diff --git a/sfact-setting-dir.patch b/sfact-setting-dir.patch
new file mode 100644
index 0000000..9a27af8
--- /dev/null
+++ b/sfact-setting-dir.patch
@@ -0,0 +1,29 @@
+Use ~/.sfact directory to store settings, not sfact_profiles in current pwd
+
+diff -ru a/fabmetheus_utilities/archive.py b/fabmetheus_utilities/archive.py
+--- a/fabmetheus_utilities/archive.py 2013-01-27 15:29:27.828406000 +0100
++++ b/fabmetheus_utilities/archive.py 2013-01-27 15:41:23.123273283 +0100
+@@ -18,9 +18,9 @@
+ __license__ = 'GNU Affero General Public License http://www.gnu.org/licenses/agpl.html'
+
+
+-globalTemporarySettingsPath = os.path.join(os.getcwd(), 'sfact_profiles')#(os.path.expanduser('~'), '.skeinforge')#thats default sfact way in own dir
++#globalTemporarySettingsPath = os.path.join(os.getcwd(), 'sfact_profiles')#thats default sfact way in own dir
+ #globalTemporarySettingsPath = os.path.join(os.path.expanduser('~'), '.skeinforge')#thats default sf way in home dir
+-#globalTemporarySettingsPath = os.path.join(os.path.expanduser('~'), '.sfact')#thats repetier compatible way in home dir
++globalTemporarySettingsPath = os.path.join(os.path.expanduser('~'), '.sfact')#thats repetier compatible way in home dir
+
+
+ def addToNamePathDictionary(directoryPath, namePathDictionary):
+diff -ru a/fabmetheus_utilities/settings.py b/fabmetheus_utilities/settings.py
+--- a/fabmetheus_utilities/settings.py 2013-01-27 15:29:27.841406000 +0100
++++ b/fabmetheus_utilities/settings.py 2013-01-27 16:25:31.395040468 +0100
+@@ -301,7 +301,7 @@
+ if repository.baseNameSynonym != None:
+ text = archive.getFileText(archive.getProfilesPath(getProfileName(repository.baseNameSynonym, repository)), False)
+ if text == '':
+- print('The default %s will be written in the .skeinforge folder in the home directory.' % repository.title.lower() )
++ print('The default %s will be written in the .sfact folder in the home directory.' % repository.title.lower() )
+ text = archive.getFileText(getProfilesDirectoryInAboveDirectory(getProfileBaseName(repository)), False)
+ if text != '':
+ readSettingsFromText(repository, text)
diff --git a/sfact.desktop b/sfact.desktop
new file mode 100644
index 0000000..717d275
--- /dev/null
+++ b/sfact.desktop
@@ -0,0 +1,9 @@
+
+[Desktop Entry]
+Name=SFACT
+GenericName=New slicing tool
+Exec=sfact %f
+Icon=development_section
+Terminal=false
+Type=Application
+Categories=Graphics;
diff --git a/sfact.spec b/sfact.spec
new file mode 100644
index 0000000..54bf796
--- /dev/null
+++ b/sfact.spec
@@ -0,0 +1,101 @@
+%global commit bc56c6882269fb14e36bc7bd6582c19be6114c06
+%global shortcommit %(c=%{commit}; echo ${c:0:7})
+%global snapshot 20130128git%{shortcommit}
+Name: sfact
+Version: 0.0
+Release: 3.%{snapshot}%{?dist}
+Summary: Converts 3D model into G-Code for RepRap
+License: AGPLv3
+Group: Applications/Engineering
+URL: http://www.reprapfordummies.net/
+Source0: https://github.com/ahmetcemturan/SFACT/archive/%{commit}/%{name}-%{version}-%{shortcommit}.tar.gz
+Source1: %{name}.desktop
+Source2: %{name}
+Source3: %{name}-craft
+Patch0: %{name}-remove-help-button.patch
+Patch1: %{name}-setting-dir.patch
+Patch2: %{name}-empty-extrusion-profile.patch
+Patch3: %{name}-empty-winding-profile.patch
+Patch4: %{name}-empty-cutting-profile.patch
+Patch5: %{name}-empty-milling-profile.patch
+BuildArch: noarch
+BuildRequires: python2-devel
+BuildRequires: desktop-file-utils
+Requires: python2
+Requires: pypy
+Requires: tkinter
+
+%description
+SFACT is the new Skeinforge, it is a tool chain composed of Python scripts
+that converts your 3D model into G-Code instructions for RepRap.
+
+%package doc
+Requires: %{name} = %{version}-%{release}
+Summary: Documentation for %{name}
+
+%description doc
+SFACT is the new Skeinforge, it is a tool chain composed of Python scripts
+that converts your 3D model into G-Code instructions for RepRap.
+This is the documentation.
+
+%prep
+%setup -qn SFACT-%{commit}
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+%patch5 -p1
+
+chmod +x sfact.py
+chmod -x fabmetheus_utilities/settings.py
+
+# Removing stupid useless files
+rm -rf skeinforge_application/*.sh skeinforge_application/*.stl skFrontend.py *.sh
+
+# Removing shebangs
+cd skeinforge_application/skeinforge_plugins/craft_plugins/
+for FILE in alteration.py bottom.py dimension.py fill.py inset.py limit.py preface.py scale.py widen.py ../../profiles/dimension2.py ../../skeinforge.py; do
+ awk 'FNR>1' $FILE > $FILE.nobang && mv -f $FILE.nobang $FILE
+done
+cd -
+
+cd fabmetheus_utilities/miscellaneous/fabricate/
+for FILE in example.py send.py RepRapArduinoSerialSender.py; do
+ awk 'FNR>1' $FILE > $FILE.nobang && mv -f $FILE.nobang $FILE
+done
+chmod +x frank_davies/t.sh
+cd -
+
+%build
+
+%install
+mkdir -p %{buildroot}%{python_sitelib}/%{name}
+mkdir -p %{buildroot}%{_bindir}
+cp -ar [fs_]* %{buildroot}%{python_sitelib}/%{name}
+desktop-file-install --dir=%{buildroot}%{_datadir}/applications %{SOURCE1} # desktop file
+cp -a %{SOURCE2} %{SOURCE3} %{buildroot}%{_bindir} # launchers
+
+%files
+%doc SFACT?Readme.txt COPYING
+%{python_sitelib}/%{name}
+%{_datadir}/applications/%{name}.desktop
+%{_bindir}/%{name}*
+
+%files doc
+%doc documentation
+
+%changelog
+* Fri Feb 01 2013 Miro Hrončok <mhroncok at redhat.com> - 0.0-3.20130128gitbc56c68
+- Corrected version in %%changelog
+- Use exec in launchers
+
+* Tue Jan 29 2013 Miro Hrončok <mhroncok at redhat.com> - 0.0-2.20130128gitbc56c68
+- SFACT?Readme.txt instead of SFACT\ Readme.txt in %%doc to make this work in rawhide
+- New commit including COPYING
+
+* Sun Jan 27 2013 Miro Hrončok <mhroncok at redhat.com> - 0.0-1.20121114git89e1e76
+- Started as a fork of skeinforge.spec
+- Updated source to GitHub, SFACT has no tarballs
+- Added patches from Debain
+- Added patch to keep setting in HOME
diff --git a/sources b/sources
index e69de29..3bf9586 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+ff1dc9d6735605e83c08b170c7d5ee0c sfact-0.0-bc56c68.tar.gz
More information about the scm-commits
mailing list