[PATCH] gnu: Add lazarus.

  • Done
  • quality assurance status badge
Details
3 participants
  • dannym
  • Maxim Cournoyer
  • (
Owner
unassigned
Submitted by
dannym
Severity
normal

Debbugs page

dannym wrote 2 years ago
(address . guix-patches@gnu.org)(name . Danny Milosavljevic)(address . dannym@scratchpost.org)
20230323101604.17976-1-dannym@scratchpost.org
From: Danny Milosavljevic <dannym@scratchpost.org>

* gnu/packages/pascal.scm (lazarus): Add variable.
---
gnu/packages/pascal.scm | 324 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 324 insertions(+)

Toggle diff (351 lines)
diff --git a/gnu/packages/pascal.scm b/gnu/packages/pascal.scm
index f563f077dc..4432327bee 100644
--- a/gnu/packages/pascal.scm
+++ b/gnu/packages/pascal.scm
@@ -24,6 +24,7 @@ (define-module (gnu packages pascal)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix git-download)
#:use-module (guix gexp)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
@@ -32,9 +33,13 @@ (define-module (gnu packages pascal)
#:use-module (gnu packages bootstrap)
#:use-module (gnu packages compression)
#:use-module (gnu packages gcc)
+ #:use-module (gnu packages glib)
+ #:use-module (gnu packages gtk)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages perl)
+ #:use-module (gnu packages pkg-config)
#:use-module (gnu packages xml)
+ #:use-module (gnu packages xorg)
#:use-module (ice-9 match))
(define %fpc-version "3.2.2")
@@ -270,3 +275,322 @@ (define-public p2c
Pascal programs.")
(home-page "http://users.fred.net/tds/lab/p2c/")
(license license:gpl2+)))
+
+(define-public lazarus
+ (package
+ (name "lazarus")
+ (version "2.2.6")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url
+ "https://gitlab.com/freepascal.org/lazarus/lazarus.git")
+ (commit (string-append "lazarus_"
+ (string-join
+ (string-split version #\.)
+ "_")))))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "0hpk6fxmy1h1q0df41jg1vnp8g8vynrg5v5ad43lv229nizfs3wj"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; No tests exist
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'build
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ ;; RUNPATH -k-rpath=
+ ;; -Xr<x> rlink-path
+ (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"))
+ libdirs)
+ (map (lambda (name)
+ (string-append "-k-rpath=" name "/lib"))
+ libdirs))))
+ (setenv "LAZARUS_LIBPATHS"
+ (string-append ;"-XD "
+ (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))
+ (inputs
+ (list glib gdk-pixbuf gtk+-2 libx11 pango cairo atk))
+ (synopsis "Integrated development environment for Pascal")
+ (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.
+ (license (list license:gpl2+ license:lgpl2.0+))))
--
2.39.2
Maxim Cournoyer wrote 2 years ago
(address . dannym@scratchpost.org)(address . 62424@debbugs.gnu.org)
87355n2xmz.fsf@gmail.com
Hi Danny!

dannym@scratchpost.org writes:

Toggle quote (66 lines)
> From: Danny Milosavljevic <dannym@scratchpost.org>
>
> * gnu/packages/pascal.scm (lazarus): Add variable.
> ---
> gnu/packages/pascal.scm | 324 ++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 324 insertions(+)
>
> diff --git a/gnu/packages/pascal.scm b/gnu/packages/pascal.scm
> index f563f077dc..4432327bee 100644
> --- a/gnu/packages/pascal.scm
> +++ b/gnu/packages/pascal.scm
> @@ -24,6 +24,7 @@ (define-module (gnu packages pascal)
> #:use-module ((guix licenses) #:prefix license:)
> #:use-module (guix packages)
> #:use-module (guix download)
> + #:use-module (guix git-download)
> #:use-module (guix gexp)
> #:use-module (guix utils)
> #:use-module (guix build-system gnu)
> @@ -32,9 +33,13 @@ (define-module (gnu packages pascal)
> #:use-module (gnu packages bootstrap)
> #:use-module (gnu packages compression)
> #:use-module (gnu packages gcc)
> + #:use-module (gnu packages glib)
> + #:use-module (gnu packages gtk)
> #:use-module (gnu packages ncurses)
> #:use-module (gnu packages perl)
> + #:use-module (gnu packages pkg-config)
> #:use-module (gnu packages xml)
> + #:use-module (gnu packages xorg)
> #:use-module (ice-9 match))
>
> (define %fpc-version "3.2.2")
> @@ -270,3 +275,322 @@ (define-public p2c
> Pascal programs.")
> (home-page "http://users.fred.net/tds/lab/p2c/")
> (license license:gpl2+)))
> +
> +(define-public lazarus
> + (package
> + (name "lazarus")
> + (version "2.2.6")
> + (source (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url
> + "https://gitlab.com/freepascal.org/lazarus/lazarus.git")
> + (commit (string-append "lazarus_"
> + (string-join
> + (string-split version #\.)
> + "_")))))
> + (file-name (string-append name "-" version "-checkout"))
> + (sha256
> + (base32
> + "0hpk6fxmy1h1q0df41jg1vnp8g8vynrg5v5ad43lv229nizfs3wj"))))
> + (build-system gnu-build-system)
> + (arguments
> + `(#:tests? #f ; No tests exist
> + #:phases
> + (modify-phases %standard-phases
> + (delete 'configure)
> + (replace 'build
> + (lambda* (#:key inputs outputs #:allow-other-keys)
> + ;; RUNPATH -k-rpath=
> + ;; -Xr<x> rlink-path

Seems like leftovers.

Toggle quote (6 lines)
> + (let* ((libdirs
> + (map (lambda (x)
> + (assoc-ref inputs x))
> + '("glib" "gdk-pixbuf" "gtk+" "libx11"
> + "libx11" "pango" "cairo" "atk")))

Nitpick: the map could be to the right of libdirs.

Toggle quote (10 lines)
> + (libs (append
> + (map (lambda (name)
> + (string-append "-Fl" name "/lib"))
> + libdirs)
> + (map (lambda (name)
> + (string-append "-k-rpath=" name "/lib"))
> + libdirs))))
> + (setenv "LAZARUS_LIBPATHS"
> + (string-append ;"-XD "

Leftovers.

Toggle quote (11 lines)
> + (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))
> + (inputs
> + (list glib gdk-pixbuf gtk+-2 libx11 pango cairo atk))

Can't it use GTK 3 at least? GTK 2 is on the way out...

Toggle quote (265 lines)
> + (synopsis "Integrated development environment for Pascal")
> + (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

That's an impressive listing, but I'd rather a worded summary instead,
which is less likely to bitrot/easier to maintain.

Toggle quote (3 lines)
> + ;; All the above.
> + (license (list license:gpl2+ license:lgpl2.0+))))

Could you please send a v2 with the above taken into account? Thank
you!

--
Thanks,
Maxim
( wrote 2 years ago
Re: [bug#62424] [PATCH] gnu: Add lazarus.
CRJ43ZL98OHJ.RNA86541QQ2X@guix-framework
Heya,

Adding on to what Maxim said:

On Thu Mar 23, 2023 at 10:16 AM GMT, wrote:
Toggle quote (30 lines)
> + (arguments
> + `(#:tests? #f ; No tests exist
> + #:phases
> + (modify-phases %standard-phases
> + (delete 'configure)
> + (replace 'build
> + (lambda* (#:key inputs outputs #:allow-other-keys)
> + ;; RUNPATH -k-rpath=
> + ;; -Xr<x> rlink-path
> + (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"))
> + libdirs)
> + (map (lambda (name)
> + (string-append "-k-rpath=" name "/lib"))
> + libdirs))))
> + (setenv "LAZARUS_LIBPATHS"
> + (string-append ;"-XD "
> + (string-join libs " ")))
> + (setenv "MAKEFLAGS"
> + (string-append "LHELP_OPT="
> + (string-join libs "\\ "))))
> + (setenv "INSTALL_PREFIX" (assoc-ref outputs "out"))
> + (invoke "make" "bigide"))))))

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, and
LIBS could be generated in a much simpler way with FOLD from (SRFI SRFI-1):

---
Toggle quote (26 lines)
> + (arguments
> + (list #:tests? #f ;no tests
> + #:make-flags
> + #~(begin
> + (use-modules (srfi srfi-1))
> + (let* ((lib-dirs
> + (list #$@(map this-package-input
> + '("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
> + (delete 'configure)
> + (replace 'build
> + (lambda _
> + (invoke "make" "bigide"))))))
---

Note that I have not tested that this modification actually works, but I'd be
surprised if it didn't.

-- (
-----BEGIN PGP SIGNATURE-----

iQGzBAABCgAdFiEE6Vh10NblKE5doNlW7ImHg/nqI20FAmQkkMkACgkQ7ImHg/nq
I23pngwAkqqgi2ACBRKmRdzZi5kkKLnLY6IvyqYiaZ3OKajO5tM6HJaZ/uKKB09r
K3edddYHZzUSDHF5ufcJyd0ZavF9tj/yHsUGHoaym7G/U1G8tTith+zA6kFvJtTp
CvJtzS1VIBDeunTa28RobO1CTS6WXtsv+1m8M4lB//Mko/qpyqZY6yAScWC0qJNO
TGz8eKz8d0KQ4USQY88PV7SeZk8s4bz5GuH/t2kzAm3RhbzkyjELAGlK27nfsMx7
yzI56KSpysc8O2oGKvG2bc6p+PDtCVk3vKC47etB3qyKTViLdBrOyBSmi7j9EbQQ
AZSQ5+zzoUV7PRkx5vSFw/kiu3hIsLbfYbNLL7WfL3vkCm891BoS6PrdFf1bgRKK
4/fnfjVP2OnBtpfc/8FtW/3fYUHIllFh1oGq596VlI6n7cW4r7ekG1Qt9RjU8ISl
t1QqaU+vLhOXFMx8rwz/jYE02hod/VRzrfqCaxae/DIHeQuLytVLRyga1Bo+lLrC
jdouNkvM
=c0Dq
-----END PGP SIGNATURE-----


Danny Milosavljevic wrote 2 years ago
(name . ()(address . paren@disroot.org)(address . 62424@debbugs.gnu.org)
20230402222629.0c397000@scratchpost.org
Hi,

On Wed, 29 Mar 2023 20:26:00 +0100
"(" <paren@disroot.org> wrote:

Toggle quote (5 lines)
> 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.

Toggle quote (3 lines)
> 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.
Attachment: Q.patch
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCgAdFiEEds7GsXJ0tGXALbPZ5xo1VCwwuqUFAmQp5PUACgkQ5xo1VCww
uqVnUwf/fxDFPra6fvaMM84vBJ40p65ZamG6dhSdMhHpZ3jBFpFkzWSSv4lb9lbV
8QMCOrkDglsDXrZPBkGxmpts+UipEJAA3eiGU7xSj6qMdQqNtt4fKgAUHjdyinIU
qky6Kk52eCRctxJ8MenUkpcvGIFC0T3nHifGPG5lyEfC9J9p8NqK5dKfGU2sgWsf
pMlNZoR22D84QKw4m4c5P0DRXGfLDpCnkrsaPDU3S4DvezSSggz7e2skxw9Y0wJx
Og0eAZj3Vb6tD9wHenhRORutak26UuDkwDz/8gvcW2/O+rREKCD78eq+BC5Jl9DU
KWPApKqZj3yMoMRxjVU/EK71h8oZgQ==
=QLVV
-----END PGP SIGNATURE-----


Danny Milosavljevic wrote 2 years ago
(name . ()(address . paren@disroot.org)(address . 62424-done@debbugs.gnu.org)
20230501172114.66532cf2@scratchpost.org
Hi,

Toggle quote (2 lines)
> Please make sure you use the new-ish LIST/GEXP style for ARGUMENTS;

Did so.

Toggle quote (4 lines)
> also, much
> of your modified BUILD phase could be replaced by modifying #:MAKE-FLAGS, and
> LIBS could be generated in a much simpler way with FOLD from (SRFI SRFI-1):

That did not work so I couldn't change it to that.

I pushed lazarus to guix master as commit df504d84ca1881854f09f11ae7e72a02adad9b69.
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCgAdFiEEds7GsXJ0tGXALbPZ5xo1VCwwuqUFAmRP2OsACgkQ5xo1VCww
uqWPdAf/RiyvAbz6goWY4MoF8TyBOfgkVWGoDPGX8Tf0hm73ncuUd24rCUpTdb6M
LGMngy05QsH42UMbVeJGauR9usjrnZqEtZXCVr258VShPGg7C3FciyF87RgcFjO5
OpyplSj3PxPd5FISat0FKRpKbOhpK3bX6m0DSlQo+d54SxlLY5mOrhqWZK91OnPB
vcJJcvljaE8oEVJsb2Sm31wnTRnK4AMxUBMQFx6KUoNiM1BSz5epVQ8Po7a1JZA0
PTYxNNKesUOJ0OOQO2V41jHfD1ya+xW7FpkHDRgxWv9hrEmW1/ZcnWhszaO6Olzh
vWOfqLPF6F3VrIItQlIEgNP3eAeOeQ==
=LyrW
-----END PGP SIGNATURE-----


Closed
( wrote 2 years ago
(name . Danny Milosavljevic)(address . dannym@scratchpost.org)(address . 62424-done@debbugs.gnu.org)
87edo0eyuw.fsf@disroot.org
Danny Milosavljevic <dannym@scratchpost.org> writes:
Toggle quote (2 lines)
> That did not work so I couldn't change it to that.

Oh! I managed to forgot to add the seed flag :(

It should have been:

```scheme
(fold (lambda (pkg flags)
(cons* (string-append "-Fl" pkg "/lib")
(string-append "-k-rpath=" pkg "/lib")
flags))
'()
lib-dirs)
```
Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 62424@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 62424
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch
You may also tag this issue. See list of standard tags. For example, to set the confirmed and easy tags
mumi command -t +confirmed -t +easy
Or, remove the moreinfo tag and set the help tag
mumi command -t -moreinfo -t +help