diff --git a/libreadline-java-0.8.0-jdk10.patch b/libreadline-java-0.8.0-jdk10.patch
new file mode 100644
index 0000000..b7be006
--- /dev/null
+++ b/libreadline-java-0.8.0-jdk10.patch
@@ -0,0 +1,37 @@
+--- libreadline-java-0.8.0/src/Makefile	2017-12-18 11:50:48.209823175 +0100
++++ libreadline-java-0.8.0/src/Makefile	2017-12-18 11:51:06.361823244 +0100
+@@ -2,11 +2,12 @@
+ #
+ 
+ BUILD=../build
++NATIVE=native
+ 
+-all : java native
++all : . java native
+ 
+ java: always $(BUILD)
+-	$(JAVAC) $(JC_FLAGS) -d $(BUILD) `find . -name "*.java"`
++	$(JAVAC) $(JC_FLAGS) -d $(BUILD) -h $(NATIVE) `find . -name "*.java"`
+ 
+ native: always
+ 	cd native ; $(MAKE) T_LIBS="$(T_LIBS)" JAVAINCLUDE="$(JAVAINCLUDE)" \
+--- libreadline-java-0.8.0/src/native/Makefile	2017-12-18 11:50:48.209823175 +0100
++++ libreadline-java-0.8.0/src/native/Makefile	2017-12-18 11:52:03.693823460 +0100
+@@ -103,14 +103,10 @@
+ getline.$(OBJ_EXT): getline.c
+ 	$(CC) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) -D$(TG) -c getline.c
+ 
+-org_gnu_readline_Readline.$(OBJ_EXT): org_gnu_readline_Readline.h \
+-	                                      org_gnu_readline_Readline.c
+-	$(CC) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) -D$(TG) \
+-	                                   -c org_gnu_readline_Readline.c
++org_gnu_readline_Readline.$(OBJ_EXT): org_gnu_readline_Readline.h org_gnu_readline_Readline.c
++	$(CC) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) -D$(TG) -c org_gnu_readline_Readline.c
+ 
+ org_gnu_readline_Readline.h: $(BUILDDIR)/org/gnu/readline/Readline.class
+-	javah -classpath $(BUILDDIR) -jni org.gnu.readline.Readline
+-	touch org_gnu_readline_Readline.h
+ 
+ clean:
+ 	-rm -f org_gnu_readline_Readline.h \
+Only in libreadline-java-0.8.0/src/native: Makefile.orig
diff --git a/libreadline-java-0.8.0-sourcetarget.patch b/libreadline-java-0.8.0-sourcetarget.patch
new file mode 100644
index 0000000..18ee4df
--- /dev/null
+++ b/libreadline-java-0.8.0-sourcetarget.patch
@@ -0,0 +1,11 @@
+--- libreadline-java-0.8.0/Makefile	2017-12-18 11:50:48.197823175 +0100
++++ libreadline-java-0.8.0/Makefile	2017-12-18 13:31:13.714940274 +0100
+@@ -70,7 +70,7 @@
+ 
+ ## normal javac
+ JAVAC = javac
+-JC_FLAGS = 
++JC_FLAGS = -source 1.6 -target 1.6
+ 
+ ## with jikes
+ #JAVAC = jikes
diff --git a/libreadline-java.changes b/libreadline-java.changes
index 2cffd87..ebe68b3 100644
--- a/libreadline-java.changes
+++ b/libreadline-java.changes
@@ -1,3 +1,13 @@
+-------------------------------------------------------------------
+Mon Dec 18 10:57:33 UTC 2017 - fstrba@suse.com
+
+- Added patch:
+  * libreadline-java-0.8.0-jdk10.patch
+    - Allow building with jdk10 that does not have javah
+  * libreadline-java-0.8.0-sourcetarget.patch
+    - Build with source and target level 1.6
+- Run fdupes on documentation
+
 -------------------------------------------------------------------
 Mon Sep 18 12:42:17 UTC 2017 - fstrba@suse.com
 
diff --git a/libreadline-java.spec b/libreadline-java.spec
index acb25d7..991a656 100644
--- a/libreadline-java.spec
+++ b/libreadline-java.spec
@@ -28,7 +28,10 @@ Source1:        baselibs.conf
 Patch0:         libreadline-java-ncurses.patch
 Patch1:         libreadline-java-libdir.patch
 Patch2:         libreadline-java-0.8.0-missing-return-type.patch
-BuildRequires:  java-devel >= 1.6.0
+Patch3:         libreadline-java-0.8.0-jdk10.patch
+Patch4:         libreadline-java-0.8.0-sourcetarget.patch
+BuildRequires:  fdupes
+BuildRequires:  java-devel >= 1.8
 BuildRequires:  javapackages-tools
 BuildRequires:  libedit-devel >= 2.9
 BuildRequires:  ncurses-devel
@@ -37,7 +40,6 @@ Requires:       java
 Requires:       libedit >= 2.9
 Provides:       gnu.readline
 Provides:       java_readline
-BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 
 %description
 libreadline-java provides Java bindings for libedit though a JNI
@@ -56,6 +58,8 @@ wrapper. This package contains the javadoc documentation for it.
 %patch0
 %patch1
 %patch2 -p1
+%patch3 -p1
+%patch4 -p1
 find . -name "*.jar" -exec rm -f {} \;
 sed -i 's|@LIBDIR@|%{_libdir}|' src/org/gnu/readline/Readline.java
 
@@ -83,15 +87,14 @@ install -m 755 libJavaEditline.so %{buildroot}%{_libdir}/%{name}
 # javadoc
 mkdir -p %{buildroot}%{_javadocdir}/%{name}
 cp -a api/* %{buildroot}%{_javadocdir}/%{name}
+%fdupes -s %{buildroot}%{_javadocdir}/%{name}
 
 %files
-%defattr(0644,root,root,0755)
 %doc ChangeLog NEWS README README.1st VERSION COPYING.LIB
 %dir %{_libdir}/%{name}
 %attr(-,root,root) %{_libdir}/%{name}/*
 
 %files javadoc
-%defattr(0644,root,root,0755)
 %doc %{_javadocdir}/%{name}
 
 %changelog