From patchwork Sun Apr 2 20:26:29 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Danny Milosavljevic X-Patchwork-Id: 48950 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 9F3C917277; Sun, 2 Apr 2023 21:27:20 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-1.8 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id B311D170D6 for ; Sun, 2 Apr 2023 21:27:17 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pj4I3-0007EX-U8; Sun, 02 Apr 2023 16:27:04 -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 1pj4I2-0007EL-DX for guix-patches@gnu.org; Sun, 02 Apr 2023 16:27:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pj4I2-0002Np-54 for guix-patches@gnu.org; Sun, 02 Apr 2023 16:27:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pj4I2-0001aP-15 for guix-patches@gnu.org; Sun, 02 Apr 2023 16:27:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#62424] [PATCH] gnu: Add lazarus. Resent-From: Danny Milosavljevic Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 02 Apr 2023 20:27:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 62424 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: "(" Cc: 62424@debbugs.gnu.org Received: via spool by 62424-submit@debbugs.gnu.org id=B62424.16804672106078 (code B ref 62424); Sun, 02 Apr 2023 20:27:01 +0000 Received: (at 62424) by debbugs.gnu.org; 2 Apr 2023 20:26:50 +0000 Received: from localhost ([127.0.0.1]:42774 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pj4Hp-0001Zx-4K for submit@debbugs.gnu.org; Sun, 02 Apr 2023 16:26:49 -0400 Received: from dd30410.kasserver.com ([85.13.145.193]:35748) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pj4Hi-0001Zi-Tp for 62424@debbugs.gnu.org; Sun, 02 Apr 2023 16:26:47 -0400 Received: from localhost (84-115-230-178.cable.dynamic.surfer.at [84.115.230.178]) by dd30410.kasserver.com (Postfix) with ESMTPSA id C14851120247; Sun, 2 Apr 2023 22:26:40 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=scratchpost.org; s=kas202303142049; t=1680467201; bh=+B0gCdmsvlLQPnT7GErNEtycinCS0kXqzygkwj4ZLh0=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=pmWV6JbcCXl41I3wuVw+n/b4NMSMGIMz6JvjlIZaQT1H1FI9Y3iYf9n0NTcqJ9vKW T+6WRhC82MYoop176AOGM1Zv2pp4eQtCL/36DkSBlDLVqmhBbekBm8je6iXdnXCTho I5heDqrdcupFguxzdAPBx3ceUsVGh6TJMzoio81fIHBcMdtKAK/7FGvb0hb0sQ1GNl NmmHXlT28zxsXFsKyFO4jFuvHhKf7wt0EonNyP5CX6s+iKzDv0dA/jdymnFfJTiIMA XPDukaNBYMyFmlcE5zpUYbF/+h73W7v8BG7EkvAtiTZwbD8gq2KbsbAEwEDPZDsM5o e1ByKnb5lAeDw== Date: Sun, 2 Apr 2023 22:26:29 +0200 From: Danny Milosavljevic Message-ID: <20230402222629.0c397000@scratchpost.org> In-Reply-To: References: <20230323101604.17976-1-dannym@scratchpost.org> X-Mailer: Claws Mail 4.1.1 (GTK 3.24.30; x86_64-pc-linux-gnu) MIME-Version: 1.0 X-Spamd-Bar: -- 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+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches Hi, On Wed, 29 Mar 2023 20:26:00 +0100 "(" wrote: > Please make sure you use the new-ish LIST/GEXP style for ARGUMENTS; also >, much > of your modified BUILD phase could be replaced by modifying #:MAKE-FLAGS, That didn't work. I suspect it's because Guix is not actually setting the MAKEFLAGS environment variable and so the flags don't get inherited by submakes. Likewise with LAZARUS_LIBPATHS. > Note that I have not tested that this modification actually works, but I'd be > surprised if it didn't. It doesn't work. See attached patch for a halfway version in order to be able to try it out. diff --git a/gnu/packages/pascal.scm b/gnu/packages/pascal.scm index 4432327bee..4b63f1ac2d 100644 --- a/gnu/packages/pascal.scm +++ b/gnu/packages/pascal.scm @@ -295,19 +295,37 @@ (define-public lazarus "0hpk6fxmy1h1q0df41jg1vnp8g8vynrg5v5ad43lv229nizfs3wj")))) (build-system gnu-build-system) (arguments - `(#:tests? #f ; No tests exist + (list + #:tests? #f ; No tests exist + #:make-flags + #~(begin + (use-modules (srfi srfi-1)) + (let* ((lib-dirs + (list #$@(map (lambda (name) + (this-package-input name)) + '("glib" "gdk-pixbuf" "gtk+" + "libx11" "pango" "cairo" "atk")))) + (lib-flags + (fold (lambda (pkg flags) + (cons* (string-append "-Fl" pkg "/lib") + (string-append "-k-rpath=" pkg "/lib") + flags)) + '() + lib-dirs))) + (list (string-append "LAZARUS_LIBPATHS=" + (string-join lib-flags " ")) + (string-append "LHELP_OPT=" + (string-join lib-flags "\\ ")) + (string-append "INSTALL_PREFIX=" #$output)))) #:phases - (modify-phases %standard-phases + #~(modify-phases %standard-phases (delete 'configure) (replace 'build (lambda* (#:key inputs outputs #:allow-other-keys) - ;; RUNPATH -k-rpath= - ;; -Xr rlink-path - (let* ((libdirs - (map (lambda (x) - (assoc-ref inputs x)) - '("glib" "gdk-pixbuf" "gtk+" "libx11" - "libx11" "pango" "cairo" "atk"))) + (let* ((libdirs (map (lambda (x) + (assoc-ref inputs x)) + '("glib" "gdk-pixbuf" "gtk+" "libx11" + "libx11" "pango" "cairo" "atk"))) (libs (append (map (lambda (name) (string-append "-Fl" name "/lib")) @@ -316,12 +334,10 @@ (define-public lazarus (string-append "-k-rpath=" name "/lib")) libdirs)))) (setenv "LAZARUS_LIBPATHS" - (string-append ;"-XD " - (string-join libs " "))) + (string-join libs " ")) (setenv "MAKEFLAGS" (string-append "LHELP_OPT=" (string-join libs "\\ ")))) - (setenv "INSTALL_PREFIX" (assoc-ref outputs "out")) (invoke "make" "bigide")))))) (native-inputs (list fpc pkg-config)) @@ -331,266 +347,11 @@ (define-public lazarus (description "This package provides an integrated development environment for Pascal.") (home-page "https://www.lazarus-ide.org/") - ; asl2.0: lcl/interfaces/customdrawn/android/*, lcl/lcltaskdialog.pas - ; - ; CC-BY-SA-3: - ; components/onlinepackagemanager/images/*, lcl/lcltaskdialog.pas - ; - ; CC-BY-SA-4: images/icons/lazarus.svg, lcl/lcltaskdialog.pas - ; - ; Expat: components/aggpas/expat-pas/*, - ; examples/database/sqldbtutorial3/dbconfig.pas, - ; examples/database/tsqlscript/dbconfig.pas, - ; lcl/interfaces/customdrawn/android/egl.pas, lcl/themes.pas, - ; components/opengl/example/uglyfont.pas - ; - ; Freetype: - ; components/lazutils/lazfreetype.pas, components/lazutils/tt*.pas - ; - ; LGPL-2+: - ; components/chmhelp/lhelp/chmdataprovider.pas - ; components/chmhelp/lhelp/chmspecialparser.pas - ; components/customdrawn/customdrawnextras.pas - ; components/datetimectrls/* - ; components/dbexport/fpdataexporter.pp - ; components/dbexport/frmbaseconfigexport.pp - ; components/dbexport/frmexportprogress.pp - ; components/dbexport/frmselectexportformat.pp - ; components/dbexport/regdbexport.pp - ; components/fpdebug/fpimgreaderwinpetypes.pas - ; components/fpvectorial/htmlvectorialreader.pas - ; components/ideintf/actionseditor.pas - ; components/ideintf/actionseditorstd.pas - ; components/ideintf/baseideintf.pas - ; components/ideintf/dbpropedits.pas - ; components/ideintf/fieldseditor.pas - ; components/ideintf/idedialogs.pas - ; components/ideintf/ideexterntoolintf.pas - ; components/ideintf/ideutils.pas - ; components/ideintf/keyvalpropeditdlg.pas - ; components/ideintf/macrodefintf.pas - ; components/ideintf/macrointf.pas - ; components/ideintf/maskpropedit.pas - ; components/ideintf/newfield.pas - ; components/ideintf/toolbarintf.pas - ; components/ideintf/treeviewpropedit.pas - ; components/lazcontrols/checkboxthemed.pas - ; components/lazcontrols/dividerbevel.pas - ; components/lazcontrols/extendednotebook.pas - ; components/lazcontrols/listfilteredit.pas - ; components/lazcontrols/listviewfilteredit.pas - ; components/lazcontrols/lvlgraphctrl.pas - ; components/lazcontrols/treefilteredit.pas - ; components/lazreport/source/* - ; components/lazutils/asiancodepagefunctions.inc - ; components/lazutils/fpcadds.pas - ; components/lazutils/laz2_dom.pas - ; components/lazutils/laz2_xmlcfg.pas - ; components/lazutils/laz2_xmlread.pas - ; components/lazutils/laz2_xmlutils.pas - ; components/lazutils/laz2_xmlwrite.pas - ; components/lazutils/laz2_xpath.pas - ; components/lazutils/laz_xmlcfg.pas - ; components/lazutils/laz_xmlstreaming.pas - ; components/lazutils/lookupstringlist.pas - ; components/multithreadprocs/mtpcpu.pas - ; components/multithreadprocs/mtprocs.pas - ; components/multithreadprocs/mtputils.pas - ; components/opengl/glcocoanscontext.pas - ; components/paradox/regparadox.pp - ; components/printers/printer4lazstrconst.pas - ; components/sparta/dockedformeditor/source/* - ; components/sparta/generics/source/* - ; components/wiki/myfphttpclient.pp - ; examples/lpicustomdata/lpicustomdata.lpr - ; ide/findinfilesdlg.pas - ; ide/findreplacedialog.pp - ; ide/inputfiledialog.pas - ; ide/lazadvancedipc.pp - ; ide/patheditordlg.pas - ; ide/transfermacros.pp - ; ide/wordcompletion.pp - ; lcl/colorbox.pas - ; lcl/customdrawncontrols.pas - ; lcl/dbextctrls.pp - ; lcl/dbgrids.pas - ; lcl/forms/calcform.pas - ; lcl/forms/timepopup.pas - ; lcl/grids.pas - ; lcl/include/comboex.inc - ; lcl/include/controlconsts.inc - ; lcl/include/customflowpanel.inc - ; lcl/include/dbdateedit.inc - ; lcl/include/tiffimage.inc - ; lcl/interfacebase.pp - ; lcl/interfaces/cocoa/cocoacaret.pas - ; lcl/interfaces/cocoa/cocoawschecklst.pas - ; lcl/interfaces/cocoa/cocoawsspin.pas - ; lcl/interfaces/cocoa/cocoa_extra.pas - ; lcl/interfaces/customdrawn/customdrawn_winextra.pas - ; lcl/interfaces/gtk3/gtk3wsextdlgs.pp - ; lcl/interfaces/qt/qt45.pas - ; lcl/interfaces/qt/qtcaret.pas - ; lcl/interfaces/win32/win32extra.pas - ; lcl/interfaces/wince/winext.pas - ; lcl/lclunicodedata.pas - ; test/testresult-db/importtestresults.pp - ; test/testresult-db/teststr.pp - ; test/testresult-db/tresults.pp - ; tools/lazdatadesktop/ddfiles.pp - ; components/aarre/src/aarrepkglist.pas - ; components/activex/activexcontainer.pas - ; components/activex/lazactivexreg.pas - ; components/anchordocking/anchordocking.pas - ; components/anchordocking/anchordockoptionsdlg.pas - ; components/anchordocking/anchordockstorage.pas - ; components/anchordocking/anchordockstr.pas - ; components/anchordocking/design/registeranchordocking.pas - ; components/anchordocking/restoredebugger/mainunit.pas - ; components/cairocanvas/cairoprinter.pas - ; components/codetools/examples/sourcecloser.lpr - ; components/compilers/c/lazcstrconsts.pas - ; components/compilers/c/lazcutil.pas - ; components/datadict/ldd_consts.pas - ; components/dbexport/sdb_consts.pas - ; components/externhelp/externhelpfrm.pas - ; components/fpcunit/guitestrunner.pas - ; components/fpcunit/ide/fpcunitlazideintf.pas - ; components/fpcunit/ide/strtestcaseopts.pas - ; components/fppkg/src/fppkg_const.pas - ; components/fppkg/src/fppkg_details.pas - ; components/fppkg/src/fppkg_mainfrm.pas - ; components/fppkg/src/fppkg_optionsfrm.pas - ; components/fppkg/src/lazfppkgmanagerintf.pas - ; components/fpweb/fpideexteditorinsertfilenameunit.pas - ; components/fpweb/fpwebfieldsettagunit.pas - ; components/fpweb/fpwebhrefeditunit.pas - ; components/fpweb/fpwebhtmltaglegendunit.pas - ; components/fpweb/fpwebnewhtmlfileunit.pas - ; components/fpweb/fpwebnewhtmlformunit.pas - ; components/fpweb/fpwebnewhtmlimgunit.pas - ; components/fpweb/fpwebnewhtmlinputunit.pas - ; components/fpweb/fpwebnewhtmllistunit.pas - ; components/fpweb/fpwebnewhtmltableunit.pas - ; components/fpweb/fpwebnewhtmltagpreunit.pas - ; components/fpweb/fpwebnewhtmltagtdunit.pas - ; components/fpweb/fpwebnewhtmltagtrunit.pas - ; components/fpweb/fpwebselectoptionsunit.pas - ; components/fpweb/fpwebselecttagunit.pas - ; components/fpweb/lazweb.pp - ; components/fpweb/weblazideintf.pp - ; components/images/lazbmp.pas - ; components/images/lazjpg.pas - ; components/images/lazpng.pas - ; components/images/lazpnm.pas - ; components/images/laztga.pas - ; components/images/lazxpm.pas - ; components/lazreport/samples/editor/maincalleditor.pas - ; components/lazreport/source/addons/DialogControls/lrdbdialogcontrols.pas - ; components/lazreport/source/addons/DialogControls/lrdialogcontrols.pas - ; components/lazreport/source/addons/DialogControls/lrformstorage.pas - ; components/lazreport/source/addons/DialogControls/lrformstorageeditor.pas - ; components/lazreport/source/addons/lrFclPDFExport/lr_e_fclpdf.pas - ; components/lazreport/source/addons/lrFclPDFExport/lr_pdfexport.lpk - ; components/lazreport/source/addons/lrFclPDFExport/lrpdfexport.pas - ; components/lazreport/source/addons/lrOfficeImport/lrofficeimport.pas - ; components/lazreport/source/addons/lrOfficeImport/lrspreadsheetimportunit.pas - ; components/lazreport/source/fr3tolrf.pas - ; components/lazreport/source/lr_crossarray.pas - ; components/lazreport/source/lr_crosstab.pas - ; components/lazreport/source/lr_crosstabeditor.pas - ; components/lazreport/source/lr_fpc.pas - ; components/lazreport/source/lr_hyphen.pas - ; components/messagecomposer/messagecomposer.pas - ; components/mrumenu/mrumanager.pp - ; components/mrumenu/reglazmru.pp - ; components/multithreadprocs/examples/parallelloop1.lpr - ; components/plotfunction/exprplotpanel.pp - ; components/plotfunction/plotpanel.pp - ; components/synedit/design/synpropertyeditobjectlist.pas - ; components/vlc/lclvlc.pp - ; examples/androidlcl/sqlitejniandroid.pas - ; examples/cleandir/dircleaner.pp - ; examples/cleandir/frmlog.pp - ; examples/cleandir/frmmain.pp - ; examples/cleandir/svccleandirs.pp - ; examples/cleandir/svcmap.pp - ; examples/designnonlcl/mywidgetdesigner.pas - ; examples/designnonlcl/mywidgetset.pas - ; examples/exploremenu/frmexploremenu.pas - ; examples/gridexamples/columneditors/main.pas - ; examples/gridexamples/columneditors/stringgrideditor.lpr - ; ide/editortoolbarstatic.pas - ; ide/toolbarconfig.pas - ; lcl/comboex.pas - ; lcl/defaulttranslator.pas - ; lcl/interfaces/gtk3/gtk3bindings/lazpangocairo1.pas - ; lcl/lcltranslator.pas - ; tools/iconvtable.pas - ; tools/iconvtable_dbcs.pas - ; tools/lazdatadesktop/lazdatadeskstr.pas - ; tools/lplupdate.lpr - ; tools/updatemakefiles.lpr - ; lcl/lcltaskdialog.pas - - ; MPL-1.1: - ; components/synedit/synedithighlighter.pp - ; components/synedit/synedithighlighterfoldbase.pas - ; components/synedit/synhighlighterposition.pas - ; components/synunihighlighter/synuni.lpk - ; components/turbopower_ipro/ipanim.pas - ; components/turbopower_ipro/ipconst.pas - ; components/turbopower_ipro/ipdefct.inc - ; components/turbopower_ipro/ipdefine.inc - ; components/turbopower_ipro/ipfilebroker.pas - ; components/turbopower_ipro/iphtml.pas - ; components/turbopower_ipro/iphtmlpv.pas - ; components/turbopower_ipro/ipmsg.pas - ; components/turbopower_ipro/ipstrms.pas - ; components/turbopower_ipro/iputils.pas - ; lcl/interfaces/gtk3/gtk3bindings/lazcairo1.pas - - ; own_dwywwi_license: components/opengl/example/uglyfont.pas - ; I don't abandon the copyright, but you can use this code and the header - ; (uglyfont.cpp and uglyfont.h) for your product regardless of the purpose, - ; i.e., free or commercial, open source or proprietary. - ; - ; However, I do not take any responsibility for the consequence of using - ; this code and header. Please use on your own risks. - - ; pascalscript-zlib-like: - ; components/PascalScript/* - - ; public-domain: - ; components/fpdebug/macho.pas - ; lcl/images/btncalculator.png - ; lcl/images/btncalendar.png - ; lcl/images/btnfiltercancel.png - ; lcl/images/btnseldir.png - ; lcl/images/btnselfile.png - ; lcl/images/btntime.png - ; lcl/images/buttons/* - ; lcl/images/dbnavigator/* - ; lcl/images/dialogs/* - ; lcl/images/dock/lcl_dock_to_bottom.png - ; lcl/images/dock/lcl_dock_to_left.png - ; lcl/images/dock/lcl_dock_to_page.png - ; lcl/images/dock/lcl_dock_to_right.png - ; lcl/images/dock/lcl_dock_to_top.png - ; lcl/images/sortasc.png - ; lcl/images/sortdesc.png - ; lcl/images/wince/wincedialog_cancel.png - ; lcl/images/cursors/* - - ; seems-common: - ; components/aggpas/src/* - ; components/aggpas/image_transforms.txt - ; Permission to copy, use, modify, sell and distribute this software - ; is granted provided this copyright notice appears in all copies. - ; This software is provided "as is" without express or implied - ; warranty, and with no claim as to its suitability for any purpose. - - ; unlicense: examples/database/sqlite_encryption_pragma/unit1.pas - - ;; All the above. + ;; Some Android stuff is under asl2.0. Some artwork is under CC-BY-SA-3 + ;; or CC-BY-SA-4. + ;; Some components are under MIT expat. + ;; The Freetype components are under Freetype license. + ;; A lot of components are under LGPL-2+. + ;; synedit and turbopower_ipro are under MPL-1.1 + ;; PascalScript is under a zlib-like license. (license (list license:gpl2+ license:lgpl2.0+))))