diff --git a/README.md b/README.md
index 2a99a5f..439d32f 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,9 @@
# java-skinlf
+Skin Look And Feel is a java framework that is able to read GTK (The
+Gimp ToolKit) and KDE (The K Desktop Environment) skins to enhance
+your application.
+SkinLF supports GUI controls such as Buttons, Checks, Radios, Scrollbars,
+Progress Bar, Lists, Tables, Internal Frames, Colors, Background
+Textures, Regular Windows.
+
diff --git a/java-skinlf-6.7-build-xml-patch.patch b/java-skinlf-6.7-build-xml-patch.patch
new file mode 100644
index 0000000..8e8b268
--- /dev/null
+++ b/java-skinlf-6.7-build-xml-patch.patch
@@ -0,0 +1,325 @@
+diff -Nru skinlf-6.7/build.xml skinlf-6.7-gil/build.xml
+--- skinlf-6.7/build.xml 1970-01-01 01:00:00.000000000 +0100
++++ skinlf-6.7-gil/build.xml 2009-04-22 03:34:39.000000000 +0200
+@@ -0,0 +1,321 @@
++
++]>
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++&build-COMMON;
++
diff --git a/java-skinlf-6.7-common-xml-patch.patch b/java-skinlf-6.7-common-xml-patch.patch
new file mode 100644
index 0000000..de83122
--- /dev/null
+++ b/java-skinlf-6.7-common-xml-patch.patch
@@ -0,0 +1,175 @@
+diff -Nru skinlf-6.7/common.xml skinlf-6.7-gil/common.xml
+--- skinlf-6.7/common.xml 1970-01-01 01:00:00.000000000 +0100
++++ skinlf-6.7-gil/common.xml 2009-04-22 03:34:39.000000000 +0200
+@@ -0,0 +1,171 @@
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
diff --git a/java-skinlf-6.7-nosun-jimi-patch.patch b/java-skinlf-6.7-nosun-jimi-patch.patch
new file mode 100644
index 0000000..cc49822
--- /dev/null
+++ b/java-skinlf-6.7-nosun-jimi-patch.patch
@@ -0,0 +1,78 @@
+--- skinlf-6.7/src/com/l2fprod/tools/ImageUtils.java 2006-07-22 13:46:18.000000000 +0200
++++ skinlf-6.7/src/com/l2fprod/tools/ImageUtils.java-gil 2009-04-22 03:45:46.000000000 +0200
+@@ -6,15 +6,11 @@
+
+ import javax.swing.ImageIcon;
+
+-import com.ibm.imageconversion.*;
+-import com.sun.jimi.core.*;
+-
++import javax.imageio.*;
+ public class ImageUtils {
+
+ public static Component bitmapCreator = new javax.swing.JLabel();
+
+- static BMPDecoder decoder = new BMPDecoder();
+- static BMPEncoder encoder = new BMPEncoder();
+
+ public static Image loadPng(String pathToImage) throws Exception {
+ ImageIcon icon = new ImageIcon(new File(pathToImage).toURL());
+@@ -22,7 +18,21 @@
+ }
+
+ public static void savePng(Image image, String pathToImage) throws Exception {
+- Jimi.putImage(image, pathToImage);
++ ImageIO.write((RenderedImage)image, "png", new File(pathToImage));
++ }
++
++ private static String getFileFmt(String pathToImage) throws Exception {
++ String fmt;
++ if (pathToImage.toLowerCase().endsWith(".png")) {
++ return "png";
++ }
++ if (pathToImage.toLowerCase().endsWith(".gif")) {
++ return "gif";
++ }
++ if (pathToImage.toLowerCase().endsWith(".bmp")) {
++ return "bmp";
++ }
++ return "";
+ }
+
+ public static void createPicture(String pathToImage, int index, int maxParts,
+@@ -31,20 +41,10 @@
+ System.out.println("working with " + pathToImage);
+ Image image = null;
+
+- if (pathToImage.toLowerCase().endsWith(".png") ||
+- pathToImage.toLowerCase().endsWith(".gif")) {
+- image = loadPng(pathToImage);
+- } else if (pathToImage.toLowerCase().endsWith(".bmp")) {
+- decoder.setInputFilename(pathToImage);
+- decoder.triggerAction();
+- image = decoder.getResult();
+- } else {
+- throw new Error("do not know how to load " + pathToImage);
+- }
+-
++ image = Toolkit.getDefaultToolkit().getImage(pathToImage);
+ // if only one image, dump it as it
+- if (index == 0 && maxParts == 1) {
+- Jimi.putImage(image, filename);
++ if (index == 0 && maxParts == 1) {
++ ImageIO.write((RenderedImage)image, getFileFmt(pathToImage), new File(pathToImage));
+ } else {
+ if (horizontal) {
+ int partHeight = image.getHeight(bitmapCreator) / maxParts;
+@@ -54,9 +54,9 @@
+ int partWidth = image.getWidth(bitmapCreator) / maxParts;
+ image = grab(image, partWidth * index, 0,
+ partWidth, image.getHeight(bitmapCreator));
+- }
+- Jimi.putImage(image, filename);
++ };
+ }
++ ImageIO.write((RenderedImage)image, getFileFmt(pathToImage), new File(pathToImage));
+ } catch (Exception e) {
+ System.out.println("error while working with " + pathToImage);
+ e.printStackTrace();
diff --git a/java-skinlf-6.7-sun-jdk1.5-xpath-patch.patch b/java-skinlf-6.7-sun-jdk1.5-xpath-patch.patch
new file mode 100644
index 0000000..9b3ffda
--- /dev/null
+++ b/java-skinlf-6.7-sun-jdk1.5-xpath-patch.patch
@@ -0,0 +1,11 @@
+--- skinlf-6.7/src/com/l2fprod/tools/msstyles/MsStylesToSkinLF.java 2006-07-22 13:46:22.000000000 +0200
++++ skinlf-6.7/src/com/l2fprod/tools/msstyles/MsStylesToSkinLF.java-gil 2009-04-22 03:52:30.000000000 +0200
+@@ -9,7 +9,7 @@
+ import javax.xml.parsers.DocumentBuilder;
+ import javax.xml.parsers.DocumentBuilderFactory;
+
+-import org.apache.xpath.XPathAPI;
++import com.sun.org.apache.xpath.internal.XPathAPI;
+ import org.w3c.dom.Document;
+ import org.w3c.dom.Element;
+
diff --git a/java-skinlf-generate-tarball.sh b/java-skinlf-generate-tarball.sh
new file mode 100644
index 0000000..687615c
--- /dev/null
+++ b/java-skinlf-generate-tarball.sh
@@ -0,0 +1,12 @@
+#!/bin/bash
+VERSION=$1
+
+#Original source is located at https://skinlf.dev.java.net/servlets/ProjectDocumentList?folderID=242&expandFolder=242&folderID=0
+# https://skinlf.dev.java.net/files/documents/66/37801/skinlf-6.7-20060722.zip --no-check-certificate
+
+rm -rf skinlf-6.7
+unzip skinlf-$VERSION.zip
+rm skinlf-6.7/src/examples/Clock.java
+#sed -i -e 's/patentedcodec.c//' libfoo-$VERSION/src/Makefile
+
+tar -czvf skinlf-6.7-clean.tar.gz skinlf-6.7
diff --git a/java-skinlf.spec b/java-skinlf.spec
new file mode 100644
index 0000000..5da65a8
--- /dev/null
+++ b/java-skinlf.spec
@@ -0,0 +1,123 @@
+Name: java-skinlf
+Version: 6.7
+Release: 1mamba
+Summary: Skin Look And Feel
+Group: Development/Libraries/Java
+Vendor: openmamba
+Distribution: openmamba
+Packager: gil
+URL: http://skinlf.dev.java.net/
+# wget https://skinlf.dev.java.net/files/documents/66/37801/skinlf-6.7-20060722.zip --no-check-certificate
+Source0: skinlf-%{version}-clean.tar.gz
+# invoke this script to regenerate the source archive
+Source1: java-skinlf-generate-tarball.sh
+License: Apache Software License 1.1, Apache Software License 2.0, zlib
+Patch0: java-skinlf-6.7-nosun-jimi-patch.patch
+Patch1: java-skinlf-6.7-build-xml-patch.patch
+Patch2: java-skinlf-6.7-common-xml-patch.patch
+Patch3: java-skinlf-6.7-sun-jdk1.5-xpath-patch.patch
+
+BuildRequires: apache-ant
+#BuildRequires: apache-ant-nodeps
+BuildRequires: hd2u
+#BuildRequires: java-laf-plugin
+BuildRequires: jpackage-utils
+BuildRequires: java-laf-plugin
+Requires: jpackage-utils
+BuildRoot: %{_tmppath}/%{name}-%{version}-root
+
+%description
+Skin Look And Feel is a java framework that is able to read GTK (The
+Gimp ToolKit) and KDE (The K Desktop Environment) skins to enhance
+your application.
+SkinLF supports GUI controls such as Buttons, Checks, Radios, Scrollbars,
+Progress Bar, Lists, Tables, Internal Frames, Colors, Background
+Textures, Regular Windows.
+
+%package javadoc
+Summary: Javadoc for %{name}
+Group: Documentation
+
+%description javadoc
+Skin Look And Feel is a java framework that is able to read GTK (The
+Gimp ToolKit) and KDE (The K Desktop Environment) skins to enhance
+your application.
+SkinLF supports GUI controls such as Buttons, Checks, Radios, Scrollbars,
+Progress Bar, Lists, Tables, Internal Frames, Colors, Background
+Textures, Regular Windows.
+
+This package contains javadoc for %{name}
+
+%prep
+
+%setup -q -n skinlf-%{version}
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+for i in "CHANGES README LICENSE LICENSE_nanoxml" ;
+do
+ dos2unix -T $i;
+done
+
+rm -f ./lib/examples.jar
+rm -f ./lib/nativeskin.jar
+rm -f ./lib/skinlf.jar
+
+#rm due to dubious license
+rm -f ./src/examples/Clock.java
+
+JAR_files=""
+for j in $(find -name \*.jar); do
+if [ ! -L $j ] ; then
+ JAR_files="$JAR_files $j"
+ fi
+done
+
+if [ ! -z "$JAR_files" ] ; then
+ echo "These JAR files should be deleted and symlinked to system JAR files: $JAR_files"
+ #Uncomment this line before accepting package
+ exit 1
+fi
+
+%build
+ant
+
+pushd build/classes
+ jar cf skinlf-%{version}.jar .
+popd
+
+javadoc -d javadoc \
+ `find src/ -name \*.java`
+
+%install
+[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
+mkdir -p %{buildroot}/%{_javadir}
+install -pm 644 build/classes/skinlf-%{version}.jar \
+ %{buildroot}%{_javadir}/
+
+(
+ cd %{buildroot}%{_javadir}
+ ln -sf skinlf-%{version}.jar skinlf.jar
+
+)
+
+mkdir -p %{buildroot}%{_javadocdir}/
+cp -pr javadoc %{buildroot}%{_javadocdir}/skinlf-%{version}
+
+%clean
+[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
+
+%files
+%defattr(-,root,root)
+%{_javadir}/skinlf-%{version}.jar
+%{_javadir}/skinlf.jar
+%doc AUTHORS CHANGES LICENSE* README THANKS
+
+%files javadoc
+%defattr(-,root,root)
+%{_javadocdir}/skinlf-%{version}
+
+%changelog
+* Wed Apr 22 2009 gil 6.7-1mamba
+- package created by autospec