aboutsummaryrefslogtreecommitdiff
path: root/deskutils/pinot
diff options
context:
space:
mode:
authorThierry Thomas <thierry@FreeBSD.org>2018-10-15 20:28:08 +0000
committerThierry Thomas <thierry@FreeBSD.org>2018-10-15 20:28:08 +0000
commitc2cfd3107534e343c1d302bf7a04fb30680c960d (patch)
tree4063bd92af66de1ac805e778d0b437156d7aa0d8 /deskutils/pinot
parent79aca0a740b7871e3f2d7841c0a205781d35c3da (diff)
downloadports-c2cfd3107534e343c1d302bf7a04fb30680c960d.tar.gz
ports-c2cfd3107534e343c1d302bf7a04fb30680c960d.zip
Notes
Diffstat (limited to 'deskutils/pinot')
-rw-r--r--deskutils/pinot/Makefile19
-rw-r--r--deskutils/pinot/files/patch-openssl102
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;