Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 16 Oct 2022 22:14:47 GMT
From:      Yuri Victorovich <yuri@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: 00180663d1e1 - main - devel/juce: Add better workaround for broken ENVIRON(7) in shared libraries
Message-ID:  <202210162214.29GMElac008362@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=00180663d1e163f50dfae6916e9eac4c4192338d

commit 00180663d1e163f50dfae6916e9eac4c4192338d
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2022-10-16 22:11:00 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2022-10-16 22:14:45 +0000

    devel/juce: Add better workaround for broken ENVIRON(7) in shared libraries
    
    New workaround exactly mimics the effect of ENVIRON(7).
---
 devel/juce/Makefile                                     |  2 +-
 ...tch-modules_juce__core_native_juce__linux__Files.cpp | 17 ++++++++++++++---
 2 files changed, 15 insertions(+), 4 deletions(-)

diff --git a/devel/juce/Makefile b/devel/juce/Makefile
index 77cbb3a7987b..2ae237a153ac 100644
--- a/devel/juce/Makefile
+++ b/devel/juce/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	juce
 DISTVERSION=	7.0.2
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	devel
 
 PATCH_SITES=	https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
diff --git a/devel/juce/files/patch-modules_juce__core_native_juce__linux__Files.cpp b/devel/juce/files/patch-modules_juce__core_native_juce__linux__Files.cpp
index 707d077e2b20..085a1b166a93 100644
--- a/devel/juce/files/patch-modules_juce__core_native_juce__linux__Files.cpp
+++ b/devel/juce/files/patch-modules_juce__core_native_juce__linux__Files.cpp
@@ -1,13 +1,24 @@
 - workaround for https://reviews.freebsd.org/D30842
 
---- modules/juce_core/native/juce_linux_Files.cpp.orig	2022-10-16 19:17:29 UTC
+--- modules/juce_core/native/juce_linux_Files.cpp.orig	2022-08-15 18:29:17 UTC
 +++ modules/juce_core/native/juce_linux_Files.cpp
-@@ -229,7 +229,7 @@ bool Process::openDocument (const String& fileName, co
+@@ -21,7 +21,9 @@
+ */
+ 
+ #if JUCE_BSD
+-extern char** environ;
++//extern char** environ; // this is broken on FreeBSD, see https://reviews.freebsd.org/D30842
++#include <dlfcn.h>
++static char*** environ_ptr = (char***)dlsym(RTLD_DEFAULT, "environ"); // workaround for the above
+ #endif
+ 
+ namespace juce
+@@ -229,7 +231,7 @@ bool Process::openDocument (const String& fileName, co
          setsid();
  
          // Child process
 -        execve (argv[0], (char**) argv, environ);
-+        execv (argv[0], (char**) argv);
++        execve (argv[0], (char**) argv, *environ_ptr);
          exit (0);
      }
  



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202210162214.29GMElac008362>