From nobody Mon Mar 9 07:04:00 2026 X-Original-To: dev-commits-ports-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fTp012dCJz6VJV9 for ; Mon, 09 Mar 2026 07:04:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fTp005w13z3Lnw for ; Mon, 09 Mar 2026 07:04:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773039840; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hGNp55tdaEAEgKVwvEsgVC3DM43aPyMwJMThMeHCCBY=; b=q1lgTrtULyHaATdvqhK1sACTNYPPLepc9Y02l39rnXxEDUeenI+5DXMq/7NybFL0GHtpst Wc9lFnZ3M1+ymmIzp2HVr0FN8ja/XHQu+5G5EcmAGbMm1TRevo7y8kxuRcsfHGlel0NX0e jpB+pkj0uLHmkxJSu8Q0pP9MAwLM4Zp1X3rtOq/u4QLRPvJVKtEdfQCv0/ayN34KfayZRg 4vtIiLwA0bSaa9RpdGt4VfDYTd/2uusqs2NAa7RZ4EZX5j48mYZ0cnDKVMHNjQD5KrBK5q kBg/iwZs61Nv2UPVwx/GcXZ/WVwFaKwYQ/At9pQHz1qM8UaOhZgtZ4+5KSuDPg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773039840; a=rsa-sha256; cv=none; b=mVBxuKAx8ZWhKNOnsgBrT4T56UEHnC8V0sFZSf22o5/MzId5CrL7FjMpAxyYKt9qFPvOmN hZTPSa1Up+YmbLTgRbhdhU1Nd2+LNJa7ZSLxqun8pQs6VS5B9zrqRnO27Y2hoLnW6PT4Oy 9oLXl3g1IYqe4v4gkxYUn0/elyG9j06hawL8xACBIfThP48OU7c5dzqdSPnwjym1eov6Jq 6kOGYwn9sqhtJfbkfZI57ggo1pt+o0GcMg9q7Mqf/NuXvflbgVZYQYkLVaZGkKnrsXZXCY YL3PNfyr5vfK9tmE7dy6PEBH5/clZOnD4ZdY3lKmioL/1LSl/DlGQh+Aq7VjjA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773039840; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hGNp55tdaEAEgKVwvEsgVC3DM43aPyMwJMThMeHCCBY=; b=asGS4jDBYpt1SackdiVtkY0vhnmlM7B6SlAUKPXIZB5vri3w7J1odPcoqo7xVQwEsGTDfH cSWGgIUZmkDlQFgc9gkFioDFSTUn5YsqHG285s3l4fNnDD8GtwZaXKyFUhzqDh1L+fyRZt 3YF+LjuC7TvvnFYBWWyMUG3sfzPBEWs1TbK1svaSTBSHthiC/1m7WWr7hmGnJCyWSP4dnI Wezd1EfYcewAqxk2HGV1lXhpyKL0cfGrV/tq620SarrR/LTsrsIk+rBPxlMaPZ3jpDTwXg BOm6eXf+zljCf71XAqU+8LFoF7O4YXjf3CK4uEiBleHc86V0AlbX+eooFA2zdA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fTp005WZ4zpj for ; Mon, 09 Mar 2026 07:04:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 25dc5 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 09 Mar 2026 07:04:00 +0000 To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Gleb Popov Subject: git: 98214c958ae1 - main - lang/ghc: Add patch fixing the semaphore-compat package List-Id: Commits to the main branch of the FreeBSD ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-ports-main@freebsd.org Sender: owner-dev-commits-ports-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: arrowd X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 98214c958ae1eb4c552dd9f446287395e337c076 Auto-Submitted: auto-generated Date: Mon, 09 Mar 2026 07:04:00 +0000 Message-Id: <69ae70e0.25dc5.2f60c415@gitrepo.freebsd.org> The branch main has been updated by arrowd: URL: https://cgit.FreeBSD.org/ports/commit/?id=98214c958ae1eb4c552dd9f446287395e337c076 commit 98214c958ae1eb4c552dd9f446287395e337c076 Author: Gleb Popov AuthorDate: 2026-03-08 19:47:05 +0000 Commit: Gleb Popov CommitDate: 2026-03-09 07:03:51 +0000 lang/ghc: Add patch fixing the semaphore-compat package --- lang/ghc/Makefile | 2 +- ...raries_semaphore-compat_src_System_Semaphore.hs | 44 ++++++++++++++++++++++ 2 files changed, 45 insertions(+), 1 deletion(-) diff --git a/lang/ghc/Makefile b/lang/ghc/Makefile index 2f7372af499e..bf68f31f513d 100644 --- a/lang/ghc/Makefile +++ b/lang/ghc/Makefile @@ -1,6 +1,6 @@ PORTNAME= ghc PORTVERSION= ${GHC_VERSION} -PORTREVISION?= 1 +PORTREVISION?= 2 CATEGORIES= lang haskell MASTER_SITES= https://www.haskell.org/ghc/dist/${PORTVERSION}/:source \ LOCAL/arrowd/:boot diff --git a/lang/ghc/files/patch-libraries_semaphore-compat_src_System_Semaphore.hs b/lang/ghc/files/patch-libraries_semaphore-compat_src_System_Semaphore.hs new file mode 100644 index 000000000000..75e3f07b62c5 --- /dev/null +++ b/lang/ghc/files/patch-libraries_semaphore-compat_src_System_Semaphore.hs @@ -0,0 +1,44 @@ +--- libraries/semaphore-compat/src/System/Semaphore.hs.orig 2025-09-10 16:05:58 UTC ++++ libraries/semaphore-compat/src/System/Semaphore.hs +@@ -138,7 +138,7 @@ create_sem sem_str init_toks = do + { Posix.semCreate = True + , Posix.semExclusive = True } + mb_sem <- MC.try @_ @MC.SomeException $ +- Posix.semOpen sem_str flags Posix.stdFileMode init_toks ++ Posix.semOpen (fixedUpName sem_str) flags Posix.stdFileMode init_toks + return $ case mb_sem of + Left err -> Left $ MC.throwM err + Right sem -> Right $ mk_sem sem +@@ -162,7 +162,7 @@ openSemaphore nm@(SemaphoreName sem_name) = do + flags = Posix.OpenSemFlags + { Posix.semCreate = False + , Posix.semExclusive = False } +- sem <- Posix.semOpen sem_name flags Posix.stdFileMode 0 ++ sem <- Posix.semOpen (fixedUpName sem_name) flags Posix.stdFileMode 0 + #endif + return $ + Semaphore +@@ -216,7 +216,7 @@ destroySemaphore sem = + #if defined(mingw32_HOST_OS) + Win32.closeHandle (Win32.semaphoreHandle $ semaphore sem) + #else +- Posix.semUnlink (getSemaphoreName $ semaphoreName sem) ++ Posix.semUnlink (fixedUpName $ getSemaphoreName $ semaphoreName sem) + #endif + + -- | Query the current semaphore value (how many tokens it has available). +@@ -351,3 +351,14 @@ random_strings = do + CClock t <- Posix.systemTime <$> Posix.getProcessTimes + #endif + return $ fmap ( \ i -> iToBase62 (i + fromIntegral t) ) (0 :| [1..]) ++ ++fixedUpName :: String -> String ++#if !defined(freebsd_HOST_OS) ++fixedUpName = id ++#else ++-- On FreeBSD the semaphore name has to start with '/' ++-- and not have any more '/' inside ++fixedUpName ('/':rest) = '/' : filter (/= '/') rest ++fixedUpName (notSlash:rest) = '/':notSlash:filter (/= '/') rest ++fixedUpName n = n ++#endif