diff --git a/package/minicom/0001-musl-libc-compile-fix.patch b/package/minicom/0001-musl-libc-compile-fix.patch
deleted file mode 100644
index 94c0da06a5..0000000000
--- a/package/minicom/0001-musl-libc-compile-fix.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-# HG changeset patch
-# User Adam Lackorzynski <adam@os.inf.tu-dresden.de>
-# Date 1432407431 -7200
-#      Sat May 23 20:57:11 2015 +0200
-# Node ID 8bf81e6a8e60e37c2dec9577a1be6357b8d56165
-# Parent  8c784c80c17aa7a346d982db23bca5df67302cda
-musl-libc compile fix
-
-By Felix Janda <felix.janda@posteo.de>:
-VC_MUSIC is enabled by default on linux and in dial.c the
-necessary header are only included for glibc. (The wrong conditional
-include has likely been introduced by the 2003-03-30 GNU/Hurd patch.)
-
-Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
-[Taken from upstream Mercurial commit 8bf81e6a8e60]
-
-diff -r 8c784c80c17a -r 8bf81e6a8e60 src/dial.c
---- a/src/dial.c	Sat May 23 20:56:29 2015 +0200
-+++ b/src/dial.c	Sat May 23 20:57:11 2015 +0200
-@@ -39,7 +39,7 @@
- #include "intl.h"
- 
- #ifdef VC_MUSIC
--#  if defined(__GLIBC__)
-+#  if defined(__linux__) || defined(__GLIBC__)
- #    include <sys/ioctl.h>
- #    include <sys/kd.h>
- #    include <sys/time.h>
diff --git a/package/minicom/0001-sysdep.h-define-TIOCGRS485-and-TIOCSRS485-if-not-def.patch b/package/minicom/0001-sysdep.h-define-TIOCGRS485-and-TIOCSRS485-if-not-def.patch
new file mode 100644
index 0000000000..c4d881a8b5
--- /dev/null
+++ b/package/minicom/0001-sysdep.h-define-TIOCGRS485-and-TIOCSRS485-if-not-def.patch
@@ -0,0 +1,39 @@
+From b9d9a7c3bba81853f77c6789ab5b65925f9de067 Mon Sep 17 00:00:00 2001
+From: Giulio Benetti <giulio.benetti@micronovasrl.com>
+Date: Sun, 26 Aug 2018 11:26:11 +0200
+Subject: [PATCH] sysdep.h: define TIOCGRS485 and TIOCSRS485 if not defined
+
+Depending on toolchain sometimes SER_RS485_ENABLED is defined but
+TIOCGRS485 and TIOCSRS485 are not always found in included files.
+They are contained in <asm-generic/ioctls.h> that should be included in
+<asm/ioctls.h> then in <termios.h>, but this doesn't always happen.
+This leads to build failure because TIOCGRS485 and TIOCSRS485 have not
+been found.
+
+Define if not defined TIOCGRS485 and TIOCSRS485.
+
+Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com>
+---
+ src/sysdep.h | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/src/sysdep.h b/src/sysdep.h
+index a99c5ee..7b9665d 100644
+--- a/src/sysdep.h
++++ b/src/sysdep.h
+@@ -124,6 +124,12 @@
+ #ifndef CRTSCTS
+ #  define CRTSCTS 0
+ #endif
++#ifndef TIOCGRS485
++#  define TIOCGRS485 0x542E
++#endif
++#ifndef TIOCSRS485
++#  define TIOCSRS485 0x542F
++#endif
+ 
+ /* If this is SysV without Posix, emulate Posix. */
+ #if defined(_SYSV)
+-- 
+2.17.1
+
diff --git a/package/minicom/0002-change-maxnamlen-to-posixs-name-max.patch b/package/minicom/0002-change-maxnamlen-to-posixs-name-max.patch
deleted file mode 100644
index 83e1530600..0000000000
--- a/package/minicom/0002-change-maxnamlen-to-posixs-name-max.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-# HG changeset patch
-# User Adam Lackorzynski <adam@os.inf.tu-dresden.de>
-# Date 1432407475 -7200
-#      Sat May 23 20:57:55 2015 +0200
-# Node ID 93e5dd955c8bd944fd64bb04fd117c963c3758bc
-# Parent  8bf81e6a8e60e37c2dec9577a1be6357b8d56165
-Change MAXNAMLEN to POSIX's NAME_MAX
-
-By Felix Janda <felix.janda@posteo.de>:
-MAXNAMLEN is usually defined in <sys/param.h> but it is
-better to use the equivalent POSIX NAME_MAX.
-
-Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
-[Taken from upstream Mercurial commit 93e5dd955c8b]
-
-diff -r 8bf81e6a8e60 -r 93e5dd955c8b src/getsdir.c
---- a/src/getsdir.c	Sat May 23 20:57:11 2015 +0200
-+++ b/src/getsdir.c	Sat May 23 20:57:55 2015 +0200
-@@ -145,7 +145,7 @@
-  *
-  *			    The data will be in the form:
-  *				typedef struct dirEntry {
-- *				    char fname[MAXNAMLEN + 1];
-+ *				    char fname[NAME_MAX + 1];
-  *				    time_t time;
-  *				    mode_t mode;
-  *				} GETSDIR_ENTRY;
-@@ -232,7 +232,7 @@
-             }
- 
-           /* copy the filename */
--          strncpy((*datptr)[cnt].fname, dp->d_name, MAXNAMLEN);
-+          strncpy((*datptr)[cnt].fname, dp->d_name, NAME_MAX);
- 
-           /* get information about the directory entry */
-           snprintf(fpath, sizeof(fpath), "%s/%s", dirpath, dp->d_name);
-diff -r 8bf81e6a8e60 -r 93e5dd955c8b src/getsdir.h
---- a/src/getsdir.h	Sat May 23 20:57:11 2015 +0200
-+++ b/src/getsdir.h	Sat May 23 20:57:55 2015 +0200
-@@ -23,9 +23,10 @@
-  */
- 
- #include <dirent.h>
-+#include <limits.h>
- 
- typedef struct dirEntry {		/* structure of data item */
--  char fname[MAXNAMLEN + 1];		/* filename + terminating null */
-+  char fname[NAME_MAX + 1];		/* filename + terminating null */
-   time_t time;				/* last modification date */
-   mode_t mode;				/* file mode (dir? etc.) */
-   ushort cflags;			/* caller field for convenience */
diff --git a/package/minicom/Config.in b/package/minicom/Config.in
index c41c188570..dafd96ef75 100644
--- a/package/minicom/Config.in
+++ b/package/minicom/Config.in
@@ -9,7 +9,7 @@ config BR2_PACKAGE_MINICOM
 	  ANSI and VT102 terminals. It has a dialing directory and auto
 	  zmodem download.
 
-	  http://alioth.debian.org/projects/minicom/
+	  https://salsa.debian.org/minicom-team/minicom.git
 
 comment "minicom needs a toolchain w/ wchar"
 	depends on BR2_USE_MMU
diff --git a/package/minicom/minicom.hash b/package/minicom/minicom.hash
deleted file mode 100644
index ca3087160b..0000000000
--- a/package/minicom/minicom.hash
+++ /dev/null
@@ -1,2 +0,0 @@
-# Locally calculated
-sha256 532f836b7a677eb0cb1dca8d70302b73729c3d30df26d58368d712e5cca041f1  minicom-2.7.1.tar.gz
diff --git a/package/minicom/minicom.mk b/package/minicom/minicom.mk
index cb06482379..8e1ca650ef 100644
--- a/package/minicom/minicom.mk
+++ b/package/minicom/minicom.mk
@@ -4,10 +4,10 @@
 #
 ################################################################################
 
-MINICOM_VERSION = 2.7.1
-MINICOM_SITE = https://alioth.debian.org/frs/download.php/file/4215
-MINICOM_LICENSE = GPL-2.0+
-MINICOM_LICENSE_FILES = COPYING
+MINICOM_VERSION = 19ab49422f3431102c31fea01549121385113f80
+MINICOM_SITE = https://salsa.debian.org/minicom-team/minicom.git
+MINICOM_SITE_METHOD = git
+MINICOM_AUTORECONF = YES
 
 # pkg-config is only used to check for liblockdev, which we don't have
 # in BR, so instead of adding host-pkgconf as a dependency, simply make
@@ -15,6 +15,19 @@ MINICOM_LICENSE_FILES = COPYING
 # people have liblockdev1-dev installed
 MINICOM_CONF_ENV = PKG_CONFIG=/bin/false
 
-MINICOM_DEPENDENCIES = ncurses $(if $(BR2_ENABLE_LOCALE),,libiconv)
+MINICOM_DEPENDENCIES = ncurses $(if $(BR2_ENABLE_LOCALE),,libiconv) \
+	$(TARGET_NLS_DEPENDENCIES)
+# add host-gettext for AM_ICONV macro
+MINICOM_DEPENDENCIES += host-gettext
+
+ifeq ($(BR2_SYSTEM_ENABLE_NLS),)
+MINICOM_CONF_OPTS += --disable-nls
+endif
+
+# Autoreconf requires an existing m4 directory
+define MINICOM_MKDIR_M4
+	mkdir -p $(@D)/m4
+endef
+MINICOM_POST_PATCH_HOOKS += MINICOM_MKDIR_M4
 
 $(eval $(autotools-package))
