Recent

Author Topic: Build Lazarus with packages (make bigide & lazbuild)  (Read 2224 times)

rvk

  • Hero Member
  • *****
  • Posts: 6168
Build Lazarus with packages (make bigide & lazbuild)
« on: March 01, 2024, 10:04:08 am »
I have a script with which I create Lazarus.
I use make bigide with some options.

This create Lazarus without config.
I can run Lazarus and let it create the config or create a small environmentoptions.xml which then can be upgraded easlily.

But... now I want to add some extra packages in this script.
The problem is... when I do this in the script after the make bigide with lazbuild, there isn't a config yet.
The end result is a Lazarus without any standard packages.

What are the steps to add packages to a lazarus build (after bigide or maybe instead) so I can choose the packages?
Or do I need to add ALL packages (including the standard ones from bigide) again with lazbuild?

Does anyone have a script like that?

TRon

  • Hero Member
  • *****
  • Posts: 2534
Re: Build Lazarus with packages (make bigide & lazbuild)
« Reply #1 on: March 01, 2024, 10:14:17 am »
You gotta love stackoverflow :-)

Points to both lazbuild and a custom solution in the wiki.

I don't know about OPM packages though (*).

edit: (*) but I did came across this from our friend Warfley, though I do not have any experience with it...
« Last Edit: March 01, 2024, 10:28:37 am by TRon »

MarkMLl

  • Hero Member
  • *****
  • Posts: 6688
Re: Build Lazarus with packages (make bigide & lazbuild)
« Reply #2 on: March 01, 2024, 10:32:46 am »
https://forum.lazarus.freepascal.org/index.php/topic,65706.msg507514.html#msg507514 might possibly help: has to be done in two stages.

I'd add that I wasn't able to work out the parameters to --build-ide= , but it works (for my purposes) as it stands.

MarkMLl
MT+86 & Turbo Pascal v1 on CCP/M-86, multitasking with LAN & graphics in 128Kb.
Pet hate: people who boast about the size and sophistication of their computer.
GitHub repositories: https://github.com/MarkMLl?tab=repositories

nummer8

  • Full Member
  • ***
  • Posts: 111
Re: Build Lazarus with packages (make bigide & lazbuild)
« Reply #3 on: March 01, 2024, 10:35:42 am »
Here a github page from someone who uses docker to crosscompile projects.
That is not the answer to your question but he is also adding packages through the command-line.
Maybe there are some tips that could help.

https://github.com/ChrisWiGit/lazarus-docker

rvk

  • Hero Member
  • *****
  • Posts: 6168
Re: Build Lazarus with packages (make bigide & lazbuild)
« Reply #4 on: March 01, 2024, 10:45:34 am »
Points to both lazbuild and a custom solution in the wiki.

I don't know about OPM packages though.
Yes, it points to lazbuild but that's not working because lazbuild takes the packages.inc or something else to recreate the lazarus.exe.
I don't have a config (so also no packages.xml or staticpackages.inc) after I do a make bigide.

The following will result in a lazarus.exe which lost all default packages.
I can't get the step with lazbuild working without first starting lazarus and letting the config files create.
Quote
%MAKE% bigide REVINC=force REVSTR=%laz_revision% %TARGET_OS% %OPTIONS_LAZ%
cd ..
echo --primary-config-path=%cd%\config > lazarus\lazarus.cfg
if not exist config\nul md config
lazarus\lazbuild --pcp="%cd%\config" --lazarusdir="%cd%\lazarus" --add-package-link %cd%\extras\richmemo\richmemopackage.lpk
lazarus\lazbuild --pcp="%cd%\config" --lazarusdir="%cd%\lazarus" --build-ide="-dKeepInstalledPackages -g -gl -O2 -Xs -CX -XX" --build-mode= --language=en

Is there a command line program for creating the config files before running lazbuild?

Does anyone have a script that does something similar (including adding packages in one go).
I know fpcupdeluxe does a lot with creating the config files itself but I would like to avoid that.

Here a github page from someone who uses docker to crosscompile projects.
That is not the answer to your question but he is also adding packages through the command-line.
Maybe there are some tips that could help.

https://github.com/ChrisWiGit/lazarus-docker
Thanks, I'll take a look. But I already saw it didn't use make bigide.
So you would need to add all the packages yourself with lazbuild.

Quote
# # add here additional libraries to be used

I always ended up missing sqldb in my build.
I'll see if I can add them all myself with lazbuild.

TRon

  • Hero Member
  • *****
  • Posts: 2534
Re: Build Lazarus with packages (make bigide & lazbuild)
« Reply #5 on: March 01, 2024, 10:48:56 am »
I don't have a config (so also no packages.xml or staticpackages.inc) after I do a make bigide.
Let me get back to you on that because afaik it should contain them.

MarkMLl

  • Hero Member
  • *****
  • Posts: 6688
Re: Build Lazarus with packages (make bigide & lazbuild)
« Reply #6 on: March 01, 2024, 10:59:00 am »
I don't have a config (so also no packages.xml or staticpackages.inc) after I do a make bigide.
Let me get back to you on that because afaik it should contain them.

No, you have to run the binary first if necessary with a --scp etc. option.

You can, obviously, copy the entire configuration directory. However that still requires that the binary be built with appropriate packages etc.

As I've noted in my example, rebuilding from inside the IDE can screw the widget set selection.

MarkMLl
MT+86 & Turbo Pascal v1 on CCP/M-86, multitasking with LAN & graphics in 128Kb.
Pet hate: people who boast about the size and sophistication of their computer.
GitHub repositories: https://github.com/MarkMLl?tab=repositories

TRon

  • Hero Member
  • *****
  • Posts: 2534
Re: Build Lazarus with packages (make bigide & lazbuild)
« Reply #7 on: March 01, 2024, 11:02:23 am »
Yes you are right MarkMLI

I confused the other (share) directories with the config-files which are indeed created by Lazarus itself on first startup.

I did came across this, it is old but...
Quote
So for the records:
in a clean lazarus checkout, doing
* make all bigide
* ./lazbuild -B ../indy/lazarus/indylaz.lpk
* ./lazbuild -B ../glscene/LazarusLin/glscenelazarus.lpk
* make idepkg

gives me a fresh ide containig all my previously installed packages.
Where I assume that when you also provide the pcp directory that it will use that directory for storing your settings... (I have not checked)

« Last Edit: March 01, 2024, 11:25:30 am by TRon »

rvk

  • Hero Member
  • *****
  • Posts: 6168
Re: Build Lazarus with packages (make bigide & lazbuild)
« Reply #8 on: March 01, 2024, 11:44:51 am »
I confused the other (share) directories with the config-files which are indeed created lazarus itself on first startup.
[...]
Quote
* make all bigide
* ./lazbuild -B ../indy/lazarus/indylaz.lpk
* ./lazbuild -B ../glscene/LazarusLin/glscenelazarus.lpk
* make idepkg
gives me a fresh ide containig all my previously installed packages.
Where is assume that when you also provide the pcp directory that it will use that directory for storing your settings... (I have not checked)
Ha, I was hoping the make idepkg would do something (I don't have it in my script).
But it still doesn't work.

(for example missing sqldb, OPM and a lot of others which are default for bigide)

The idepkg seems to be deprecated but in older versions it stated:
Quote
#-----------------------------------------------------------------------------
# build lazarus exe with user's packages for the LCL_PLATFORM
# requires user's packages, idemake.cfg and staticpackages.inc
# called by the IDE/lazbuild
# the idemake.cfg and staticpackages.inc are created by the IDE or by lazbuild
idepkg:
   $(MAKE) -C ide idepkg
That seems like a big catch 22. Lazbuild needs staticpackages.inc but the only one that creates it is lazbuild (and running the exe)   %)

I guess there is nothing else to do than adding all the packages (including default ones) with lazbuild (like fpcupdeluxe does).

TRon

  • Hero Member
  • *****
  • Posts: 2534
Re: Build Lazarus with packages (make bigide & lazbuild)
« Reply #9 on: March 01, 2024, 12:04:51 pm »
I see rvk.... drats. Thank you for trying.

Quote
I guess there is nothing else to do than adding all the packages (including default ones) with lazbuild (like fpcupdeluxe does).
There has to be a more ingenious way of doing this... is there perhaps a more knowledgeable person around that knows ?

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11454
  • FPC developer.
Re: Build Lazarus with packages (make bigide & lazbuild)
« Reply #10 on: March 01, 2024, 12:08:36 pm »
I'd also be interested in a script to quickly setup a lazarus with a bunch of packages built in. Probably some way to initialize config should be added to lazbuild ?

I usually start lazarus and configure it after bigide, and after git update rebuild with a

Code: Pascal  [Select][+][-]
  1. lazbuild --pcp=c:\repo\lazarus\config --build-ide=

rvk

  • Hero Member
  • *****
  • Posts: 6168
Re: Build Lazarus with packages (make bigide & lazbuild)
« Reply #11 on: March 01, 2024, 12:14:04 pm »
I usually start lazarus and configure it after bigide, and after git update rebuild with a
Yes. And I wanted to skip the step of configuring each time.
I already found a way to create a small environmentoptions.xml to include language.
Each new config starts in Dutch for me (which I hate  ;)). I want default English.

(I though Dutch would have been stripped from Lazarus by now but maybe someone still uses it.)

Code: Text  [Select][+][-]
  1. echo ---------------------------------------------------------------------------
  2. echo Creating config
  3. echo ---------------------------------------------------------------------------
  4. (
  5. echo ^<?xml version="1.0" encoding="UTF-8"?^>
  6. echo ^<CONFIG^>
  7. echo   ^<EnvironmentOptions^>
  8. echo     ^<Version Value="110" Lazarus="3.99"/^>
  9. echo     ^<Language ID="en"/^>
  10. echo     ^<LazarusDirectory Value="..\lazarus"^>
  11. echo     ^</LazarusDirectory^>
  12. echo     ^<CompilerFilename Value="%cd%\fpc\bin\x86_64-win64\fpc.exe"^>
  13. echo     ^</CompilerFilename^>
  14. echo     ^<FPCSourceDirectory Value="%cd%\fpc"^>
  15. echo     ^</FPCSourceDirectory^>
  16. echo   ^</EnvironmentOptions^>
  17. echo   ^<Desktops Count="1" ActiveDesktop="default"^>
  18. echo     ^<Desktop1 Name="default"^>
  19. echo       ^<ObjectInspectorDlg^>
  20. echo         ^<Visible Value="True"/^>
  21. echo       ^</ObjectInspectorDlg^>
  22. echo     ^</Desktop1^>
  23. echo   ^</Desktops^>
  24. echo ^</CONFIG^>
  25. ) > %cd%\config\environmentoptions.xml

Then I only need to let the IDE (upgrade this and) create the debugger-interface and start the IDE.

But now the packages.... I don't want to add these each time after initial startup of the IDE (after complete rebuild of lazarus installation).

rvk

  • Hero Member
  • *****
  • Posts: 6168
Re: Build Lazarus with packages (make bigide & lazbuild)
« Reply #12 on: March 01, 2024, 03:09:28 pm »
Not sure if I've got them all... but... it's close...
I still need to clean it up, maybe put this in a function call part ;)
Actual script is much larger including download helper utilities and git clone/pull.

Code: [Select]
cd lazarus
:: no need for bigide this way
make lazbuild
cd ..
:: ------
lazarus\lazbuild --pcp="%cd%\config" --lazarusdir="%cd%\lazarus" --add-package      %cd%\lazarus\components\datetimectrls\datetimectrls.lpk
lazarus\lazbuild --pcp="%cd%\config" --lazarusdir="%cd%\lazarus" --add-package      %cd%\lazarus\components\sdf\sdflaz.lpk
lazarus\lazbuild --pcp="%cd%\config" --lazarusdir="%cd%\lazarus" --add-package      %cd%\lazarus\components\rtticontrols\runtimetypeinfocontrols.lpk
lazarus\lazbuild --pcp="%cd%\config" --lazarusdir="%cd%\lazarus" --add-package      %cd%\lazarus\components\PascalScript\Source\pascalscript.lpk
lazarus\lazbuild --pcp="%cd%\config" --lazarusdir="%cd%\lazarus" --add-package      %cd%\lazarus\components\macroscript\editormacroscript.lpk 
lazarus\lazbuild --pcp="%cd%\config" --lazarusdir="%cd%\lazarus" --add-package      %cd%\lazarus\components\printers\printer4lazarus.lpk
lazarus\lazbuild --pcp="%cd%\config" --lazarusdir="%cd%\lazarus" --add-package      %cd%\lazarus\components\printers\design\printers4lazide.lpk
lazarus\lazbuild --pcp="%cd%\config" --lazarusdir="%cd%\lazarus" --add-package      %cd%\lazarus\components\datetimectrls\design\datetimectrlsdsgn.lpk
lazarus\lazbuild --pcp="%cd%\config" --lazarusdir="%cd%\lazarus" --add-package      %cd%\lazarus\components\tdbf\dbflaz.lpk
lazarus\lazbuild --pcp="%cd%\config" --lazarusdir="%cd%\lazarus" --add-package      %cd%\lazarus\components\projectgroups\lazprojectgroups.lpk
lazarus\lazbuild --pcp="%cd%\config" --lazarusdir="%cd%\lazarus" --add-package      %cd%\lazarus\components\todolist\todolistlaz.lpk
lazarus\lazbuild --pcp="%cd%\config" --lazarusdir="%cd%\lazarus" --add-package      %cd%\lazarus\components\tachart\tachartlazaruspkg.lpk
lazarus\lazbuild --pcp="%cd%\config" --lazarusdir="%cd%\lazarus" --add-package      %cd%\lazarus\components\projecttemplates\projtemplates.lpk
lazarus\lazbuild --pcp="%cd%\config" --lazarusdir="%cd%\lazarus" --add-package      %cd%\lazarus\components\fpcunit\ide\fpcunitide.lpk
lazarus\lazbuild --pcp="%cd%\config" --lazarusdir="%cd%\lazarus" --add-package      %cd%\lazarus\components\chmhelp\packages\idehelp\chmhelppkg.lpk
lazarus\lazbuild --pcp="%cd%\config" --lazarusdir="%cd%\lazarus" --add-package      %cd%\lazarus\components\jcf2\IdePlugin\lazarus\jcfidelazarus.lpk
lazarus\lazbuild --pcp="%cd%\config" --lazarusdir="%cd%\lazarus" --add-package      %cd%\lazarus\components\externhelp\externhelp.lpk
lazarus\lazbuild --pcp="%cd%\config" --lazarusdir="%cd%\lazarus" --add-package      %cd%\lazarus\components\instantfpc\instantfpclaz.lpk
lazarus\lazbuild --pcp="%cd%\config" --lazarusdir="%cd%\lazarus" --add-package      %cd%\lazarus\components\memds\memdslaz.lpk
lazarus\lazbuild --pcp="%cd%\config" --lazarusdir="%cd%\lazarus" --add-package      %cd%\lazarus\components\leakview\leakview.lpk
lazarus\lazbuild --pcp="%cd%\config" --lazarusdir="%cd%\lazarus" --add-package      %cd%\lazarus\components\exampleswindow\exampleprojects.lpk
lazarus\lazbuild --pcp="%cd%\config" --lazarusdir="%cd%\lazarus" --add-package      %cd%\lazarus\components\pas2js\pas2jsdsgn.lpk
lazarus\lazbuild --pcp="%cd%\config" --lazarusdir="%cd%\lazarus" --add-package      %cd%\lazarus\components\simplewebservergui\simplewebservergui.lpk
lazarus\lazbuild --pcp="%cd%\config" --lazarusdir="%cd%\lazarus" --add-package      %cd%\lazarus\components\turbopower_ipro\turbopoweripro.lpk
lazarus\lazbuild --pcp="%cd%\config" --lazarusdir="%cd%\lazarus" --add-package      %cd%\lazarus\components\turbopower_ipro\design\turbopoweriprodsgn.lpk
lazarus\lazbuild --pcp="%cd%\config" --lazarusdir="%cd%\lazarus" --add-package      %cd%\lazarus\components\charactermap\design\charactermap_ide_pkg.lpk
lazarus\lazbuild --pcp="%cd%\config" --lazarusdir="%cd%\lazarus" --add-package      %cd%\lazarus\components\sqldb\sqldblaz.lpk
lazarus\lazbuild --pcp="%cd%\config" --lazarusdir="%cd%\lazarus" --add-package      %cd%\lazarus\components\onlinepackagemanager\onlinepackagemanager.lpk
:: ------
:: these are downloaded to extras from OPM location...  how to do CLI with OPM ???
:: ------
lazarus\lazbuild --pcp="%cd%\config" --lazarusdir="%cd%\lazarus" --add-package-link %cd%\extras\synapse40.1\laz_synapse.lpk
lazarus\lazbuild --pcp="%cd%\config" --lazarusdir="%cd%\lazarus" --add-package-link %cd%\extras\richmemo\richmemopackage.lpk
lazarus\lazbuild --pcp="%cd%\config" --lazarusdir="%cd%\lazarus" --add-package      %cd%\extras\richmemo\ide\richmemo_design.lpk
:: ------
:: actually build lazarus.exe
lazarus\lazbuild --pcp="%cd%\config" --lazarusdir="%cd%\lazarus" --build-ide="-dKeepInstalledPackages -g -gw3 -gl -XX -v0" --build-mode= --language=en
:: ------

TRon

  • Hero Member
  • *****
  • Posts: 2534
Re: Build Lazarus with packages (make bigide & lazbuild)
« Reply #13 on: March 01, 2024, 03:25:36 pm »
cd source/3.2/lazarus
find "." -type f -name "*.lpk"
Code: [Select]
./packager/registration/fcl.lpk
./components/turbopower_ipro/turbopoweripro.lpk
./components/turbopower_ipro/design/turbopoweriprodsgn.lpk
./components/projecttemplates/projtemplates.lpk
./components/exampleswindow/exampleprojects.lpk
./components/macroscript/editormacroscript.lpk
./components/projectgroups/lazprojectgroups.lpk
./components/macfiles/macosfiles.lpk
./components/dockedformeditor/dockedformeditor.lpk
./components/freetype/freetypelaz.lpk
./components/rtticontrols/runtimetypeinfocontrols.lpk
./components/instantsearch/lazinstantsearch.lpk
./components/datadict/lazdatadict.lpk
./components/simplewebservergui/simplewebservergui.lpk
./components/messagecomposer/messagecomposerpkg.lpk
./components/packagetabs/packagetabs.lpk
./components/simpleideintf/simpleideintf.lpk
./components/PascalScript/Source/pascalscript.lpk
./components/PascalScript/Source/pascalscriptfcl.lpk
./components/favorites/favorites.lpk
./components/leakview/leakview.lpk
./components/education/educationlaz.lpk
./components/activex/LazActiveX.lpk
./components/IdeInspector/ideinspector.lpk
./components/externhelp/externhelp.lpk
./components/paradox/lazparadox.lpk
./components/mrumenu/lazmrumenu.lpk
./components/filebrowser/idefilebrowser.lpk
./components/pochecker/pochecker.lpk
./components/IdeLazLogger/idelazlogger.lpk
./components/chmhelp/packages/idehelp/chmhelppkg.lpk
./components/chmhelp/packages/help/lhelpcontrolpkg.lpk
./components/lclextensions/lclextensions_package.lpk
./components/instantfpc/instantfpclaz.lpk
./components/customdrawn/customdrawn.lpk
./components/fpcunit/fpcunittestrunner.lpk
./components/fpcunit/console/fpcunitconsolerunner.lpk
./components/fpcunit/ide/fpcunitide.lpk
./components/lazcontrols/lazcontrols.lpk
./components/lazcontrols/design/lazcontroldsgn.lpk
./components/datetimectrls/datetimectrls.lpk
./components/datetimectrls/design/datetimectrlsdsgn.lpk
./components/buildintf/buildintf.lpk
./components/onlinepackagemanager/onlinepackagemanager.lpk
./components/plotfunction/lazplotfunction.lpk
./components/lazsvnpkg/lazsvnpkg.lpk
./components/lazdebuggers/lazdebuggerfprspremote/lazdebuggerfprspremote.lpk
./components/lazdebuggers/lazdebuggerfpdserver/lazdebuggerfpdserver.lpk
./components/lazdebuggers/cmdlinedebuggerbase/cmdlinedebuggerbase.lpk
./components/lazdebuggers/lazdebuggerfpgdbmi/lazdebuggerfpgdbmi.lpk
./components/lazdebuggers/lazdebuggerfplldb/lazdebuggerfplldb.lpk
./components/lazdebuggers/lazdebugtestbase/lazdebugtestbase.lpk
./components/lazdebuggers/lazdebuggerintf/lazdebuggerintf.lpk
./components/lazdebuggers/lazdebuggerlldb/lazdebuggerlldb.lpk
./components/lazdebuggers/lazdebuggerfp/lazdebuggerfp.lpk
./components/aarre/src/aarrebase.lpk
./components/anchordocking/anchordocking.lpk
./components/anchordocking/design/anchordockingdsgn.lpk
./components/synunihighlighter/synuni.lpk
./components/charactermap/charactermappkg.lpk
./components/charactermap/design/charactermap_ide_pkg.lpk
./components/mouseandkeyinput/lazmouseandkeyinput.lpk
./components/lazthread/lazthread.lpk
./components/wiki/lazwiki/lazwiki.lpk
./components/memds/memdslaz.lpk
./components/daemon/lazdaemon.lpk
./components/images/imagesforlazarus.lpk
./components/jitclasses/jitclasses.lpk
./components/fppkg/src/fppkgpackagemanager.lpk
./components/h2pas/h2paswizard.lpk
./components/opengl/lazopenglcontext.lpk
./components/fpweb/weblaz.lpk
./components/multithreadprocs/multithreadprocslaz.lpk
./components/sqldb/sqldblaz.lpk
./components/pas2js/pas2jsdsgn.lpk
./components/pas2js/components/pas2jscomponents.lpk
./components/fpdebug/fpdebug.lpk
./components/sqlite/sqlite3laz.lpk
./components/sqlite/sqlitelaz.lpk
./components/cairocanvas/cairocanvas_pkg.lpk
./components/googleapis/lazgoogleapis.lpk
./components/tachart/tachartlazaruspkg.lpk
./components/tachart/bgra/tachartbgra.lpk
./components/tachart/print/tachartprint.lpk
./components/tachart/opengl/tachartopengl.lpk
./components/tachart/wmf/tachartwmf.lpk
./components/tachart/aggpas/tachartaggpas.lpk
./components/tachart/fpvectorial/tachartfpvectorial.lpk
./components/vlc/lazvlc.lpk
./components/sdf/sdflaz.lpk
./components/customform/lazcustforms.lpk
./components/customform/demo/appforms.lpk
./components/printers/printer4lazarus.lpk
./components/printers/design/printers4lazide.lpk
./components/sqldbrest/lazsqldbrest.lpk
./components/sqldbrest/design/sqldbrestschemadesigner.lpk
./components/fpvectorial/fpvectorial2aggpaspkg.lpk
./components/fpvectorial/fpvectorialpkg.lpk
./components/tdbf/dbflaz.lpk
./components/ideintf/ideintf.lpk
./components/codetools/codetools.lpk
./components/codetools/ide/cody.lpk
./components/lazdebuggergdbmi/lazdebuggergdbmi.lpk
./components/lazdebuggergdbmi/test/gdbmitestutils/gdbmitestutils.lpk
./components/compilers/delphi/lazdelphi.lpk
./components/compilers/c/lazc.lpk
./components/debuggerintf/debuggerintf.lpk
./components/dbexport/lazdbexport.lpk
./components/idescout/idescout.lpk
./components/lazutils/lazutils.lpk
./components/fpreport/lclfpreport.lpk
./components/fpreport/design/lazfpreportdesign.lpk
./components/fpreport/design/lazidefpreport.lpk
./components/synedit/synedit.lpk
./components/synedit/design/syneditdsgn.lpk
./components/aggpas/lazarus/aggpaslcl.lpk
./components/todolist/todolistlaz.lpk
./components/jcf2/jcfbase.lpk
./components/jcf2/IdePlugin/lazarus/jcfidelazarus.lpk
./components/lazreport/source/lazreport.lpk
./components/lazreport/source/addons/cairoexport/lrcairoexport.lpk
./components/lazreport/source/addons/imgexport/lr_extexp.lpk
./components/lazreport/source/addons/pdfexport/lazreportpdfexport.lpk
./components/lazreport/source/addons/TDbfDB/lr_tdbf.lpk
./components/lazreport/source/addons/ZeosDB/lr_zeosdb.lpk
./components/lazreport/source/addons/LrDotMatrix/lr_dotmatrix_pack.lpk
./components/lazreport/source/addons/lrOfficeImport/lr_officeimport.lpk
./components/lazreport/source/addons/lrEmailExport/lremailexport.lpk
./components/lazreport/source/addons/DialogControls/lr_dialogdesign.lpk
./components/lazreport/source/addons/SqlDB/lr_sqldb.lpk
./components/lazreport/source/addons/lrFclPDFExport/lr_pdfexport.lpk
./components/lazreport/source/addons/addfunction/lr_add_function.lpk
./components/lazreport/source/addons/lrspreadsheetexport/lrspreadsheetexport.lpk
./components/lazreport/source/addons/lrcodereport/lr_codereport_pkg.lpk
./components/virtualtreeview/laz.virtualtreeview_package.lpk
./examples/idequickfix/quickfixexample.lpk
./examples/exploremenu/exploreidemenu.lpk
./examples/designerbaseclass/designbaseclassdemopkg.lpk
./examples/idehelp/demoidehelp.lpk
./examples/codetools/jumptoimplementation/jumptoimplementation.lpk
./examples/xmlresource/xmlresource.lpk
./examples/internalcompiler/demointernalcompiler.lpk
./examples/codepageconverter/filefind/filefindlaz.lpk
./examples/designnonlcl/notlcldesigner.lpk
./examples/pascalstream/CopyAsPasPkg/copyformaspascaldemopkg.lpk
./lcl/lclbase.lpk
./lcl/interfaces/lcl.lpk
./lcl/interfaces/carbon/pascocoa/cocoa_pkg.lpk
./ide/packages/idedebugger/idedebugger.lpk
./ide/packages/ideconfig/ideconfig.lpk
How to determine which to install ?


Quote
:: these are downloaded to extras from OPM location...  how to do CLI with OPM ???
This lazarus package manager is actually pretty helpful  ;) (provided that you know a little python).
« Last Edit: March 01, 2024, 03:35:27 pm by TRon »

rvk

  • Hero Member
  • *****
  • Posts: 6168
Re: Build Lazarus with packages (make bigide & lazbuild)
« Reply #14 on: March 01, 2024, 04:26:48 pm »
cd source/3.2/lazarus
find "." -type f -name "*.lpk"
[...]
How to determine which to install ?
Yeah, that's all of them. But bigide only takes a few.

In lazarus.pp there is an IFDEF BIGIDE which shows those (and that's probably why there isn't a config initially needed).

Code: Pascal  [Select][+][-]
  1.   {$IFDEF BigIDE}
  2.     AllSynEditDsgn, DateTimeCtrlsDsgn,
  3.     RunTimeTypeInfoControls, Printer4Lazarus, Printers4LazIDE,
  4.     LeakView, MemDSLaz, SDFLaz, InstantFPCLaz, ExternHelp,
  5.     TurboPowerIPro, TurboPowerIProDsgn,
  6.     jcfidelazarus, chmhelppkg,
  7.     FPCUnitTestRunner, FPCUnitIDE, ProjTemplates, TAChartLazarusPkg,
  8.     TodoListLaz, DateTimeCtrls, SQLDBLaz, DBFLaz, pascalscript,
  9.     EditorMacroScript, ExampleProjects,
  10.     OnlinePackageManager,
  11.     SimpleWebServerGUI, LazProjectGroups, Pas2jsDsgn, charactermap_ide_pkg,
  12.   {$ENDIF}
So I took those with looking at fpcupdeluxe and came to my list in the previous post.
Looking at the installed packages, I think I've got them all.

Quote
:: these are downloaded to extras from OPM location...  how to do CLI with OPM ???
This lazarus package manager is actually pretty helpful  ;) (provided that you know a little python).
Yes, I came across this. But it's python. I know python but I'm on Windows (without python install).

I only need a couple and don't have a selection screen so I don't mind looking up the download location in
http://packages.lazarus-ide.org/ and using that download location.
I could use http://packages.lazarus-ide.org/packagelist.json and extract the download directly do I could just do one call with name... but that's for later.
(Which is probably what LazarusPackageManager does automatically)

Code: [Select]
call :Download %cd%\extras\synapse40.1.zip "https://packages.lazarus-ide.org/Synapse40.1.zip"
call :Download %cd%\extras\richmemo.zip "https://packages.lazarus-ide.org/RichMemo.zip"
%cd%\bootstrap\7z.exe x -y -o%cd%\extras %cd%\extras\richmemo.zip
%cd%\bootstrap\7z.exe x -y -o%cd%\extras %cd%\extras\synapse40.1.zip
:: ibx does not have latest in OPM
svn cleanup %cd%\extras\ibx
svn co https://svn.mwasoftware.co.uk/public/ibx/trunk %cd%\extras\ibx

 

TinyPortal © 2005-2018