diff --git a/libidn2.patch b/libidn2.patch new file mode 100644 index 0000000..0a98497 --- /dev/null +++ b/libidn2.patch @@ -0,0 +1,49 @@ +diff --git a/configure.ac b/configure.ac +index 78b9ce2..b9c1563 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -910,9 +910,9 @@ AM_CONDITIONAL(HAVE_MINIZIP, [ test "${have_minizip}" = "yes" ]) + + + dnl +-dnl Domain name i18n support via GNU libidn ++dnl Domain name i18n support via GNU libidn2 + dnl +-PKG_CHECK_MODULES([IDN], [libidn], [ ++PKG_CHECK_MODULES([IDN], [libidn2], [ + have_libidn="yes" + AC_DEFINE([HAVE_IDN], 1, [Define to 1 if you have GNU libidn.]) + ], [ +diff --git a/src/text/url.c b/src/text/url.c +index 2eb4b8d..467b7f3 100644 +--- a/src/text/url.c ++++ b/src/text/url.c +@@ -873,7 +873,7 @@ char *vlc_uri_fixup(const char *str) + } + + #if defined (HAVE_IDN) +-# include ++# include + #elif defined (_WIN32) + # include + # include +@@ -914,16 +914,13 @@ static char *vlc_idna_to_ascii (const char *idn) + #if defined (HAVE_IDN) + char *adn; + +- switch (idna_to_ascii_8z(idn, &adn, IDNA_ALLOW_UNASSIGNED)) ++ switch (idn2_to_ascii_8z(idn, &adn, IDN2_ALLOW_UNASSIGNED|IDN2_NFC_INPUT|IDN2_NONTRANSITIONAL)) + { +- case IDNA_SUCCESS: ++ case IDN2_OK: + return adn; +- case IDNA_MALLOC_ERROR: ++ case IDN2_MALLOC: + errno = ENOMEM; + return NULL; +- case IDNA_DLOPEN_ERROR: +- errno = ENOSYS; +- return NULL; + default: + errno = EINVAL; + return NULL; diff --git a/vlc.spec b/vlc.spec index f93f962..cece37e 100644 --- a/vlc.spec +++ b/vlc.spec @@ -46,6 +46,8 @@ Patch: appdata.patch # GCC 14 fixes from upstream Patch: https://code.videolan.org/videolan/vlc/-/merge_requests/4645.patch Patch: https://code.videolan.org/videolan/vlc/-/merge_requests/4665.patch +# port from libidn to libidn2 +Patch: libidn2.patch %{load:%{S:1}} %global __provides_exclude_from ^%{vlc_plugindir}/.*$ @@ -127,7 +129,7 @@ BuildRequires: pkgconfig(libdvbpsi) BuildRequires: pkgconfig(libebml) >= 1.3.6 BuildRequires: pkgconfig(libgme) #BuildRequires: pkgconfig(libgoom2) -BuildRequires: pkgconfig(libidn) +BuildRequires: pkgconfig(libidn2) BuildRequires: pkgconfig(libmatroska) BuildRequires: pkgconfig(libmodplug) >= 0.8.9.0 BuildRequires: pkgconfig(libmpeg2) >= 0.3.2