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+))))