From unknown Sat Jun 14 03:50:41 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#71862 <71862@debbugs.gnu.org> To: bug#71862 <71862@debbugs.gnu.org> Subject: Status: [PATCH] gnu: Add pharo. Reply-To: bug#71862 <71862@debbugs.gnu.org> Date: Sat, 14 Jun 2025 10:50:41 +0000 retitle 71862 [PATCH] gnu: Add pharo. reassign 71862 guix-patches submitter 71862 Jorge Acereda severity 71862 normal tag 71862 patch thanks From debbugs-submit-bounces@debbugs.gnu.org Sun Jun 30 14:54:36 2024 Received: (at submit) by debbugs.gnu.org; 30 Jun 2024 18:54:37 +0000 Received: from localhost ([127.0.0.1]:59111 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sNzh6-00021c-8D for submit@debbugs.gnu.org; Sun, 30 Jun 2024 14:54:36 -0400 Received: from lists.gnu.org ([209.51.188.17]:43642) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sNzh3-00021U-K2 for submit@debbugs.gnu.org; Sun, 30 Jun 2024 14:54:34 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sNzh3-0003Hc-AH for guix-patches@gnu.org; Sun, 30 Jun 2024 14:54:33 -0400 Received: from mail-wr1-x435.google.com ([2a00:1450:4864:20::435]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sNzh1-0004ia-9L for guix-patches@gnu.org; Sun, 30 Jun 2024 14:54:33 -0400 Received: by mail-wr1-x435.google.com with SMTP id ffacd0b85a97d-361785bfa71so1689302f8f.2 for ; Sun, 30 Jun 2024 11:54:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1719773669; x=1720378469; darn=gnu.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=ssxi12/wKuFA33owb+KxObZV2/sTKjlhgav8CSLDtZY=; b=UpUJGtrG9yspqVZkwUEO2THIGmSiVJ4FggMv4xDPltI1f34AOgrOfndmV1i5iZicq+ iKw5vM5i/JsMRcjuo3gpPTXIQg9Q7z/iQ+opuklaf6NWaYbiIy9dp5OkVhkGisdjx4Ko 4a68WJWKG3VEZCzMLvZjYoiCnCycPZNQATEjQikfy9Fi7dOMJeijKNE1vleFa0NBO02h Qrpye9TDhj+u8i31POoI5bBal0ijLzdTh0rOG3+qT9zbncBEh9E0ZfGlEANBamk26zfc CclKP9bTRosJwu+TC3x4z5AnAlm1vveuVTkcwOqEuIpOzrmrRpCpvrT5wP578+frJyDp lOAQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719773669; x=1720378469; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=ssxi12/wKuFA33owb+KxObZV2/sTKjlhgav8CSLDtZY=; b=iAi19PNbXYDQRQaP6gCVB+YK+KqrWTeV3Jlo3QdCnRr+wKPC8lWbgDgdOsYUtoA/n3 aku8NsZ9h1HhmaBh36UdVyy1X++0w1OUq62RFBXfE/pDBa4zOlB8Wj0l/fR4y+CJc9j3 fQ9i4k9mYy9zqSakAQtmhUG1XK54a+TRT4U7qvlvx4l09MVlMaVUF5lXSNiNS5mVFwwB 5T5VbaeM7YPqWK6wNCBhiXy2blq1jCL5sDnXjacYqT9EgQ0vepu/BRcewmJH5mkWS0RA I1pFNXh5lEzQyxXmOdb4t01qIJCUITcr5Y+it+9ARD5ac/u1T11ZfzXVahDdM5abCr1B Rn5w== X-Gm-Message-State: AOJu0YyhV+lq2nW0dgSrZI0+NaZcBqV8IDzDgUBNLx2GZ0AMRG35xOpz Jafz3Si1xlt+C7jDLKziuahzIY4yA+OCLMgdh7dTqnZxQ21pRhHUHoCZVA== X-Google-Smtp-Source: AGHT+IGatpiu1EJFt/gqniFkE5PemR58nc7FpD5aOrlYAU28YWdCJ74ROBZPfQMVop44H4Bh1Wzvdw== X-Received: by 2002:adf:f983:0:b0:354:e089:41ea with SMTP id ffacd0b85a97d-367757201fbmr2158665f8f.44.1719773669160; Sun, 30 Jun 2024 11:54:29 -0700 (PDT) Received: from localhost.localdomain ([91.247.175.110]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3675a0fb950sm8038047f8f.83.2024.06.30.11.54.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 30 Jun 2024 11:54:28 -0700 (PDT) From: Jorge Acereda To: guix-patches@gnu.org Subject: [PATCH] gnu: Add pharo. Date: Sun, 30 Jun 2024 20:53:33 +0200 Message-ID: <33ce0e5891298e45598489006595bd9bfc6d6685.1719773612.git.jacereda@gmail.com> X-Mailer: git-send-email 2.45.2 MIME-Version: 1.0 Content-Type: text/plain; charset=yes Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=2a00:1450:4864:20::435; envelope-from=jacereda@gmail.com; helo=mail-wr1-x435.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit Cc: Jorge Acereda X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) I didn't realize there's already an ongoing issue (69918) by Daniel Ziltener, but I had a 10.2.1 version floating around and I've updated it to 0.13.0. I won't have much time to work on this for a while, so anyone, feel free to grab bits if this isn't in good shape and resubmit. To test the VM, download a suitable image and run with: pharo --interactive Thanks, Jorge Acereda * gnu/packages/patches/pharo-install.patch (pharo): New variable. Change-Id: I1618103786c6e1a8a5df924d1b1b1dea22db80cd --- gnu/packages/patches/pharo-install.patch | 81 ++++++++++++++++++++++++ gnu/packages/smalltalk.scm | 67 ++++++++++++++++++++ 2 files changed, 148 insertions(+) create mode 100644 gnu/packages/patches/pharo-install.patch diff --git a/gnu/packages/patches/pharo-install.patch b/gnu/packages/patches/pharo-install.patch new file mode 100644 index 0000000000..cc9ce44780 --- /dev/null +++ b/gnu/packages/patches/pharo-install.patch @@ -0,0 +1,81 @@ +This patch just tweaks the cmake scripts to simplify the packaging. +Probably not worth contributing. + + +diff --git a/cmake/Linux.cmake b/cmake/Linux.cmake +index 0b6b9d7c4..cedc1b743 100644 +--- a/cmake/Linux.cmake ++++ b/cmake/Linux.cmake +@@ -1,4 +1,3 @@ +-set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wl,-rpath=.") + set(PHARO_BIN_LOCATION "default" CACHE STRING "The default location of the PHARO bin, used by the launch.sh.in") + + if(${PHARO_BIN_LOCATION} STREQUAL "default") +@@ -60,36 +59,29 @@ endmacro() + + + macro(configure_installables INSTALL_COMPONENT) +- set(CMAKE_INSTALL_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/build/dist") +- configure_file(${CMAKE_CURRENT_SOURCE_DIR}/packaging/linux/launch.sh.in +- ${CMAKE_CURRENT_BINARY_DIR}/build/packaging/linux/${VM_EXECUTABLE_NAME} @ONLY) +- configure_file(${CMAKE_CURRENT_SOURCE_DIR}/packaging/linux/bin/launch.sh.in +- ${CMAKE_CURRENT_BINARY_DIR}/build/packaging/linux/bin/${VM_EXECUTABLE_NAME} @ONLY) +- +- + install( +- DIRECTORY "${CMAKE_BINARY_DIR}/build/packaging/linux/" +- DESTINATION "./" ++ DIRECTORY "${CMAKE_BINARY_DIR}/build/vm/" ++ DESTINATION "bin" + USE_SOURCE_PERMISSIONS +- COMPONENT ${INSTALL_COMPONENT}) ++ COMPONENT ${INSTALL_COMPONENT} ++ FILES_MATCHING PATTERN pharo) + install( + DIRECTORY "${CMAKE_BINARY_DIR}/build/vm/" + DESTINATION "lib" + USE_SOURCE_PERMISSIONS +- COMPONENT ${INSTALL_COMPONENT}) +- install( +- DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/build/libffi/install/lib/" +- DESTINATION "lib" +- USE_SOURCE_PERMISSIONS +- COMPONENT ${INSTALL_COMPONENT} +- FILES_MATCHING PATTERN ${DYLIB_EXT}) +- +- +- install( +- DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/extracted/vm/include/unix/" +- DESTINATION include/pharovm +- COMPONENT include +- FILES_MATCHING PATTERN *.h) ++ COMPONENT ${INSTALL_COMPONENT} ++ FILES_MATCHING PATTERN *.so) ++ install( ++ DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/build/libffi/install/lib/" ++ DESTINATION "lib" ++ USE_SOURCE_PERMISSIONS ++ COMPONENT ${INSTALL_COMPONENT} ++ FILES_MATCHING PATTERN ${DYLIB_EXT}) ++ install( ++ DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/extracted/vm/include/unix/" ++ DESTINATION include/pharovm ++ COMPONENT include ++ FILES_MATCHING PATTERN *.h) + endmacro() + + macro(add_required_libs_per_platform) +diff --git a/macros.cmake b/macros.cmake +index 811e49687..53bb9133b 100644 +--- a/macros.cmake ++++ b/macros.cmake +@@ -14,9 +14,6 @@ endmacro() + + # Include a loose-dependency library in the project, but do not link it to the main library + macro(addIndependentLibraryWithRPATH NAME) +- SET(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE) +- set(CMAKE_INSTALL_RPATH ${PHARO_LIBRARY_PATH}) +- + add_library(${NAME} SHARED ${ARGN}) + set_target_properties(${NAME} PROPERTIES MACOSX_RPATH ON) + set_target_properties(${NAME} PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${LIBRARY_OUTPUT_DIRECTORY}) diff --git a/gnu/packages/smalltalk.scm b/gnu/packages/smalltalk.scm index 64146813d1..49b93963d6 100644 --- a/gnu/packages/smalltalk.scm +++ b/gnu/packages/smalltalk.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2016 Ludovic Courtès ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2021 Maxime Devos +;;; Copyright © 2024 Jorge Acereda ;;; ;;; This file is part of GNU Guix. ;;; @@ -27,23 +28,89 @@ (define-module (gnu packages smalltalk) #:use-module (guix download) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) + #:use-module (guix gexp) #:use-module (gnu packages) #:use-module (gnu packages assembly) #:use-module (gnu packages audio) #:use-module (gnu packages autotools) #:use-module (gnu packages base) + #:use-module (gnu packages bash) #:use-module (gnu packages compression) #:use-module (gnu packages fontutils) #:use-module (gnu packages gl) #:use-module (gnu packages glib) + #:use-module (gnu packages gtk) + #:use-module (gnu packages image) #:use-module (gnu packages libffi) #:use-module (gnu packages libsigsegv) #:use-module (gnu packages linux) #:use-module (gnu packages multiprecision) #:use-module (gnu packages pkg-config) #:use-module (gnu packages pulseaudio) + #:use-module (gnu packages sdl) + #:use-module (gnu packages tls) + #:use-module (gnu packages version-control) + #:use-module (gnu packages xdisorg) #:use-module (gnu packages xorg)) +(define-public pharo + (package + (name "pharo") + (version "10.3.0-ce15171") + (synopsis "Clean and innovative Smalltalk-inspired environment") + (source + (origin + (method url-fetch) + (uri (string-append "https://files.pharo.org/vm/pharo-spur64-headless/" + "Linux-x86_64/source/PharoVM-" version + "-Linux-x86_64-c-src.tar.gz")) + (sha256 + (base32 "07pkxn0pl3mkbjcfskw94xc8vs74l5lmbslj57xlq6vpz1207ab0")) + (patches (search-patches "./pharo-install.patch")))) + (build-system cmake-build-system) + (inputs (list bash-minimal + cairo + freetype + libffi + libgit2 + libpng + openssl + pixman + sdl2)) + (home-page "https://pharo.org") + (arguments + (list + #:configure-flags #~(list "-DGENERATED_SOURCE_DIR=." + "-DALWAYS_INTERACTIVE=ON" + "-DBUILD_IS_RELEASE=ON" + "-DGENERATE_SOURCES=OFF" + "-DBUILD_BUNDLE=OFF" + "-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON" + (string-append "-DCMAKE_BUILD_RPATH=" + #$output "/lib") + (string-append "-DPHARO_BIN_LOCATION=" + #$output "/bin") + (string-append "-DPHARO_LIBRARY_PATH=" + #$output "/lib")) + #:phases #~(modify-phases %standard-phases + (add-after 'install 'wrapper + (lambda* (#:key inputs outputs #:allow-other-keys) + (wrap-program (string-append (assoc-ref outputs "out") + "/bin/pharo") + `("LD_LIBRARY_PATH" ":" prefix + ,(map (lambda (name) + (string-append (assoc-ref inputs name) + "/lib")) + '("sdl2" "libgit2" "freetype" "cairo" + "pixman"))))))) + #:tests? #f)) + (description + "Pharo's goal is to deliver a clean, innovative, free open-source +Smalltalk-inspired environment. By providing a stable and small core +system, excellent dev tools, and maintained releases, Pharo is an +attractive platform to build and deploy mission critical applications.") + (license license:expat))) + (define-public smalltalk (package (name "smalltalk") base-commit: f3689976da3d23b0a73cf1733da04add5e1035ee prerequisite-patch-id: 5fde795662902a8e1c89f32da3570827179fa814 -- 2.45.2 From debbugs-submit-bounces@debbugs.gnu.org Sun Jun 30 14:56:45 2024 Received: (at submit) by debbugs.gnu.org; 30 Jun 2024 18:56:45 +0000 Received: from localhost ([127.0.0.1]:59119 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sNzjB-00025d-66 for submit@debbugs.gnu.org; Sun, 30 Jun 2024 14:56:45 -0400 Received: from lists.gnu.org ([209.51.188.17]:43894) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sNzj9-00025U-He for submit@debbugs.gnu.org; Sun, 30 Jun 2024 14:56:43 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sNzj9-0003f8-31 for guix-patches@gnu.org; Sun, 30 Jun 2024 14:56:43 -0400 Received: from mail-wr1-x433.google.com ([2a00:1450:4864:20::433]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sNzj7-0005FS-HF for guix-patches@gnu.org; Sun, 30 Jun 2024 14:56:42 -0400 Received: by mail-wr1-x433.google.com with SMTP id ffacd0b85a97d-364a3d5d901so1380666f8f.0 for ; Sun, 30 Jun 2024 11:56:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1719773800; x=1720378600; darn=gnu.org; h=content-transfer-encoding:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=gMKzKx7Bb5LU2jTMNDnhDpaTHtnFOhnSkN9tNYD7tr4=; b=FOI6KWqIWXJcEe+XHrLR+uR3vdpoa8ogchMmvLoAyXQZfKurAcynynuJ8q/W3C77AS /aodo9+Pr5/O2Ut/lsVCc04nssUEHt++zPfgadjoF1qeYruVkk1im/k8NWslMdEJQ1x8 EtSOejNlO3avLtxjp6tKZcvhc57nExdsOQI1R59pQORWFH72EoWk6iTvB9D9vrDX1tyJ bos9QAXpjQ1vSq3ihQv63ueVhjYd0waxkQZjir03Z39iyUGBQQsa7iOrt+kpzbHBuHA1 W4taNfyBfg2MOZNxy9D41pDuxkGug7CVZC/4x7R+uH4Nz1aG5iqcW9WwpWhfKwJvCruR FcVQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719773800; x=1720378600; h=content-transfer-encoding:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=gMKzKx7Bb5LU2jTMNDnhDpaTHtnFOhnSkN9tNYD7tr4=; b=HvcX2kL6LzkpUvDBcP76GEU3XAGgScivKnt5m5g31xj6tO/yp/5UeH7liEupFnsEL7 opYAwJ9XaPbJ6UkADkHmkWdbcfqwkd0SPpEk9Nz8A6dzW5BdGWuyNXfjc9kxPr5HX5CI 2msEUduH66WJVw6VD3hcEOXaeGwL/P46Ns6s/a+toE9kFJJXZDDzy86kqDaCznfTCWYX AaTybETJ0idSvb82dikLIAmIHtBT5hkmaAhtrU+34mAiCjEilbJNdr1z00tkklF6yXah CHTlqbtgAHXVnrVisxBwxAmZAMQVOEznz2OlOmhqnnsI39p09PYOsXwVd/TF/UM1dmuQ g0+Q== X-Gm-Message-State: AOJu0YykmmciQI6eeMgV4tBaf1Hz+she/a3tof1qAplSXjM0uyEKZTcr 839jwdkjmRLv5fu0t/r2s8LicyNwZwYGek4l3EvGJwpowH+CZ507ibkSi75g+uJ/btp0irgUMTB BFM0tmlaMZppX693A+cKBNhr3nL1NNA== X-Google-Smtp-Source: AGHT+IHwRPDht37kh1T9/wg9TU3nkNYGBr5o3c2AjHeHXUzb8pXmy388PQOd+1sJeYrnh0Z0cD2Wd0/3tZxWEwH5Z44= X-Received: by 2002:a05:6000:1f88:b0:366:ef25:de51 with SMTP id ffacd0b85a97d-367757244a0mr2951346f8f.49.1719773799796; Sun, 30 Jun 2024 11:56:39 -0700 (PDT) MIME-Version: 1.0 References: <33ce0e5891298e45598489006595bd9bfc6d6685.1719773612.git.jacereda@gmail.com> In-Reply-To: <33ce0e5891298e45598489006595bd9bfc6d6685.1719773612.git.jacereda@gmail.com> From: Jorge Acereda Date: Sun, 30 Jun 2024 21:06:11 +0200 Message-ID: Subject: Re: [PATCH] gnu: Add pharo. To: guix-patches@gnu.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=2a00:1450:4864:20::433; envelope-from=jacereda@gmail.com; helo=mail-wr1-x433.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) On Sun, Jun 30, 2024 at 8:54=E2=80=AFPM Jorge Acereda = wrote: > I had a 10.2.1 version floating around and I've updated it to 0.13.0 I mean 10.3.0.