diff options
author | thierry <thierry@FreeBSD.org> | 2018-10-16 04:28:08 +0800 |
---|---|---|
committer | thierry <thierry@FreeBSD.org> | 2018-10-16 04:28:08 +0800 |
commit | 26da008dbc963752840d4ea36b1ae91d071ccf72 (patch) | |
tree | 4063bd92af66de1ac805e778d0b437156d7aa0d8 /deskutils/pinot | |
parent | 6ff8e4e872fc0e228404a5350b46794937b6bef5 (diff) | |
download | freebsd-ports-gnome-26da008dbc963752840d4ea36b1ae91d071ccf72.tar.gz freebsd-ports-gnome-26da008dbc963752840d4ea36b1ae91d071ccf72.tar.zst freebsd-ports-gnome-26da008dbc963752840d4ea36b1ae91d071ccf72.zip |
- Fix OpenSSL build (1)
- Enable libnotify
PR: 232234
Submitted by: Nathan <ndowens (at) yahoo.com> (1)
Diffstat (limited to 'deskutils/pinot')
-rw-r--r-- | deskutils/pinot/Makefile | 19 | ||||
-rw-r--r-- | deskutils/pinot/files/patch-openssl | 102 |
2 files changed, 112 insertions, 9 deletions
diff --git a/deskutils/pinot/Makefile b/deskutils/pinot/Makefile index fcf54041f1ec..67750e41b183 100644 --- a/deskutils/pinot/Makefile +++ b/deskutils/pinot/Makefile @@ -3,7 +3,7 @@ PORTNAME= pinot PORTVERSION= 1.09 -PORTREVISION= 12 +PORTREVISION= 13 CATEGORIES= deskutils MAINTAINER= thierry@FreeBSD.org @@ -21,6 +21,7 @@ LIB_DEPENDS= libxapian.so:databases/xapian-core \ libdbus-1.so:devel/dbus \ libxml++-2.6.so:textproc/libxml++26 \ libboost_thread.so:devel/boost-libs \ + libnotify.so:devel/libnotify \ libexif.so:graphics/libexif \ libexiv2.so:graphics/exiv2 \ libgmime-2.4.so:mail/gmime24 \ @@ -39,14 +40,7 @@ USE_GITHUB= yes GH_ACCOUNT= FabriceColin GH_TAGNAME= c14d6d5 -GNU_CONFIGURE= yes -CONFIGURE_ARGS= --with-http=curl --with-ssl=${OPENSSLBASE} --enable-libarchive \ - --enable-mempool=no -CONFIGURE_ENV= MKDIR_P="${MKDIR}" TEXTCAT_LIBS="-lexttextcat-2.0" -CPPFLAGS+= -I${LOCALBASE}/include -LIBS+= -L${LOCALBASE}/lib -lboost_system - -USES= compiler:c++11-lang autoreconf gettext libarchive \ +USES= compiler:c++11-lang autoreconf gettext gnome libarchive \ libtool pkgconfig python shebangfix sqlite:3 ssl USE_CXXSTD= c++11 USE_XORG= pixman @@ -54,6 +48,13 @@ USE_GNOME= atkmm cairo cairomm glibmm gtk20 gtkmm24 libsigc++20 libxml2 pangomm USE_LDCONFIG= ${PREFIX}/lib/pinot/backends ${PREFIX}/lib/pinot/filters SHEBANG_FILES= scripts/bash/*.sh +GNU_CONFIGURE= yes +CONFIGURE_ARGS= --with-http=curl --with-ssl=${OPENSSLBASE} --enable-libarchive \ + --enable-mempool=no --enable-libnotify +CONFIGURE_ENV= MKDIR_P="${MKDIR}" TEXTCAT_LIBS="-lexttextcat-2.0" +CPPFLAGS+= -I${LOCALBASE}/include +LIBS+= -L${LOCALBASE}/lib -lboost_system + OPTIONS_DEFINE= DEBUG CHMLIB DOCS OPTIONS_SUB= yes diff --git a/deskutils/pinot/files/patch-openssl b/deskutils/pinot/files/patch-openssl new file mode 100644 index 000000000000..fdf40344de12 --- /dev/null +++ b/deskutils/pinot/files/patch-openssl @@ -0,0 +1,102 @@ +Description: Catch up with current glib and OpenSSL +Author: FabriceColin <fabrice.colin@gmail.com> +Bug-Debian: https://bugs.debian.org/828503 +Forwarded: yes +Last-Update: 2018-06-14 + +diff --git Collect/DownloaderInterface.cpp Collect/DownloaderInterface.cpp +index 10f4f66..f084f50 100644 +--- Collect/DownloaderInterface.cpp ++++ Collect/DownloaderInterface.cpp +@@ -1,5 +1,5 @@ + /* +- * Copyright 2005-2008 Fabrice Colin ++ * Copyright 2005-2017 Fabrice Colin + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +@@ -33,7 +33,8 @@ using namespace std; + + #ifdef USE_SSL + // OpenSSL multi-thread support, required by Curl +-static pthread_mutex_t locksTable[CRYPTO_NUM_LOCKS]; ++static unsigned int g_lockArrayCount = 0; ++static pthread_mutex_t *g_pLockArray = NULL; + + // OpenSSL locking functiom + static void lockingCallback(int mode, int n, const char *file, int line) +@@ -42,7 +43,7 @@ static void lockingCallback(int mode, int n, const char *file, int line) + + if (mode & CRYPTO_LOCK) + { +- status = pthread_mutex_lock(&(locksTable[n])); ++ status = pthread_mutex_lock(&(g_pLockArray[n])); + #ifdef DEBUG + if (status != 0) + { +@@ -52,7 +53,7 @@ static void lockingCallback(int mode, int n, const char *file, int line) + } + else + { +- status = pthread_mutex_unlock(&(locksTable[n])); ++ status = pthread_mutex_unlock(&(g_pLockArray[n])); + #ifdef DEBUG + if (status != 0) + { +@@ -82,9 +83,15 @@ void DownloaderInterface::initialize(void) + pthread_mutexattr_settype(&mutexAttr, PTHREAD_MUTEX_ERRORCHECK); + + // Initialize the OpenSSL mutexes +- for (unsigned int lockNum = 0; lockNum < CRYPTO_NUM_LOCKS; ++lockNum) ++#ifdef CRYPTO_num_locks ++ g_lockArrayCount = CRYPTO_num_locks(); ++#else ++ g_lockArrayCount = CRYPTO_NUM_LOCKS; ++#endif ++ g_pLockArray = (pthread_mutex_t *)OPENSSL_malloc(g_lockArrayCount * sizeof(pthread_mutex_t)); ++ for (unsigned int lockNum = 0; lockNum < g_lockArrayCount; ++lockNum) + { +- pthread_mutex_init(&(locksTable[lockNum]), &mutexAttr); ++ pthread_mutex_init(&(g_pLockArray[lockNum]), &mutexAttr); + } + // Set the callbacks + CRYPTO_set_locking_callback(lockingCallback); +@@ -103,10 +110,13 @@ void DownloaderInterface::shutdown(void) + CRYPTO_set_locking_callback(NULL); + + // Free the mutexes +- for (unsigned int lockNum = 0; lockNum < CRYPTO_NUM_LOCKS; ++lockNum) ++ for (unsigned int lockNum = 0; lockNum < g_lockArrayCount; ++lockNum) + { +- pthread_mutex_destroy(&(locksTable[lockNum])); ++ pthread_mutex_destroy(&(g_pLockArray[lockNum])); + } ++ OPENSSL_free(g_pLockArray); ++ g_pLockArray = NULL; ++ g_lockArrayCount = 0; + #endif + } + +diff --git Utils/MIMEScanner.cpp Utils/MIMEScanner.cpp +index e02215c..50ceb3d 100644 +--- Utils/MIMEScanner.cpp ++++ Utils/MIMEScanner.cpp +@@ -1,5 +1,5 @@ + /* +- * Copyright 2005-2012 Fabrice Colin ++ * Copyright 2005-2017 Fabrice Colin + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +@@ -456,9 +456,10 @@ MIMEScanner::~MIMEScanner() + bool MIMEScanner::initialize(const string &userPrefix, const string &systemPrefix) + { + #ifdef USE_GIO ++#if !GLIB_CHECK_VERSION(2,35,0) + // Initialize the GType system + g_type_init(); +- ++#endif + return true; + #else + list<string> desktopFilesPaths; |