From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2.migadu.com ([2001:41d0:403:58f0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms1.migadu.com with LMTPS id iHemJ4YAWWamKQEAe85BDQ:P1 (envelope-from ) for ; Fri, 31 May 2024 00:41:10 +0200 Received: from aspmx1.migadu.com ([2001:41d0:403:58f0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2.migadu.com with LMTPS id iHemJ4YAWWamKQEAe85BDQ (envelope-from ) for ; Fri, 31 May 2024 00:41:10 +0200 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=retrospec.tv header.s=fm3 header.b=THnz0fza; dkim=fail ("headers rsa verify failed") header.d=messagingengine.com header.s=fm1 header.b="W 8m53Q1"; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1717108870; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:resent-cc: resent-from:resent-sender:resent-message-id:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=PBLgPJ788Wl9N0ql10tN4mlQ/5XQnBCKHLQBtKeHVK0=; b=uRNoM7LMf4MmlzAyL2JOb+fZBKem5cp0c4ZI4xGnocBWdneQY7tyhJUymhMLXrvh3Wjt0I +pNcxDE1h8FvBSI9LhTeeswHcrGTnYhKUso7YA9oYNGEyDlkwhj5ha2hLsmk/E4/85sIfX So7Zw1aqPp43urfVb2E1xSfKSpAi+/c+zmaRBvD/uP6pWtALxiYRh9ujcjhPxRw0fDB3Dy X19RROfNEbUJr+plHwbCWnEpq2mLZq0g4/ycOVzAN9FBze+lU1v5443Inc4ujQkKb1XeYZ 2ogDHqRNVSf8qUqZKOpsApTkf5sYel070SJ7njklLzr+l3J5Wgklm2Rsv92uMw== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1717108870; a=rsa-sha256; cv=none; b=L0dAzl1RSdKY4SmzsIfZeKQZWMp8hANopgx3gim3yCv8pbX6S4On8tPFdsm9rF8hj0tz+q D7hj96ccCi2oucUFtgZ8kEDu9dzi5OkBANGhbgheNicv5lG1HE1Q88FOoVZLMrQpseK3DH Lm80Ey0gX1EzOSaP3XtZUNBKhVDIPM9EuU1Mm8fdDuipqjNzWI5m8MgiqAmg350IAUo6or 4Unq7TMouxy+uRR8s6D5c/Lfh6pAgcQfeTENdscULUpbSH4aklYiQ4aL/Zy3l3sjCL6a2j mUlgP31Tg1gReZtv6T+3QSqg1aTdfUQqtSBTZZTO3F6eQEDnNMHq9J8dPFRRvg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=retrospec.tv header.s=fm3 header.b=THnz0fza; dkim=fail ("headers rsa verify failed") header.d=messagingengine.com header.s=fm1 header.b="W 8m53Q1"; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 6392C649BE for ; Fri, 31 May 2024 00:41:10 +0200 (CEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sCoSA-0004MC-GV; Thu, 30 May 2024 18:40:58 -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 1sCoS4-0004Kb-CR for guix-patches@gnu.org; Thu, 30 May 2024 18:40:52 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sCoS4-0002lD-4q for guix-patches@gnu.org; Thu, 30 May 2024 18:40:52 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1sCoSE-0003NP-QS for guix-patches@gnu.org; Thu, 30 May 2024 18:41:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#71121] [PATCH v2 2/3] gnu: librewolf: Rebuild source tarball Resent-From: Ian Eure Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 30 May 2024 22:41:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 71121 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 71121@debbugs.gnu.org Cc: Ian Eure Received: via spool by 71121-submit@debbugs.gnu.org id=B71121.171710883712691 (code B ref 71121); Thu, 30 May 2024 22:41:02 +0000 Received: (at 71121) by debbugs.gnu.org; 30 May 2024 22:40:37 +0000 Received: from localhost ([127.0.0.1]:52763 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sCoRo-0003IR-UM for submit@debbugs.gnu.org; Thu, 30 May 2024 18:40:37 -0400 Received: from wfout1-smtp.messagingengine.com ([64.147.123.144]:51887) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sCoRc-0003FE-V4 for 71121@debbugs.gnu.org; Thu, 30 May 2024 18:40:31 -0400 Received: from compute2.internal (compute2.nyi.internal [10.202.2.46]) by mailfout.west.internal (Postfix) with ESMTP id 976671C00157; Thu, 30 May 2024 18:40:08 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute2.internal (MEProxy); Thu, 30 May 2024 18:40:08 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=retrospec.tv; h= cc:cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm3; t=1717108808; x=1717195208; bh=PBLgPJ788Wl9N0ql10tN4mlQ/5XQnBCKHLQBtKeHVK0=; b= THnz0fzagdATsbVojW6Gzf2UzkeugEQwbS2t+BM7/q0NbaB/jl7hUJd822kPwnyE w5epfnkKh5Jy5LV9KeGgIUg+atPsZPuw/hbUEzmkU9EKXe1CzCVXOu0bCqeLtYgE dYu5C4G9GaZ10aBpj2noK4D3tXQ1CHWk4jGs9khn6xyJP730X+q7ccbcQM/uitSR gnI6lrUC9CiHaPmxUwwGkaP5OHiYYkM3Ky0FGDepZkVPNVn6Gvdt1/5ZAUEa4wqp ZVv94ngC9aGt4GUzMRPbYQ1vJBOUzvCvb1NgUuvgFxZBy2gyluGwd5eqNgoGBjEb UuMeflMND5lAx2mKRufejw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1717108808; x= 1717195208; bh=PBLgPJ788Wl9N0ql10tN4mlQ/5XQnBCKHLQBtKeHVK0=; b=W 8m53Q13R5K/Fh5DwLT7lQsDfyU3VS0JtZC/xqxg5mW7wJ2ifbyh63wp/SS0xafBE ing+V8iu4VDznryo3w8cQxw/jEcTgTD1rbe9pxnyVy0ZZ3LfZNvrCZPUDsRyyDjz zz3pOtr3S7T63eYy8ejMowhvjP/KPG066AmA9pZR+lE1M6H5Gkg35PJlsQajz7gY cioS0D6V1eHZjf5y83fWG43hrLEPcX2abi0lsf3qy1SN3ODZNJsG8QuFF5wY0CN8 pg+XGdine0rDg6r93XTUGwS74UqtI95ABQ2Zo0C2phZ1Vvu4PWqRYnnvGjK/+/gf Fy0K8pexulhrZ4gfqxiiw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrvdekhedguddvucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpefhvfevufffkffojghfgggtgfesth ekredtredtjeenucfhrhhomhepkfgrnhcugfhurhgvuceoihgrnhesrhgvthhrohhsphgv tgdrthhvqeenucggtffrrghtthgvrhhnpedvieetveekkeeliefhtefftedvtefgvdegle efvdeigfettdejtddvffdvgfejudenucffohhmrghinhepmhhoiihilhhlrgdrohhrghdp tghouggvsggvrhhgrdhorhhgpdhsvggrrhgthhhfohigrdhorhhgpdhgihhtlhgrsgdrtg homhenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehi rghnsehrvghtrhhoshhpvggtrdhtvh X-ME-Proxy: Feedback-ID: id9014242:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 30 May 2024 18:40:07 -0400 (EDT) From: Ian Eure Date: Thu, 30 May 2024 15:39:50 -0700 Message-ID: <20240530223951.13474-2-ian@retrospec.tv> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20240530223951.13474-1-ian@retrospec.tv> References: <20240530223951.13474-1-ian@retrospec.tv> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: guix-patches-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Spam-Score: -1.45 X-Spam-Score: -1.45 X-Migadu-Queue-Id: 6392C649BE X-Migadu-Scanner: mx11.migadu.com X-TUID: dFvc6leURbTH * gnu/packages/librewolf.scm (librewolf): This patch removes an intermediate step in the build chain. The upstream source tarball is created with an automated build process, where Firefox sources are fetched, patched, and repacked. Rather than download the output of that process, as the package has been, it’s now replicated within the build process, similar to how IceCat works. Change-Id: I0f1c2a10252cbbff9b3b3140f6ea3a594df0c97b --- gnu/packages/librewolf.scm | 120 +++++++++++++++++++++++++++++++++---- 1 file changed, 108 insertions(+), 12 deletions(-) diff --git a/gnu/packages/librewolf.scm b/gnu/packages/librewolf.scm index fa83857c96..bb8bc8a283 100644 --- a/gnu/packages/librewolf.scm +++ b/gnu/packages/librewolf.scm @@ -40,10 +40,12 @@ (define-module (gnu packages librewolf) + #:use-module ((srfi srfi-1) #:hide (zip)) #:use-module (guix build-system gnu) #:use-module (guix build-system cargo) #:use-module (guix build-system trivial) #:use-module (guix download) + #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix gexp) #:use-module (guix packages) @@ -62,6 +64,7 @@ (define-module (gnu packages librewolf) #:use-module (gnu packages gl) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) + #:use-module (gnu packages gnuzilla) #:use-module (gnu packages gtk) #:use-module (gnu packages hunspell) #:use-module (gnu packages icu4c) @@ -81,6 +84,7 @@ (define-module (gnu packages librewolf) #:use-module (gnu packages pkg-config) #:use-module (gnu packages pulseaudio) #:use-module (gnu packages python) + #:use-module (gnu packages python-xyz) #:use-module (gnu packages rust) #:use-module (gnu packages rust-apps) #:use-module (gnu packages speech) @@ -89,6 +93,109 @@ (define-module (gnu packages librewolf) #:use-module (gnu packages xdisorg) #:use-module (gnu packages xorg)) +(define (firefox-source-origin version hash) + (origin + (method url-fetch) + (uri (string-append + "https://ftp.mozilla.org/pub/firefox/releases/" + version "/source/" "firefox-" version + ".source.tar.xz")) + (sha256 (base32 hash)))) + +(define (librewolf-source-origin version hash) + (origin + (method git-fetch) + (uri (git-reference + (url "https://codeberg.org/librewolf/source.git") + (commit version) + (recursive? #t))) + (file-name (git-file-name "librewolf-source" version)) + (sha256 (base32 hash)))) + +(define computed-origin-method (@@ (guix packages) computed-origin-method)) + +(define librewolf-source + (let* ((ff-src (firefox-source-origin "125.0.2" "16gpd6n52lshvkkha41z7xicggj64dw0qhr5gd07bcxsc4rmdl39")) + (version "125.0.2-1") + (lw-src (librewolf-source-origin version "17i36s2ny1pv3cz44w0gz48fy4vjfw6vp9jk21j62f5d3dl726x8"))) + + (origin + (method computed-origin-method) + (file-name (string-append "librewolf-" version ".source.tar.gz")) + (sha256 #f) + (uri + (delay + (with-imported-modules '((guix build utils)) + #~(begin + (use-modules (guix build utils)) + (set-path-environment-variable + "PATH" '("bin") + (list #+python + #+(canonical-package bash) + #+(canonical-package gnu-make) + #+(canonical-package coreutils) + #+(canonical-package findutils) + #+(canonical-package patch) + #+(canonical-package xz) + #+(canonical-package sed) + #+(canonical-package grep) + #+(canonical-package gzip) + #+(canonical-package tar))) + (set-path-environment-variable + "PYTHONPATH" + (list #+(format #f "lib/python~a/site-packages" + (version-major+minor + (package-version python)))) + '#+(cons python-jsonschema + (map second + (package-transitive-propagated-inputs + python-jsonschema)))) + + ;; Copy LibreWolf source into the build directory and make + ;; everything writable. + (copy-recursively #+lw-src ".") + (for-each make-file-writable (find-files ".")) + + ;; Patch Makefile to use the upstream source instead of downloading. + (substitute* '("Makefile") + (("^ff_source_tarball:=.*") + (string-append "ff_source_tarball:=" #+ff-src))) + + ;; Stage locales + (begin + (format #t "Staging locales...~%") + (force-output) + (mkdir "l10n-staging") + (with-directory-excursion "l10n-staging" + (for-each + (lambda (locale-dir) + (let ((locale + (string-drop (basename locale-dir) + (+ 32 ; length of hash + (string-length "-mozilla-locale-"))))) + (format #t " ~a~%" locale) + (force-output) + (copy-recursively locale-dir locale + #:log (%make-void-port "w")) + (for-each make-file-writable (find-files locale)) + (with-directory-excursion locale + (when (file-exists? ".hgtags") + (delete-file ".hgtags"))))) + '#+all-mozilla-locales))) + + ;; Patch build script to use staged locales. + (begin + (substitute* '("scripts/generate-locales.sh") + (("wget") "# wget") + (("unzip") "# unzip") + (("mv browser/locales/l10n/\\$1-\\*/") + "mv ../l10n-staging/$1/"))) + + ;; Run the build script + (invoke "make" "all") + (copy-file (string-append "librewolf-" #$version ".source.tar.gz") + #$output)))))))) + ;; Define the versions of rust needed to build librewolf, trying to match ;; upstream. See the file taskcluster/ci/toolchain/rust.yml at ;; https://searchfox.org under the particular firefox release, like @@ -104,18 +211,7 @@ (define-public librewolf (package (name "librewolf") (version "125.0.2-1") - (source - (origin - (method url-fetch) - - (uri (string-append "https://gitlab.com/api/v4/projects/32320088/" - "packages/generic/librewolf-source/" - version - "/librewolf-" - version - ".source.tar.gz")) - (sha256 - (base32 "09qzdaq9l01in9h4q14vyinjvvffycha2iyjqj5p4dd5jh6q5zma")))) + (source librewolf-source) (build-system gnu-build-system) (arguments (list -- 2.41.0