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