This diff is from my series to update taglib to version 2. Patches
stoles form FreeBSD. Simple update gogglesmm-1.2.5. Tested on amd64. OK?

Cheers Rafael

diff --git a/audio/gogglesmm/Makefile b/audio/gogglesmm/Makefile
index 20b6bf9395d..6ae89dc1bad 100644
--- a/audio/gogglesmm/Makefile
+++ b/audio/gogglesmm/Makefile
@@ -1,7 +1,9 @@
 COMMENT =      music collection manager and player
-DISTNAME =     gogglesmm-0.12.7
-EXTRACT_SUFX = .tar.xz
-REVISION =     15
+
+GH_ACCOUNT =   gogglesmm
+GH_PROJECT =   gogglesmm
+GH_TAGNAME =   1.2.5
+
 CATEGORIES =   audio x11
 
 HOMEPAGE =     https://gogglesmm.github.io/
@@ -9,27 +11,37 @@ HOMEPAGE =   https://gogglesmm.github.io/
 # GPLv3+
 PERMIT_PACKAGE =               Yes
 
-WANTLIB += FOX-1.6 GL GLU X11 c dbus-1 expat intl m sqlite3 ${COMPILER_LIBCXX}
-WANTLIB += tag xine z
-
-SITES =                http://www.linklevel.net/distfiles/
+WANTLIB += ${COMPILER_LIBCXX} FLAC GL GLU ICE SM X11 Xcursor Xext
+WANTLIB += Xfixes Xft Xrandr Xrender bz2 c crypto dbus-1 epoxy
+WANTLIB += expat fontconfig freetype intl jpeg m ogg opus png
+WANTLIB += pulse sndio sqlite3 ssl tag tiff vorbis webp z
 
 COMPILER =     base-clang ports-gcc base-gcc
 
-LIB_DEPENDS =  audio/taglib \
+MODULES =      devel/cmake
+
+LIB_DEPENDS =  archivers/bzip2 \
+               audio/flac \
+               audio/libogg \
+               audio/libvorbis \
+               audio/opus \
+               audio/pulseaudio \
+               audio/taglib>=2.0.2 \
                databases/sqlite3 \
-               devel/fox \
-               multimedia/xine-lib \
+               devel/gettext,-runtime \
+               graphics/jpeg \
+               graphics/libwebp \
+               graphics/png \
+               graphics/tiff \
                x11/dbus
 
 RUN_DEPENDS =  devel/desktop-file-utils \
                x11/gtk+4,-guic
 
-CONFIGURE_ARGS =       --prefix=${PREFIX} \
-                       --with-md5=internal
-CONFIGURE_ENV =                LINK="${CXX}" LIBS=-lintl
-CONFIGURE_STYLE =      simple
-USE_GMAKE =            Yes
+CONFIGURE_ARGS=                -DCMAKE_INSTALL_PREFIX="${PREFIX}"
+
+CXXFLAGS +=            -I${LOCALBASE}/include -I${X11BASE}/include
+MODCMAKE_LDFLAGS =     -L${LOCALBASE}/lib -L${X11BASE}/lib
 
 NO_TEST =              Yes
 
diff --git a/audio/gogglesmm/distinfo b/audio/gogglesmm/distinfo
index cdc7ee53fb8..cce12e3c873 100644
--- a/audio/gogglesmm/distinfo
+++ b/audio/gogglesmm/distinfo
@@ -1,2 +1,2 @@
-SHA256 (gogglesmm-0.12.7.tar.xz) = zq7JprP0kpAa3FxKkzGo8uBcOOKS3RuPnjEhmyFcu/Q=
-SIZE (gogglesmm-0.12.7.tar.xz) = 344652
+SHA256 (gogglesmm-1.2.5.tar.gz) = +2ozRXqBWtZQqB97rVIz+YNkeXfkAcV8bTlvDeRBQoM=
+SIZE (gogglesmm-1.2.5.tar.gz) = 3174015
diff --git a/audio/gogglesmm/patches/patch-CMakeLists_txt 
b/audio/gogglesmm/patches/patch-CMakeLists_txt
new file mode 100644
index 00000000000..4409dfe2625
--- /dev/null
+++ b/audio/gogglesmm/patches/patch-CMakeLists_txt
@@ -0,0 +1,24 @@
+Index: CMakeLists.txt
+--- CMakeLists.txt.orig
++++ CMakeLists.txt
+@@ -69,6 +69,11 @@ if(HAS_CXX_OPTIMIZE_DEBUG AND CMAKE_BUILD_TYPE MATCHES
+   add_compile_options(-Og)
+ endif()
+ 
++CHECK_CXX_COMPILER_FLAG(-Wno-inconsistent-missing-override HAS_CXX_NOOVERRIDE)
++if(HAS_CXX_NOOVERRIDE AND NOT CMAKE_BUILD_TYPE MATCHES Debug)
++  add_compile_options(-Wno-inconsistent-missing-override)
++endif()
++
+ # FIXME Doesn't work on all platforms.
+ #CHECK_CXX_COMPILER_FLAG(-flto HAS_CXX_OPTIMIZE_LINKTIME)
+ if(HAS_CXX_OPTIMIZE_LINKTIME AND NOT CMAKE_BUILD_TYPE MATCHES Debug)
+@@ -110,7 +115,7 @@ install(FILES extra/gogglesmm_64.png DESTINATION share
+ install(FILES extra/gogglesmm.svg DESTINATION 
share/icons/hicolor/scalable/apps RENAME gogglesmm.svg)
+ install(FILES extra/gogglesmm.appdata.xml DESTINATION share/metainfo)
+ install(FILES extra/gogglesmm.desktop DESTINATION share/applications)
+-install(FILES extra/gogglesmm.1 DESTINATION share/man/man1)
++install(FILES extra/gogglesmm.1 DESTINATION man/man1)
+ 
+ # Install translations when native language support has been enabled
+ if(WITH_NLS)
diff --git a/audio/gogglesmm/patches/patch-Makefile 
b/audio/gogglesmm/patches/patch-Makefile
deleted file mode 100644
index 8c7276c0321..00000000000
--- a/audio/gogglesmm/patches/patch-Makefile
+++ /dev/null
@@ -1,54 +0,0 @@
---- Makefile.orig      Thu Feb  9 03:50:01 2012
-+++ Makefile   Wed May 15 09:21:54 2013
-@@ -16,6 +16,7 @@ include build/version
- .PHONY : all clean realclean cleanicons install install-desktop
- 
- INSTALL=install
-+MANDIR=$(PREFIX)/man
- 
- 
- # Convert to Platform specific names
-@@ -153,24 +154,33 @@ LINGUAS?=$(TRANSLATIONS)
- #----------------------------------------------------------
- install: $(BINNAME)
-       @echo "    Installing $(INSTALL_DIR)/bin/gogglesmm ..."
--      @$(INSTALL) -m 755 -D src/gogglesmm $(INSTALL_DIR)/bin/gogglesmm
-+      @$(BSD_INSTALL_PROGRAM) src/gogglesmm $(INSTALL_DIR)/bin/gogglesmm
-       @echo "    Installing 
$(INSTALL_DIR)/share/applications/gogglesmm.desktop"
--      @$(INSTALL) -m 644 -D extra/gogglesmm.desktop 
$(INSTALL_DIR)/share/applications/gogglesmm.desktop
-+      @$(BSD_INSTALL_DATA_DIR) $(INSTALL_DIR)/share/applications
-+      @$(BSD_INSTALL_DATA) extra/gogglesmm.desktop 
$(INSTALL_DIR)/share/applications/gogglesmm.desktop
-       @echo "    Installing Icons"
--      $(INSTALL) -m 644 -D icons/gogglesmm_16.png 
$(INSTALL_DIR)/share/icons/hicolor/16x16/apps/gogglesmm.png
--      $(INSTALL) -m 644 -D extra/gogglesmm_22.png 
$(INSTALL_DIR)/share/icons/hicolor/22x22/apps/gogglesmm.png
--      $(INSTALL) -m 644 -D extra/gogglesmm_24.png 
$(INSTALL_DIR)/share/icons/hicolor/24x24/apps/gogglesmm.png
--      $(INSTALL) -m 644 -D icons/gogglesmm_32.png 
$(INSTALL_DIR)/share/icons/hicolor/32x32/apps/gogglesmm.png
--      $(INSTALL) -m 644 -D extra/gogglesmm_48.png 
$(INSTALL_DIR)/share/icons/hicolor/48x48/apps/gogglesmm.png
--      $(INSTALL) -m 644 -D extra/gogglesmm.svg 
$(INSTALL_DIR)/share/icons/hicolor/scalable/apps/gogglesmm.svg
-+      @$(BSD_INSTALL_DATA_DIR) $(INSTALL_DIR)/share/icons/hicolor/16x16/apps/
-+      @$(BSD_INSTALL_DATA) icons/gogglesmm_16.png 
$(INSTALL_DIR)/share/icons/hicolor/16x16/apps/gogglesmm.png
-+      @$(BSD_INSTALL_DATA_DIR) $(INSTALL_DIR)/share/icons/hicolor/22x22/apps/
-+      @$(BSD_INSTALL_DATA) extra/gogglesmm_22.png 
$(INSTALL_DIR)/share/icons/hicolor/22x22/apps/gogglesmm.png
-+      @$(BSD_INSTALL_DATA_DIR) $(INSTALL_DIR)/share/icons/hicolor/24x24/apps/
-+      @$(BSD_INSTALL_DATA) extra/gogglesmm_24.png 
$(INSTALL_DIR)/share/icons/hicolor/24x24/apps/gogglesmm.png
-+      @$(BSD_INSTALL_DATA_DIR) $(INSTALL_DIR)/share/icons/hicolor/32x32/apps/
-+      @$(BSD_INSTALL_DATA) icons/gogglesmm_32.png 
$(INSTALL_DIR)/share/icons/hicolor/32x32/apps/gogglesmm.png
-+      @$(BSD_INSTALL_DATA_DIR) $(INSTALL_DIR)/share/icons/hicolor/48x48/apps/
-+      @$(BSD_INSTALL_DATA) extra/gogglesmm_48.png 
$(INSTALL_DIR)/share/icons/hicolor/48x48/apps/gogglesmm.png
-+      @$(BSD_INSTALL_DATA_DIR) 
$(INSTALL_DIR)/share/icons/hicolor/scalable/apps/
-+      @$(BSD_INSTALL_DATA) extra/gogglesmm.svg 
$(INSTALL_DIR)/share/icons/hicolor/scalable/apps/gogglesmm.svg
-       @echo "    Installing $(INSTALL_MANDIR)/man1/gogglesmm.1"
--      @$(INSTALL) -m 644 -D extra/gogglesmm.1 
$(INSTALL_MANDIR)/man1/gogglesmm.1
-+      @$(BSD_INSTALL_MAN_DIR) $(INSTALL_MANDIR)/man1/
-+      @$(BSD_INSTALL_MAN) extra/gogglesmm.1 $(INSTALL_MANDIR)/man1/gogglesmm.1
- ifneq (,$(findstring nls,$(OPTIONS)))
-       @echo "    Installing Translations"
-       @linguas='$(filter $(TRANSLATIONS),$(LINGUAS))'; \
-       for tr in $$linguas ; do \
-     echo "    Installing $(INSTALL_LOCALEDIR)/$$tr/LC_MESSAGES/gogglesmm.mo" 
;\
--      $(INSTALL) -m 644 -D po/$$tr.mo -T 
$(INSTALL_LOCALEDIR)/$$tr/LC_MESSAGES/gogglesmm.mo ; \
-+      $(BSD_INSTALL_DATA_DIR) $(INSTALL_LOCALEDIR)/$$tr/LC_MESSAGES/ ; \
-+      $(BSD_INSTALL_DATA) po/$$tr.mo 
$(INSTALL_LOCALEDIR)/$$tr/LC_MESSAGES/gogglesmm.mo ; \
-       done;
- endif
- 
diff --git a/audio/gogglesmm/patches/patch-cfox_include_FXObject_h 
b/audio/gogglesmm/patches/patch-cfox_include_FXObject_h
new file mode 100644
index 00000000000..b3f1d1e0bec
--- /dev/null
+++ b/audio/gogglesmm/patches/patch-cfox_include_FXObject_h
@@ -0,0 +1,14 @@
+Index: cfox/include/FXObject.h
+--- cfox/include/FXObject.h.orig
++++ cfox/include/FXObject.h
+@@ -25,6 +25,10 @@
+ #include "FXMetaClass.h"
+ #endif
+ 
++#ifndef FXMETACLASS_H
++#include "FXMetaClass.h"
++#endif
++
+ namespace FX {
+ 
+ 
diff --git a/audio/gogglesmm/patches/patch-cfox_include_fxendian_h 
b/audio/gogglesmm/patches/patch-cfox_include_fxendian_h
new file mode 100644
index 00000000000..0ad8d89f6f4
--- /dev/null
+++ b/audio/gogglesmm/patches/patch-cfox_include_fxendian_h
@@ -0,0 +1,48 @@
+Index: cfox/include/fxendian.h
+--- cfox/include/fxendian.h.orig
++++ cfox/include/fxendian.h
+@@ -62,44 +62,6 @@ static inline FXulong reverse64(FXulong x){
+   }
+ 
+ 
+-// Byte swap unsigned short
+-static inline FXushort swap16(FXushort x){
+-#if ((__GNUC__ >= 5) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 8)))
+-  return __builtin_bswap16(x);
+-#elif (_MSC_VER >= 1500)
+-  return _byteswap_ushort(x);
+-#else
+-  return (x>>8) | (x<<8);
+-#endif
+-  }
+-
+-
+-// Byte swap unsiged int
+-static inline FXuint swap32(FXuint x){
+-#if ((__GNUC__ >= 5) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 8)))
+-  return __builtin_bswap32(x);
+-#elif (_MSC_VER >= 1500)
+-  return _byteswap_ulong(x);
+-#else
+-  x=((x<<8)&0xFF00FF00)|((x>>8)&0x00FF00FF);
+-  return (x>>16)|(x<<16);
+-#endif
+-  }
+-
+-
+-// Byte swap unsigned long
+-static inline FXulong swap64(FXulong x){
+-#if ((__GNUC__ >= 5) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 8)))
+-  return __builtin_bswap64(x);
+-#elif (_MSC_VER >= 1500)
+-  return _byteswap_uint64(x);
+-#else
+-  x=((x<< 8)&FXULONG(0xFF00FF00FF00FF00))|((x>> 
8)&FXULONG(0x00FF00FF00FF00FF));
+-  
x=((x<<16)&FXULONG(0xFFFF0000FFFF0000))|((x>>16)&FXULONG(0x0000FFFF0000FFFF));
+-  return (x>>32)|(x<<32);
+-#endif
+-  }
+-
+ 
+ // Isolate least significant bit set
+ static inline FXuint lsb32(FXuint x){
diff --git a/audio/gogglesmm/patches/patch-cfox_include_fxmath_h 
b/audio/gogglesmm/patches/patch-cfox_include_fxmath_h
new file mode 100644
index 00000000000..cde12b5045d
--- /dev/null
+++ b/audio/gogglesmm/patches/patch-cfox_include_fxmath_h
@@ -0,0 +1,21 @@
+Index: cfox/include/fxmath.h
+--- cfox/include/fxmath.h.orig
++++ cfox/include/fxmath.h
+@@ -1002,7 +1002,7 @@ static inline FXdouble exp2(FXdouble x){
+ 
+ /// Single precision base 10 exponential
+ static inline FXfloat exp10(FXfloat x){
+-#if defined(NO_EXP10F)
++#if defined(NO_EXP10F) || defined(__OpenBSD__)
+   return Math::pow(10.0f,x);
+ #else
+   return ::exp10f(x);
+@@ -1012,7 +1012,7 @@ static inline FXfloat exp10(FXfloat x){
+ 
+ /// Double precision base 10 exponential
+ static inline FXdouble exp10(FXdouble x){
+-#if defined(NO_EXP10)
++#if defined(NO_EXP10) || defined(__OpenBSD__)
+   return Math::pow(10.0,x);
+ #else
+   return ::exp10(x);
diff --git a/audio/gogglesmm/patches/patch-cfox_lib_FXReadWriteLock_cpp 
b/audio/gogglesmm/patches/patch-cfox_lib_FXReadWriteLock_cpp
new file mode 100644
index 00000000000..ec27513fc88
--- /dev/null
+++ b/audio/gogglesmm/patches/patch-cfox_lib_FXReadWriteLock_cpp
@@ -0,0 +1,13 @@
+Index: cfox/lib/FXReadWriteLock.cpp
+--- cfox/lib/FXReadWriteLock.cpp.orig
++++ cfox/lib/FXReadWriteLock.cpp
+@@ -70,7 +70,9 @@ FXReadWriteLock::FXReadWriteLock(){
+   FXASSERT_STATIC(sizeof(data)>=sizeof(pthread_rwlock_t));
+   pthread_rwlockattr_t rwlockatt;
+   pthread_rwlockattr_init(&rwlockatt);
++#if defined(__GLIBC__)
+   pthread_rwlockattr_setkind_np(&rwlockatt,PTHREAD_RWLOCK_PREFER_WRITER_NP);
++#endif
+   pthread_rwlock_init((pthread_rwlock_t*)data,&rwlockatt);
+   pthread_rwlockattr_destroy(&rwlockatt);
+ #else
diff --git a/audio/gogglesmm/patches/patch-cfox_lib_FXSystemTime_cpp 
b/audio/gogglesmm/patches/patch-cfox_lib_FXSystemTime_cpp
new file mode 100644
index 00000000000..f11e794665d
--- /dev/null
+++ b/audio/gogglesmm/patches/patch-cfox_lib_FXSystemTime_cpp
@@ -0,0 +1,28 @@
+Index: cfox/lib/FXSystemTime.cpp
+--- cfox/lib/FXSystemTime.cpp.orig
++++ cfox/lib/FXSystemTime.cpp
+@@ -264,8 +264,11 @@ FXTime FXSystem::localTimeZoneOffset(){
+   setuplocaltimezone();
+ #if defined(WIN32)
+   return minutes*tzi.Bias;              // +minutes*tzi.StandardBias;
+-#elif defined(__FreeBSD__) || defined(__OpenBSD__)
+-  return 0;     // FIXME
++#elif defined(__FreeBSD__) && __FreeBSD_version < 1500015 || defined 
(__OpenBSD__)
++  struct tm tmresult;
++  time_t tmp=time(&tmp);
++  struct tm* ptm=localtime_r(&tmp,&tmresult);
++  return seconds*(-ptm->tm_gmtoff + ptm->tm_isdst*3600);
+ #else
+   return seconds*timezone;
+ #endif
+@@ -277,8 +280,8 @@ FXTime FXSystem::daylightSavingsOffset(){
+   setuplocaltimezone();
+ #if defined(WIN32)
+   return minutes*tzi.DaylightBias;      // Or difference between standard and 
daylight bias.
+-#elif defined(__FreeBSD__) || defined(__OpenBSD__)
+-  return 0;     // FIXME
++#elif defined(__FreeBSD__) && __FreeBSD_version < 1500015 || defined 
(__OpenBSD__)
++  return -hours*((tzname[1][0] == ' ') ? 0 : 1);
+ #else
+   return -hours*daylight;
+ #endif
diff --git a/audio/gogglesmm/patches/patch-cfox_lib_FXThread_cpp 
b/audio/gogglesmm/patches/patch-cfox_lib_FXThread_cpp
new file mode 100644
index 00000000000..f655d1ff9eb
--- /dev/null
+++ b/audio/gogglesmm/patches/patch-cfox_lib_FXThread_cpp
@@ -0,0 +1,47 @@
+Index: cfox/lib/FXThread.cpp
+--- cfox/lib/FXThread.cpp.orig
++++ cfox/lib/FXThread.cpp
+@@ -29,6 +29,12 @@
+ #include "FXAutoThreadStorageKey.h"
+ #include "FXThread.h"
+ 
++#if defined(__OpenBSD__)
++#include <pthread.h>
++#include <pthread_np.h>
++#endif
++
++
+ /*
+   Notes:
+ 
+@@ -994,9 +1000,12 @@ FXbool FXThread::description(const FXString& desc){
+     return 0<=fxSetThreadDescription((HANDLE)tid,udesc);
+ #elif defined(__APPLE__)
+     return pthread_setname_np(desc.text())==0;
+-#elif defined(__NetBSD__) || defined(__FreeBSD__) || defined(__OpenBSD__)
++#elif defined(__NetBSD__) || defined(__FreeBSD__)
+     pthread_setname_np((pthread_t)tid,desc.text());
+     return true;
++#elif defined(__OpenBSD__)
++    pthread_set_name_np((pthread_t)tid,desc.text());
++    return true;
+ #elif defined(HAVE_PTHREAD_SETNAME_NP)
+     return pthread_setname_np((pthread_t)tid,desc.text())==0;
+ #endif
+@@ -1021,11 +1030,15 @@ FXString FXThread::description() const {
+     if(pthread_getname_np(*((pthread_t*)&tid),desc,ARRAYNUMBER(desc))==0){
+       return desc;
+       }
+-#elif defined(__NetBSD__) || defined(__FreeBSD__) || defined(__OpenBSD__)
++#elif defined(__NetBSD__) || defined(__FreeBSD__)
+     FXchar desc[256];
+     if(pthread_getname_np((pthread_t)tid,desc,ARRAYNUMBER(desc))==0){
+       return desc;
+       }
++#elif defined(__OpenBSD__)
++    FXchar desc[256];
++    pthread_get_name_np((pthread_t)tid,desc,ARRAYNUMBER(desc));
++    return desc;
+ #elif defined(HAVE_PTHREAD_GETNAME_NP)
+     FXchar desc[256];
+     if(pthread_getname_np((pthread_t)tid,desc,ARRAYNUMBER(desc))==0){
diff --git a/audio/gogglesmm/patches/patch-gap_CMakeLists_txt 
b/audio/gogglesmm/patches/patch-gap_CMakeLists_txt
new file mode 100644
index 00000000000..d82bf0d9370
--- /dev/null
+++ b/audio/gogglesmm/patches/patch-gap_CMakeLists_txt
@@ -0,0 +1,12 @@
+Index: gap/CMakeLists.txt
+--- gap/CMakeLists.txt.orig
++++ gap/CMakeLists.txt
+@@ -242,7 +242,7 @@ else()
+   endif()
+ 
+   if(WITH_OPENSSL)
+-    pkg_check_modules(OPENSSL openssl>=1.0.1)
++    find_package(OpenSSL 1.0.1)
+   elseif(WITH_GNUTLS)
+     pkg_check_modules(GNUTLS gnutls>=3.4.0)
+   elseif(WITH_GCRYPT)
diff --git a/audio/gogglesmm/patches/patch-src_CMakeLists_txt 
b/audio/gogglesmm/patches/patch-src_CMakeLists_txt
new file mode 100644
index 00000000000..c88c892c890
--- /dev/null
+++ b/audio/gogglesmm/patches/patch-src_CMakeLists_txt
@@ -0,0 +1,19 @@
+Index: src/CMakeLists.txt
+--- src/CMakeLists.txt.orig
++++ src/CMakeLists.txt
+@@ -71,7 +71,7 @@ if(WITH_CFOX)
+   set(RESWRAP_CPP ${RESWRAP} --keep-ext --source --extern)
+   set(RESWRAP_TEXT ${RESWRAP} --keep-ext -t)
+ else()
+-  find_program(RESWRAP NAMES reswrap-1.7 reswrap fox-reswrap)
++  find_program(RESWRAP NAMES reswrap-1.7 reswrap fox-reswrap PATH_SUFFIXES 
fox-1.7)
+   if(RESWRAP)
+     message(STATUS "Found reswrap: ${RESWRAP}")
+     execute_process(COMMAND ${RESWRAP} -v OUTPUT_VARIABLE RESWRAP_OUTPUT)
+@@ -364,4 +364,4 @@ target_link_libraries(gogglesmm PRIVATE gap ${CFOX}
+                       ${ICE_LIBRARIES}
+                       ${Intl_LIBRARIES})
+ 
+-install(TARGETS gogglesmm RUNTIME DESTINATION bin)
+\ No newline at end of file
++install(TARGETS gogglesmm RUNTIME DESTINATION bin)
diff --git a/audio/gogglesmm/patches/patch-src_GMAbout_cpp 
b/audio/gogglesmm/patches/patch-src_GMAbout_cpp
deleted file mode 100644
index 978a33293ba..00000000000
--- a/audio/gogglesmm/patches/patch-src_GMAbout_cpp
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: src/GMAbout.cpp
---- src/GMAbout.cpp.orig
-+++ src/GMAbout.cpp
-@@ -89,7 +89,7 @@ void GMAboutDialog::setup(){
-                  "either version 3 of the License, or (at your\n"
-                  "option) any later version.";
- 
--  label = new 
FXLabel(this,"v"APPLICATION_VERSION_STRING,NULL,LAYOUT_CENTER_X|LAYOUT_FILL_X,0,0,0,0,5,5,0,5);
-+  label = new FXLabel(this,"v" 
APPLICATION_VERSION_STRING,NULL,LAYOUT_CENTER_X|LAYOUT_FILL_X,0,0,0,0,5,5,0,5);
-   label->setBackColor(FXRGB(255,255,255));
-   label->setTextColor(FXRGB(0,0,0));
- 
diff --git a/audio/gogglesmm/patches/patch-src_GMAudioScrobbler_cpp 
b/audio/gogglesmm/patches/patch-src_GMAudioScrobbler_cpp
deleted file mode 100644
index a1ac61bf85a..00000000000
--- a/audio/gogglesmm/patches/patch-src_GMAudioScrobbler_cpp
+++ /dev/null
@@ -1,105 +0,0 @@
-Index: src/GMAudioScrobbler.cpp
---- src/GMAudioScrobbler.cpp.orig
-+++ src/GMAudioScrobbler.cpp
-@@ -870,9 +870,9 @@ void GMAudioScrobbler::set_submit_failed() {
- void GMAudioScrobbler::create_token_request(FXString & request) {
-   FXMutexLock lock(mutex_data);
-   FXTRACE((60,"GMAudioScrobbler::create_token_request\n"));
--  FXString signature="api_key"CLIENT_KEY"methodauth.getToken"CLIENT_SECRET;
-+  FXString signature="api_key" CLIENT_KEY "methodauth.getToken" CLIENT_SECRET;
-   checksum(signature);
--  
request=GMStringFormat("method=auth.getToken&api_key="CLIENT_KEY"&api_sig=%s",signature.text());
-+  request=GMStringFormat("method=auth.getToken&api_key=" CLIENT_KEY 
"&api_sig=%s",signature.text());
-   flags&=~(FLAG_LOGIN_CHANGED);
-   }
- 
-@@ -885,7 +885,7 @@ void GMAudioScrobbler::process_token_response(const FX
-   if (service.parse(response) && service.getStatus()) {
-     token=service.getToken();
-     FXTRACE((60,"GMAudioScrobbler::process_token_response => 
token=%s\n",token.text()));
--    FXString 
url="http://www.last.fm/api/auth/?api_key="CLIENT_KEY"&token="+token;
-+    FXString url="http://www.last.fm/api/auth/?api_key="; CLIENT_KEY 
"&token="+token;
-     
feedback.message(target,FXSEL(SEL_OPENED,message),url.text(),url.length());
-     reset_timeout(); /// Reset timer
-     set_timeout();   /// Let's wait at least 60s
-@@ -911,7 +911,7 @@ FXuint GMAudioScrobbler::create_handshake_request(FXSt
-     FXString timestamp_text = GMStringVal(timestamp);
-     FXString tk = password + timestamp_text;
-     checksum(tk);
--    
request=GMStringFormat("/?hs=true&p=1.2&c="CLIENT_ID"&v="CLIENT_VERSION"&u=%s&t=%s&a=%s",username.text(),timestamp_text.text(),tk.text());
-+    request=GMStringFormat("/?hs=true&p=1.2&c=" CLIENT_ID "&v=" 
CLIENT_VERSION 
"&u=%s&t=%s&a=%s",username.text(),timestamp_text.text(),tk.text());
-     }
-   flags&=~(FLAG_LOGIN_CHANGED);
-   return mode;
-@@ -1047,7 +1047,7 @@ void GMAudioScrobbler::create_nowplaying_request(FXStr
-   FXTRACE((60,"GMAudioScrobbler::create_nowplaying_request\n"));
-   if (mode==SERVICE_LASTFM) {
-     FXString signature=GMStringFormat("album%s"
--                                      "api_key"CLIENT_KEY
-+                                      "api_key" CLIENT_KEY
-                                       "artist%s"
-                                       "duration%d"
-                                       "methodtrack.updateNowPlaying"
-@@ -1070,7 +1070,7 @@ void GMAudioScrobbler::create_nowplaying_request(FXStr
-                            "&album=%s"
-                            "&trackNumber=%d"
-                            "&duration=%d"
--                           "&api_key="CLIENT_KEY
-+                           "&api_key=" CLIENT_KEY
-                            "&api_sig=%s"
-                            "&sk=%s",
-                            gm_url_encode(nowplayingtrack.title).text(),
-@@ -1133,7 +1133,7 @@ void GMAudioScrobbler::create_submit_request(FXString 
-   if (mode==SERVICE_LASTFM) {
-     if (ntracks==1) {
-       signature=GMStringFormat("album[0]%s"
--                               "api_key"CLIENT_KEY
-+                               "api_key" CLIENT_KEY
-                                "artist[0]%s"
-                                "duration[0]%d"
-                                "methodtrack.scrobble"
-@@ -1155,7 +1155,7 @@ void GMAudioScrobbler::create_submit_request(FXString 
-       for (i=0;i<ntracks;i++)
-         
signature+=GMStringFormat("album[%d]%s",i,submitqueue[i].album.text());
- 
--      signature+="api_key"CLIENT_KEY;
-+      signature+="api_key" CLIENT_KEY;
- 
-       for (i=0;i<ntracks;i++)
-         
signature+=GMStringFormat("artist[%d]%s",i,submitqueue[i].artist.text());
-@@ -1189,7 +1189,7 @@ void GMAudioScrobbler::create_submit_request(FXString 
-       for (;s<10;s++)
-         
signature+=GMStringFormat("album[%d]%s",s,submitqueue[s].album.text());
- 
--      signature+="api_key"CLIENT_KEY;
-+      signature+="api_key" CLIENT_KEY;
- 
-       /// artists
-       for (s=0,i=10;i<ntracks;i++){
-@@ -1271,7 +1271,7 @@ void GMAudioScrobbler::create_submit_request(FXString 
-                               i,submitqueue[i].no,
-                               i,submitqueue[i].duration);
-       }
--    
request+=GMStringFormat("&api_key="CLIENT_KEY"&api_sig=%s&sk=%s",signature.text(),session.text());
-+    request+=GMStringFormat("&api_key=" CLIENT_KEY 
"&api_sig=%s&sk=%s",signature.text(),session.text());
-     }
-   else {
-     request+="s=";
-@@ -1357,7 +1357,7 @@ void GMAudioScrobbler::create_loveban_request(FXString
-   FXTRACE((60,"GMAudioScrobbler::create_loveban_request\n"));
-   FXASSERT(mode==SERVICE_LASTFM);
- 
--  FXString signature=GMStringFormat("api_key"CLIENT_KEY
-+  FXString signature=GMStringFormat("api_key" CLIENT_KEY
-                            "artist%s"
-                            "methodtrack.love" //methodtrack.ban
-                            "sk%s"
-@@ -1372,7 +1372,7 @@ void GMAudioScrobbler::create_loveban_request(FXString
-   request=GMStringFormat("method=track.love" ////method=track.ban
-                          "&track=%s"
-                          "&artist=%s"
--                         "&api_key="CLIENT_KEY
-+                         "&api_key=" CLIENT_KEY
-                          "&api_sig=%s"
-                          "&sk=%s",
-                          gm_url_encode(submitqueue[0].title).text(),
diff --git a/audio/gogglesmm/patches/patch-src_GMTrayIcon_cpp 
b/audio/gogglesmm/patches/patch-src_GMTrayIcon_cpp
new file mode 100644
index 00000000000..764b1ba42d0
--- /dev/null
+++ b/audio/gogglesmm/patches/patch-src_GMTrayIcon_cpp
@@ -0,0 +1,61 @@
+Index: src/GMTrayIcon.cpp
+--- src/GMTrayIcon.cpp.orig
++++ src/GMTrayIcon.cpp
+@@ -81,17 +81,17 @@ void GMTrayIcon::updateIcon() {
+ 
+     /// Update
+     if (size<=16) {
+-      icon = new FXPNGIcon(getApp(),gogglesmm_16_png,0,opaque ? IMAGE_OPAQUE 
: 0);
++      icon = new FXPNGIcon(getApp(),gogglesmm_16_png,0,IMAGE_ALPHAGUESS);
+       icon->setVisual(getVisual());
+       if (size!=16) icon->scale(size,size,FOX_SCALE_BEST);
+       }
+     else {
+-      icon = new FXPNGIcon(getApp(),gogglesmm_32_png,0,opaque ? IMAGE_OPAQUE 
: 0);
++      icon = new FXPNGIcon(getApp(),gogglesmm_32_png,0,IMAGE_ALPHAGUESS);
+       icon->setVisual(getVisual());
+       if (size!=32) icon->scale(size,size,FOX_SCALE_BEST);
+       }
+ 
+-    icon->blend(GMPlayerManager::instance()->getPreferences().gui_tray_color);
++    
//icon->blend(GMPlayerManager::instance()->getPreferences().gui_tray_color);
+     icon->create();
+ 
+     // Mark Dirty
+@@ -230,14 +230,9 @@ void GMTrayIcon::create(){
+ 
+ void GMTrayIcon::dock() {
+   if (findSystemTray()){
+-    FXuint trayid = getTrayVisual();
+-    if (trayid) {
+-      if (trayid!=XVisualIDFromVisual((Visual*)getVisual()->getVisual()))
+-        opaque=true;
+-      else
+-        opaque=false;
+-      }
+ 
++    opaque=false;
++
+     if (!opaque) {
+       /// Don't draw the background
+       XSetWindowAttributes sattr;
+@@ -276,16 +271,16 @@ long GMTrayIcon::onConfigure(FXObject*,FXSelector,void
+ 
+   if (icon==nullptr) {
+     if (size<=16) {
+-      icon = new FXPNGIcon(getApp(),gogglesmm_16_png,0,opaque ? IMAGE_OPAQUE 
: 0);
++      icon = new FXPNGIcon(getApp(),gogglesmm_16_png,0,IMAGE_ALPHAGUESS);
+       icon->setVisual(getVisual());
+       if (size!=16) icon->scale(size,size,FOX_SCALE_BEST);
+       }
+     else {
+-      icon = new FXPNGIcon(getApp(),gogglesmm_32_png,0,opaque ? IMAGE_OPAQUE 
: 0);
++      icon = new FXPNGIcon(getApp(),gogglesmm_32_png,0,IMAGE_ALPHAGUESS);
+       icon->setVisual(getVisual());
+       if (size!=32) icon->scale(size,size,FOX_SCALE_BEST);
+       }
+-    icon->blend(GMPlayerManager::instance()->getPreferences().gui_tray_color);
++    
//icon->blend(GMPlayerManager::instance()->getPreferences().gui_tray_color);
+     icon->create();
+     }
+   return 1;
diff --git a/audio/gogglesmm/pkg/PLIST b/audio/gogglesmm/pkg/PLIST
index de7f247af2f..7df1dca49a3 100644
--- a/audio/gogglesmm/pkg/PLIST
+++ b/audio/gogglesmm/pkg/PLIST
@@ -1,4 +1,9 @@
 @bin bin/gogglesmm
+lib/gogglesmm/
+@so lib/gogglesmm/libgap_oss.so
+@so lib/gogglesmm/libgap_pulse.so
+@so lib/gogglesmm/libgap_sndio.so
+@so lib/gogglesmm/libgap_wav.so
 @man man/man1/gogglesmm.1
 share/applications/gogglesmm.desktop
 share/icons/hicolor/16x16/apps/gogglesmm.png
@@ -6,13 +11,16 @@ share/icons/hicolor/22x22/apps/gogglesmm.png
 share/icons/hicolor/24x24/apps/gogglesmm.png
 share/icons/hicolor/32x32/apps/gogglesmm.png
 share/icons/hicolor/48x48/apps/gogglesmm.png
+share/icons/hicolor/64x64/apps/gogglesmm.png
 share/icons/hicolor/scalable/apps/gogglesmm.svg
-share/locale/cs/LC_MESSAGES/gogglesmm.mo
 share/locale/de/LC_MESSAGES/gogglesmm.mo
 share/locale/es/LC_MESSAGES/gogglesmm.mo
 share/locale/fr/LC_MESSAGES/gogglesmm.mo
 share/locale/hu/LC_MESSAGES/gogglesmm.mo
+share/locale/ko/LC_MESSAGES/gogglesmm.mo
 share/locale/pt/LC_MESSAGES/gogglesmm.mo
 share/locale/ru/LC_MESSAGES/gogglesmm.mo
+share/metainfo/
+share/metainfo/gogglesmm.appdata.xml
 @tag gtk-update-icon-cache %D/share/icons/hicolor
 @tag update-desktop-database

Reply via email to