[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