diff --git a/libs/libidn/Makefile b/libs/libidn/Makefile
index ea32aab9a..c99ea24d9 100644
--- a/libs/libidn/Makefile
+++ b/libs/libidn/Makefile
@@ -8,12 +8,14 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libidn
-PKG_VERSION:=1.35
-PKG_RELEASE:=2
+PKG_VERSION:=1.36
+PKG_RELEASE:=1
+
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=@GNU/libidn
-PKG_HASH:=f11af1005b46b7b15d057d7f107315a1ad46935c7fcdf243c16e46ec14f0fe1e
+PKG_HASH:=14b67108344d81ba844631640df77c9071d9fb0659b080326ff5424e86b14038
 
+PKG_MAINTAINER:=
 PKG_LICENSE:=GPL-2.0-or-later GPL-3.0-or-later LGPL-2.1-or-later LGPL-3.0-or-later Apache-2.0
 PKG_LICENSE_FILES:=COPYING COPYINGv2 COPYINGv3 COPYING.LESSERv2 COPYING.LESSERv3 java/LICENSE-2.0.txt
 
diff --git a/libs/libidn/patches/010-fix-idn-error-usage.patch b/libs/libidn/patches/010-fix-idn-error-usage.patch
index e9201c42b..1dfb18f35 100644
--- a/libs/libidn/patches/010-fix-idn-error-usage.patch
+++ b/libs/libidn/patches/010-fix-idn-error-usage.patch
@@ -1,24 +1,24 @@
 --- a/src/idn.c
 +++ b/src/idn.c
-@@ -170,7 +170,7 @@ main (int argc, char *argv[])
+@@ -169,7 +169,7 @@ main (int argc, char *argv[])
        (args_info.idna_to_unicode_given ? 1 : 0) +
        (args_info.nfkc_given ? 1 : 0) != 1)
      {
--      error (0, 0, _("only one of -s, -e, -d, -a, -u or -n can be specified"));
-+      error (0, 0, "%s", _("only one of -s, -e, -d, -a, -u or -n can be specified"));
+-      error (0, 0,
++      error (0, 0, "%s",
+ 	     _("only one of -s, -e, -d, -a, -u or -n can be specified"));
        usage (EXIT_FAILURE);
      }
+@@ -183,7 +183,7 @@ main (int argc, char *argv[])
  
-@@ -185,7 +185,7 @@ main (int argc, char *argv[])
    if (!args_info.quiet_given
-       && args_info.inputs_num == 0
-       && isatty (fileno (stdin)))
+       && args_info.inputs_num == 0 && isatty (fileno (stdin)))
 -    fprintf (stderr, _("Type each input string on a line by itself, "
 +    fprintf (stderr, "%s", _("Type each input string on a line by itself, "
  		       "terminated by a newline character.\n"));
  
    do
-@@ -197,7 +197,7 @@ main (int argc, char *argv[])
+@@ -195,7 +195,7 @@ main (int argc, char *argv[])
  	  if (feof (stdin))
  	    break;
  
@@ -27,7 +27,7 @@
  	}
  
        if (strlen (line) > 0)
-@@ -215,7 +215,7 @@ main (int argc, char *argv[])
+@@ -213,7 +213,7 @@ main (int argc, char *argv[])
  	  if (!q)
  	    {
  	      free (p);
@@ -36,7 +36,7 @@
  		     _("could not convert from UTF-8 to UCS-4"));
  	    }
  
-@@ -240,7 +240,7 @@ main (int argc, char *argv[])
+@@ -238,7 +238,7 @@ main (int argc, char *argv[])
  	  if (!q)
  	    {
  	      free (r);
@@ -45,7 +45,7 @@
  		     _("could not convert from UTF-8 to UCS-4"));
  	    }
  
-@@ -277,7 +277,7 @@ main (int argc, char *argv[])
+@@ -275,7 +275,7 @@ main (int argc, char *argv[])
  	  q = stringprep_utf8_to_ucs4 (p, -1, &len);
  	  free (p);
  	  if (!q)
@@ -54,7 +54,7 @@
  		   _("could not convert from UTF-8 to UCS-4"));
  
  	  if (args_info.debug_given)
-@@ -336,7 +336,7 @@ main (int argc, char *argv[])
+@@ -334,7 +334,7 @@ main (int argc, char *argv[])
  	  r = stringprep_ucs4_to_utf8 (q, -1, NULL, NULL);
  	  free (q);
  	  if (!r)
@@ -63,7 +63,7 @@
  		   _("could not convert from UCS-4 to UTF-8"));
  
  	  p = stringprep_utf8_to_locale (r);
-@@ -360,7 +360,7 @@ main (int argc, char *argv[])
+@@ -358,7 +358,7 @@ main (int argc, char *argv[])
  	  q = stringprep_utf8_to_ucs4 (p, -1, NULL);
  	  free (p);
  	  if (!q)
@@ -72,7 +72,7 @@
  		   _("could not convert from UCS-4 to UTF-8"));
  
  	  if (args_info.debug_given)
-@@ -438,7 +438,7 @@ main (int argc, char *argv[])
+@@ -436,7 +436,7 @@ main (int argc, char *argv[])
  	  if (!q)
  	    {
  	      free (p);
@@ -81,7 +81,7 @@
  		     _("could not convert from UCS-4 to UTF-8"));
  	    }
  
-@@ -494,7 +494,7 @@ main (int argc, char *argv[])
+@@ -492,7 +492,7 @@ main (int argc, char *argv[])
  	  r = stringprep_ucs4_to_utf8 (q, -1, NULL, NULL);
  	  free (q);
  	  if (!r)
@@ -90,7 +90,7 @@
  		   _("could not convert from UTF-8 to UCS-4"));
  
  	  p = stringprep_utf8_to_locale (r);
-@@ -523,7 +523,7 @@ main (int argc, char *argv[])
+@@ -521,7 +521,7 @@ main (int argc, char *argv[])
  	      if (!q)
  		{
  		  free (p);
@@ -99,7 +99,7 @@
  			 _("could not convert from UTF-8 to UCS-4"));
  		}
  
-@@ -537,7 +537,7 @@ main (int argc, char *argv[])
+@@ -535,7 +535,7 @@ main (int argc, char *argv[])
  	  r = stringprep_utf8_nfkc_normalize (p, -1);
  	  free (p);
  	  if (!r)
@@ -108,7 +108,7 @@
  
  	  if (args_info.debug_given)
  	    {
-@@ -547,7 +547,7 @@ main (int argc, char *argv[])
+@@ -545,7 +545,7 @@ main (int argc, char *argv[])
  	      if (!q)
  		{
  		  free (r);