Page Menu
Home
Solus
Search
Configure Global Search
Log In
Files
F10899146
D184.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
9 KB
Referenced Files
None
Subscribers
None
D184.diff
View Options
diff --git a/abi_used_libs b/abi_used_libs
--- a/abi_used_libs
+++ b/abi_used_libs
@@ -8,7 +8,7 @@
libglib-2.0.so.0
libgobject-2.0.so.0
libgtk-3.so.0
-libidn.so.11
+libidn2.so.0
libm.so.6
libnotify.so.4
libpango-1.0.so.0
diff --git a/files/switch-to-gnu-libidn2.patch b/files/switch-to-gnu-libidn2.patch
new file mode 100644
--- /dev/null
+++ b/files/switch-to-gnu-libidn2.patch
@@ -0,0 +1,209 @@
+From 816c8a96e4270836d70e6636f211c14661dda88c Mon Sep 17 00:00:00 2001
+From: Pierre-Yves <pyu@riseup.net>
+Date: Tue, 23 May 2017 21:25:37 +0200
+Subject: [PATCH] switch to gnu libidn2
+
+Signed-off-by: Pierre-Yves <pyu@riseup.net>
+---
+ CMakeLists.txt | 10 +++++-----
+ cmake/FindIDN2.cmake | 40 ++++++++++++++++++++++++++++++++++++++++
+ cmake/FindIDNA.cmake | 40 ----------------------------------------
+ dcpp/CMakeLists.txt | 10 +++++-----
+ dcpp/Util.cpp | 8 ++++----
+ 5 files changed, 54 insertions(+), 54 deletions(-)
+ create mode 100644 cmake/FindIDN2.cmake
+ delete mode 100644 cmake/FindIDNA.cmake
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 609b074..664423f 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -85,7 +85,7 @@ option (USE_JS "QtScript support in Qt interface")
+ option (XMLRPC_DAEMON "Make daemon as xmlrpc server" OFF)
+ option (PERL_REGEX "Use pcre lib for regex in perl style" OFF)
+ option (ENABLE_STACKTRACE "Show stacktrace when program receive SIGSEGV" OFF)
+-option (USE_IDNA "Use libidn for punycode generation" ON)
++option (USE_IDN2 "Use libidn2 for punycode generation" ON)
+ option (JSONRPC_DAEMON "Make daemon as jsonrpc server" OFF)
+ option (USE_CLI_XMLRPC "Command line interface to control daemon via XMLRPC" OFF)
+ option (USE_CLI_JSONRPC "Command line interface to control daemon via JSONRPC" OFF)
+@@ -111,9 +111,9 @@ if (PERL_REGEX)
+ find_package(Pcre REQUIRED)
+ endif (PERL_REGEX)
+
+-if (USE_IDNA)
+- find_package(IDNA REQUIRED)
+-endif(USE_IDNA)
++if (USE_IDN2)
++ find_package(IDN2 REQUIRED)
++endif(USE_IDN2)
+
+ if (XATTR_FOUND)
+ message (STATUS "Building with libattr support")
+@@ -393,7 +393,7 @@ message(STATUS "CMAKE will use this libs (and headers) during build:
+ aspell (headers): ${ASPELL_LIBRARIES} (${ASPELL_INCLUDE_DIR})
+ gettext (headers): ${GETTEXT_LIBRARIES} (${GETTEXT_INCLUDE_DIR})
+ pcre(cpp) (headers): ${PCRE_LIBRARIES} (${PCRE_INCLUDE_DIR})
+- idna (headers): ${IDNA_LIBRARIES} (${IDNA_INCLUDE_DIR})
++ idn2 (headers): ${IDN2_LIBRARIES} (${IDN2_INCLUDE_DIR})
+ ")
+
+ CONFIGURE_FILE(
+diff --git a/cmake/FindIDN2.cmake b/cmake/FindIDN2.cmake
+new file mode 100644
+index 0000000..a46067b
+--- /dev/null
++++ b/cmake/FindIDN2.cmake
+@@ -0,0 +1,40 @@
++# - Try to find GNU IDN2 library and headers
++# Once done, this will define
++#
++# IDN2_FOUND - system has IDN2
++# IDN2_INCLUDE_DIR - the IDN2 include directories (<idn2.h>)
++# IDN2_LIBRARIES - link these to use IDN2 (idn2_to_ascii_8z)
++
++if (IDN2_INCLUDE_DIR AND IDN2_LIBRARIES)
++ set(IDN2_FIND_QUIETLY TRUE)
++endif (IDN2_INCLUDE_DIR AND IDN2_LIBRARIES)
++
++# Include dir
++find_path(IDN2_INCLUDE_DIR
++ NAMES idn2.h
++)
++
++# Library
++find_library(IDN2_LIBRARY
++ NAMES idn2
++)
++
++
++# handle the QUIETLY and REQUIRED arguments and set IDN2_FOUND to TRUE if
++# all listed variables are TRUE
++INCLUDE(FindPackageHandleStandardArgs)
++FIND_PACKAGE_HANDLE_STANDARD_ARGS(IDN2 DEFAULT_MSG IDN2_LIBRARY IDN2_INCLUDE_DIR)
++
++# If we successfully found the idn2 library then add the library to the
++# IDN2_LIBRARIES cmake variable otherwise set IDN2_LIBRARIES to nothing.
++IF(IDN2_FOUND)
++ SET( IDN2_LIBRARIES ${IDN2_LIBRARY} )
++ELSE(IDN2_FOUND)
++ SET( IDN2_LIBRARIES )
++ENDIF(IDN2_FOUND)
++
++
++# Lastly make it so that the IDN2_LIBRARIES and IDN2_INCLUDE_DIR variables
++# only show up under the advanced options in the gui cmake applications.
++MARK_AS_ADVANCED( IDN2_LIBRARIES IDN2_INCLUDE_DIR IDN2_LIBRARY)
++
+diff --git a/cmake/FindIDNA.cmake b/cmake/FindIDNA.cmake
+deleted file mode 100644
+index 01efc56..0000000
+--- a/cmake/FindIDNA.cmake
++++ /dev/null
+@@ -1,40 +0,0 @@
+-# - Try to find GNU IDN library and headers
+-# Once done, this will define
+-#
+-# IDNA_FOUND - system has IDNA
+-# IDNA_INCLUDE_DIR - the IDNA include directories (<idna.h>)
+-# IDNA_LIBRARIES - link these to use IDNA (idna_to_ascii_8z)
+-
+-if (IDNA_INCLUDE_DIR AND IDNA_LIBRARIES)
+- set(IDNA_FIND_QUIETLY TRUE)
+-endif (IDNA_INCLUDE_DIR AND IDNA_LIBRARIES)
+-
+-# Include dir
+-find_path(IDNA_INCLUDE_DIR
+- NAMES idna.h
+-)
+-
+-# Library
+-find_library(IDNA_LIBRARY
+- NAMES idn
+-)
+-
+-
+-# handle the QUIETLY and REQUIRED arguments and set IDNA_FOUND to TRUE if
+-# all listed variables are TRUE
+-INCLUDE(FindPackageHandleStandardArgs)
+-FIND_PACKAGE_HANDLE_STANDARD_ARGS(IDNA DEFAULT_MSG IDNA_LIBRARY IDNA_INCLUDE_DIR)
+-
+-# If we successfully found the idn library then add the library to the
+-# IDNA_LIBRARIES cmake variable otherwise set IDNA_LIBRARIES to nothing.
+-IF(IDNA_FOUND)
+- SET( IDNA_LIBRARIES ${IDNA_LIBRARY} )
+-ELSE(IDNA_FOUND)
+- SET( IDNA_LIBRARIES )
+-ENDIF(IDNA_FOUND)
+-
+-
+-# Lastly make it so that the IDNA_LIBRARIES and IDNA_INCLUDE_DIR variables
+-# only show up under the advanced options in the gui cmake applications.
+-MARK_AS_ADVANCED( IDNA_LIBRARIES IDNA_INCLUDE_DIR IDNA_LIBRARY)
+-
+diff --git a/dcpp/CMakeLists.txt b/dcpp/CMakeLists.txt
+index 4083f42..a012869 100644
+--- a/dcpp/CMakeLists.txt
++++ b/dcpp/CMakeLists.txt
+@@ -15,7 +15,7 @@ if (NOT LUA_SCRIPT)
+ list (REMOVE_ITEM dcpp_srcs ${PROJECT_SOURCE_DIR}/ScriptManager.cpp)
+ endif ()
+
+-include_directories (${Boost_INCLUDE_DIR} ${BZIP2_INCLUDE_DIR} ${ZLIB_INCLUDE_DIR} ${OPENSSL_INCLUDE_DIR} ${GETTEXT_INCLUDE_DIR} ${LUA_INCLUDE_DIR} ${IDNA_INCLUDE_DIR})
++include_directories (${Boost_INCLUDE_DIR} ${BZIP2_INCLUDE_DIR} ${ZLIB_INCLUDE_DIR} ${OPENSSL_INCLUDE_DIR} ${GETTEXT_INCLUDE_DIR} ${LUA_INCLUDE_DIR} ${IDN2_INCLUDE_DIR})
+
+ if (WIN32)
+ set (LINK STATIC)
+@@ -52,9 +52,9 @@ if (PERL_REGEX)
+ set(PCRE ${PCRE_LIBRARIES})
+ endif (PERL_REGEX)
+
+-if (USE_IDNA)
+- set_property(SOURCE ${PROJECT_SOURCE_DIR}/Util.cpp PROPERTY COMPILE_DEFINITIONS USE_IDNA APPEND)
+-endif(USE_IDNA)
++if (USE_IDN2)
++ set_property(SOURCE ${PROJECT_SOURCE_DIR}/Util.cpp PROPERTY COMPILE_DEFINITIONS USE_IDN2 APPEND)
++endif(USE_IDN2)
+
+ if (XATTR_FOUND)
+ set_property(SOURCE ${PROJECT_SOURCE_DIR}/HashManager.h PROPERTY COMPILE_DEFINITIONS USE_XATTR APPEND)
+@@ -84,7 +84,7 @@ else(WIN32)
+ endif (WIN32)
+
+ target_link_libraries (dcpp ${DHT_LIB} ${PTHREADS} ${BZIP2_LIBRARIES} ${ZLIB_LIBRARIES}
+-${OPENSSL_LIBRARIES} ${GETTEXT_LIBRARIES} ${ICONV_LIBRARIES} ${APPLE_LIBS} ${LUA_LIBRARIES} ${UPNP} ${PCRE} ${IDNA_LIBRARIES} ${XATTR_LIBRARIES} ${HAIKU_LIB} ${Boost_LIBRARIES})
++${OPENSSL_LIBRARIES} ${GETTEXT_LIBRARIES} ${ICONV_LIBRARIES} ${APPLE_LIBS} ${LUA_LIBRARIES} ${UPNP} ${PCRE} ${IDN2_LIBRARIES} ${XATTR_LIBRARIES} ${HAIKU_LIB} ${Boost_LIBRARIES})
+ set_target_properties(dcpp PROPERTIES VERSION ${SOVERSION} OUTPUT_NAME "eiskaltdcpp")
+
+ if (APPLE)
+diff --git a/dcpp/Util.cpp b/dcpp/Util.cpp
+index dc7e08e..6b02fc6 100644
+--- a/dcpp/Util.cpp
++++ b/dcpp/Util.cpp
+@@ -51,8 +51,8 @@
+
+ #include "FastAlloc.h"
+
+-#ifdef USE_IDNA
+-#include <idna.h>
++#ifdef USE_IDN2
++#include <idn2.h>
+ #endif
+
+ namespace dcpp {
+@@ -592,10 +592,10 @@ void Util::decodeUrl(const string& url, string& protocol, string& host, uint16_t
+ query = url.substr(queryStart, queryEnd - queryStart);
+ fragment = url.substr(fragmentStart, fragmentEnd - fragmentStart);
+
+-#ifdef USE_IDNA
++#ifdef USE_IDN2
+ //printf("%s\n",host.c_str());
+ char *p;
+- if (idna_to_ascii_8z(host.c_str(), &p, 0) == IDNA_SUCCESS) {
++ if (idn2_to_ascii_8z(host.c_str(), &p, IDN2_NONTRANSITIONAL) == IDN2_OK) {
+ host = string(p);
+ }
+ free(p);
+--
+2.13.0
+
diff --git a/package.yml b/package.yml
--- a/package.yml
+++ b/package.yml
@@ -1,6 +1,6 @@
name : eiskaltdcpp
version : 2.2.10
-release : 1
+release : 2
source :
- https://github.com/eiskaltdcpp/eiskaltdcpp/archive/v2.2.10.tar.gz : e461c8c499e459651d6382a6ded6788e5ac9a9c4ff26386c3cf073d94d606127
license : GPL-3.0
@@ -10,10 +10,11 @@
EiskaltDC++ is a cross-platform program that uses the Direct Connect and ADC protocols.
builddeps :
- pkgconfig(gtk+-3.0)
- - pkgconfig(libidn)
+ - pkgconfig(libidn2)
- pkgconfig(libnotify)
- libboost-devel
setup : |
+ %patch -p1 < $pkgfiles/switch-to-gnu-libidn2.patch
%cmake -DUSE_QT=0 -DUSE_GTK3=1 \
-DLIBDIR=lib64 \
-DPERL_REGEX=1 \
diff --git a/pspec_x86_64.xml b/pspec_x86_64.xml
--- a/pspec_x86_64.xml
+++ b/pspec_x86_64.xml
@@ -2,8 +2,8 @@
<Source>
<Name>eiskaltdcpp</Name>
<Packager>
- <Name>Bryan T. Meyers</Name>
- <Email>bmeyers@datadrake.com</Email>
+ <Name>Pierre-Yves</Name>
+ <Email>pyu@riseup.net</Email>
</Packager>
<License>GPL-3.0</License>
<PartOf>network.clients</PartOf>
@@ -36,12 +36,12 @@
</Files>
</Package>
<History>
- <Update release="1">
- <Date>2016-11-28</Date>
+ <Update release="2">
+ <Date>2017-05-27</Date>
<Version>2.2.10</Version>
<Comment>Packaging update</Comment>
- <Name>Bryan T. Meyers</Name>
- <Email>bmeyers@datadrake.com</Email>
+ <Name>Pierre-Yves</Name>
+ <Email>pyu@riseup.net</Email>
</Update>
</History>
</PISI>
\ No newline at end of file
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Jul 4 2023, 12:06 PM (5 w, 3 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5787971
Default Alt Text
D184.diff (9 KB)
Attached To
Mode
D184: Patch eiskaltdcpp for libidn2
Attached
Detach File
Event Timeline
Log In to Comment