diff --git a/package/libreadline/Makefile b/package/libreadline/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..1ded2788a0bf2467f57793782c76c7dd7ae3980b
--- /dev/null
+++ b/package/libreadline/Makefile
@@ -0,0 +1,67 @@
+# 
+# Copyright (C) 2006 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+# $Id: Makefile 5624 2006-11-23 00:29:07Z nbd $
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=readline
+PKG_VERSION:=5.2
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=@GNU/readline
+PKG_MD5SUM:=e39331f32ad14009b9ff49cc10c5e751
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/libreadline
+  SECTION:=libs
+  CATEGORY:=Libraries
+  TITLE:=Command lines edition library
+  URL:=http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html
+endef
+
+define Package/libreadline/description
+	The Readline library provides a set of functions for use by applications 
+	that allow users to edit command lines as they are typed in. Both Emacs 
+	and vi editing modes are available. The Readline library includes 
+	additional functions to maintain a list of previously-entered command 
+	lines, to recall and perhaps reedit those lines, and perform csh-like 
+	history expansion on previous commands.
+endef
+
+define Build/Configure
+	$(call Build/Configure/Default, \
+		--enable-shared \
+		--enable-static \
+		--without-curses \
+	)
+endef
+
+TARGET_CPPFLAGS:=-I. -I.. $(TARGET_CPPFLAGS)
+
+TARGET_CFLAGS += $(FPIC)
+
+define Build/Compile
+	$(MAKE) -C $(PKG_BUILD_DIR) \
+		DESTDIR="$(PKG_INSTALL_DIR)" \
+		all install
+endef
+
+define Build/InstallDev
+	mkdir -p $(1)/usr/include
+	$(CP) $(PKG_INSTALL_DIR)/usr/include/readline $(1)/usr/include/
+	mkdir -p $(1)/usr/lib
+	$(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{history,readline}.{a,so*} $(1)/usr/lib/
+endef
+
+define Package/libreadline/install
+	$(INSTALL_DIR) $(1)/usr/lib
+	$(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{history,readline}.so.* $(1)/usr/lib/
+endef
+
+$(eval $(call BuildPackage,libreadline))
diff --git a/package/libreadline/patches/100-fix_avr32_compile b/package/libreadline/patches/100-fix_avr32_compile
new file mode 100644
index 0000000000000000000000000000000000000000..dca067636691f313868704a0a091bc1c41e8e8ec
--- /dev/null
+++ b/package/libreadline/patches/100-fix_avr32_compile
@@ -0,0 +1,20 @@
+--- a/support/config.sub
++++ b/support/config.sub
+@@ -228,7 +228,7 @@
+ 	| a29k \
+ 	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
+ 	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
+-	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
++	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
+ 	| clipper \
+ 	| d10v | d30v | dlx | dsp16xx \
+ 	| fr30 | frv \
+@@ -293,7 +293,7 @@
+ 	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
+ 	| amd64-* \
+ 	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
+-	| avr-* \
++	| avr-* | avr32-* \
+ 	| bs2000-* \
+ 	| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* \
+ 	| clipper-* | cydra-* \