← Back to team overview

kicad-developers team mailing list archive

Re: OSX Build changes.

 

Hi,
 
Currently the following paths should be used for “data” automatically (latest when my changes are submitted and what I found in the code):
Base Paths (in order from top to bottom)
$KICAD Environment variable
~/Library/Application Support/kicad
/Library/Application Supprt/kicad
<kicad.app>/Contents/SharedSupport
kicad
…/templates
eeschema
…/library
…/library/doc
…/templates
pcbnew
…/modules
…/modules/packages3d
…/templates
The “…” refers to any of the base paths.
There should be no need to set environment variables KISYSMOD/KISYS3DMOD as long as you stick to these paths?

For a complete OSX package with libraries/footprints/etc. things possibly would go into the bundle.

So, I think the only thing reasonable/needed is setting the KIGITHUB to the default github libraries.
If anybody tells me what to set it to, I will do that (I didn’t use the plugin up to now).

@Jean-Paul:
The plist method and what Wayne is talking about are two different things.
The plist method is for setting environment variables from a user context.
If an environment variable is configured in the bundle, it will be automatically there when you (or anybody else on this machine) launch the application - nothing to do for users… however, user can’t normally change it then, because a user is not intended to change the config file of the app bundle (where this is contained), I guess.


Regards,
Bernhard



On 29.09.2014, at 18:38, Wayne Stambaugh <stambaughw@xxxxxxxxxxx> wrote:

> On 9/29/2014 11:49 AM, Jean-Paul Louis wrote:
>> Wayne,
>> 
>> This topic was already discussed in the kicad-users list when I was
>> setting my Mac builds.
>> I already posted Mac Environment files for KiCad using KISYSMOD,
>> KISYSPROJ and KIGITHUB.
> 
> KISYSMOD only makes sense if footprint libraries are installed as part
> of the bundle.  You should not be setting KISYSPROJ.  This is set to the
> same path as the .pro file opened by kicad.
> 
>> 
>> I can post them again if you like.
>> 
>> Jean-Paul
>> AC9GH
>> 
>> Andy,
>> 
>> The plist files are in ~/Library/LaunchAgents
>> 
>> For KISYSMOD, the filename is local.kicad.kisysmod.plist.
>> For KIPRJMOD, the filename is local.kicad.kiprjmod.plist.
>> 
>> For KIGITHUB, the filename is local.kicad.kigithub.plist.
>> 
>> That is as far as I went.
>> 
>> Now when I start pcbnew and select Preferences —> Library tables, I get
>> the variables correctly showing:
>> 
>> 
>> 
>> You can see that I selected the fl-lib-table that use the legacy footprints.
>> If you use the github fl-lib-table, then the KIGITHUB variable might
>> show up.
>> 
>> I have not tried yet using github.
>> 
>> I have not been able to use the pdf docs inside the programs because
>> there is an issue with OS X not having the right path.
>> I’m working on that.
>> 
>> Regards,
>> Jean-Paul
>> AC9GH
>> 
>> 
>> 
>> On Jun 12, 2014, at 3:25 PM, Andy Peters devel@xxxxxxxxx
>> <mailto:devel@xxxxxxxxx> [kicad-users] <kicad-users@xxxxxxxxxxxxxxx> wrote:
>> 
>>> On May 24, 2014, at 7:35 AM, Jean-Paul
>>> Louis louijp@xxxxxxxxx [kicad-users] <kicad-users@xxxxxxxxxxxxxxx> wrote:
>>> 
>>>> Mine (see email to Bernhard) sort of work. I tried his method of
>>>> creating the ENV variables, and it worked for KISYSMOD, but not
>>>> for KIGITHUB. Maybe because KISYSMOD is a path variable while
>>>> KIGITHUB is an URL.
>>>> 
>>>> I am not sure , so I will double check what I did.
>>>> I just copied what was on his email and modified the file for
>>>> KIGITHUB first
>>>> 
>>>> 
>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
>>>> "http://www.apple.com/DTDs/PropertyList-1.0.dtd";>
>>>> <plist version="1.0">
>>>> <dict>
>>>> <key>Label</key>
>>>> <string>local.kicad.kigithub</string>
>>>> <key>EnableGlobbing</key>
>>>> <true/>
>>>> <key>ProgramArguments</key>
>>>> <array>
>>>> <string>launchctl</string>
>>>> <string>setenv</string>
>>>> <string>KIGITHUB</string>
>>>> <string>https://github.com/KiCad</string>
>>>> </array>
>>>> <key>RunAtLoad</key>
>>>> <true/>
>>>> </dict>
>>>> </plist>
>>>> 
>>>> 
>>>> The above definition does not work while the one below is fine.
>>>> 
>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" 
>>>>   "http://www.apple.com/DTDs/PropertyList-1.0.dtd";>
>>>> <plist version="1.0">
>>>> <dict>
>>>>   <key>Label</key>
>>>>   <string>local.kicad.kisysmod</string>
>>>>   <key>EnableGlobbing</key>
>>>>   <true/>
>>>>   <key>ProgramArguments</key>
>>>>   <array>
>>>>       <string>launchctl</string>
>>>>       <string>setenv</string>
>>>>       <string>KISYSMOD</string>
>>>>       <string>/Library/Application Support/kicad/share/Modules</string>
>>>>   </array>
>>>>   <key>RunAtLoad</key>
>>>>   <true/>
>>>> </dict>
>>>> </plist>
>>> 
>>> So, how does one get the above plist to be recognized?
>>> 
>>> -a
>>> 
>>> 
>>> 
>>> ------------------------------------
>>> 
>>> ------------------------------------
>>> 
>>> Please read the Kicad FAQ in the group files section before posting
>>> your question.
>>> Please post your bug reports here. They will be picked up by the
>>> creator of Kicad.
>>> Please visit http://www.kicadlib.org for details of how to contribute
>>> your symbols/modules to the kicad library.
>>> For building Kicad from source and other development questions visit
>>> the kicad-devel group
>>> at http://groups.yahoo.com/group/kicad-develYahoo Groups Links
>>> 
>>> <*> To visit your group on the web, go to:
>>>   http://groups.yahoo.com/group/kicad-users/
>>> 
>>> <*> Your email settings:
>>>   Individual Email | Traditional
>>> 
>>> <*> To change settings online go to:
>>>   http://groups.yahoo.com/group/kicad-users/join
>>>   (Yahoo! ID required)
>>> 
>>> <*> To change settings via email:
>>>   kicad-users-digest@xxxxxxxxxxxxxxx 
>>>   kicad-users-fullfeatured@xxxxxxxxxxxxxxx
>>> 
>>> <*> To unsubscribe from this group, send an email to:
>>>   kicad-users-unsubscribe@xxxxxxxxxxxxxxx
>>> 
>>> <*> Your use of Yahoo Groups is subject to:
>>>   https://info.yahoo.com/legal/us/yahoo/utos/terms/
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> On Sep 29, 2014, at 10:53 AM, Wayne Stambaugh <stambaughw@xxxxxxxxxxx
>> <mailto:stambaughw@xxxxxxxxxxx>> wrote:
>> 
>>> On 9/28/2014 10:20 PM, Adam Wolf wrote:
>>>> I actually had this open in a tab for something else I was doing.
>>>> 
>>>> https://developer.apple.com/library/mac/documentation/MacOSX/Conceptual/BPRuntimeConfig/Articles/EnvironmentVars.html
>>>> 
>>>> At the bottom of that page is an explanation how to set an environment
>>>> variable for an app bundle.
>>> 
>>> Thanks Adam!  This is exactly what I was looking for.  Bernhard, please
>>> take a look at this when you get a chance.  At the very least we should
>>> probably set the KIGITHUB environment variable assuming the OSX build
>>> has the github plugin enabled.  When the 3D models are include in the
>>> bundle, KISYS3DMOD will have to be set to the appropriate path.
>>> 
>>> Cheers,
>>> 
>>> Wayne
>>> 
>>>> 
>>>> I am so, so excited for this.  Good work folks!
>>>> 
>>>> Adam Wolf
>>>> Cofounder and Engineer
>>>> W&L
>>>> 
>>>> On Sun, Sep 28, 2014 at 7:47 PM, Wayne Stambaugh
>>>> <stambaughw@xxxxxxxxxxx <mailto:stambaughw@xxxxxxxxxxx>
>>>> <mailto:stambaughw@xxxxxxxxxxx>> wrote:
>>>> 
>>>>   On 9/28/2014 12:31 PM, Bernhard Stegmaier wrote:
>>>>> Hi all,
>>>>> 
>>>>> as Wayne already mentioned below I made some major changes to the
>>>>> creation of OSX application bundles in the build process.
>>>>> The most obvious is that now only one application bundle is created
>>>>> which starts the kicad launcher.
>>>>> From there you can go anywhere else.
>>>>> The created bundle now is (should be) completely relocatable, so you can
>>>>> just put it anywhere you want as with other OSX apps.
>>>>> All the pre-delivered templates, etc. have been moved into the bundle
>>>>> and should be found from there.
>>>>> Command-Line tools are still contained (and accessible via e.g.
>>>>> /Applications/kicad.app/Contents/MacOS/idf…).
>>>>> 
>>>>> I have uploaded a sample dmg image here:
>>>>> http://ul.to/ypsk7m41
>>>>> What you see in the dmg is 1:1 what is created in the build process now…
>>>>> this should make packaging and distributing automated builds very easy
>>>>> in future.
>>>> 
>>>>   I looked at the file layout and it looks good.  At some point we
>>>> should
>>>>   add the documentation, component libraries, and 3D models (possibly
>>>>   footprint libraries if the user does not want to use the github
>>>> plugin).
>>>>    This would be a complete install of KiCad.  The footprint
>>>> libraries can
>>>>   be loaded via the github plugin.  Is it possible to set local
>>>>   environment variables in a bundle?  It might be a good idea to set the
>>>>   kicad environment variables so that the user doesn't have to mess
>>>>   with them.
>>>> 
>>>>> 
>>>>> I am still doing some final touches to the patch before it gets
>>>>> submitted.
>>>>> So, feel free to test and comment…
>>>>> 
>>>>> 
>>>>> Regards,
>>>>> Bernhard
>>>>> 
>>>>> Begin forwarded message:
>>>>> 
>>>>>> *From: *Wayne Stambaugh <stambaughw@xxxxxxxxxxx
>>>>   <mailto:stambaughw@xxxxxxxxxxx>
>>>>>> <mailto:stambaughw@xxxxxxxxxxx <mailto:stambaughw@xxxxxxxxxxx>>>
>>>>>> *Subject: **[Kicad-developers] Build changes.*
>>>>>> *Date: *27. September 2014 00:09:13 MESZ
>>>>>> *To: *KiCad Developers <kicad-developers@xxxxxxxxxxxxxxxxxxx
>>>>   <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>>>>>> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
>>>>   <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>>
>>>>>> 
>>>>>> I just committed revision r5149 which fails when wxWidgets is less than
>>>>>> version 3.0.0.  I know that the wx3 is not without it's issues but
>>>>>> it is
>>>>>> becoming too much of a burden to try to keep the code compatible with
>>>>>> wx2 along the known issues.
>>>>>> 
>>>>>> I've also added an option when building on OSX that disables
>>>>>> downloading
>>>>>> and building all of the dependencies from source by default.  You must
>>>>>> now run CMake with -DUSE_OSX_DEPS_BUILDER=ON if you want to use that
>>>>>> build method.  The are further OSX bundle fixes on the way as well so
>>>>>> please be patient as we transition away from that build philosophy.  I
>>>>>> am working with Bernhard (thanks Bernhard) on getting this issue
>>>>>> resolved so OSX looks for the dependencies on the system and
>>>>>> creates OSX
>>>>>> bundles without external scripts.  I have it on good authority that
>>>>>> KiCad will build and run just fine using the installed dependencies.
>>>>>> 
>>>>>> I am also working on getting stock Boost 1.56 to build KiCad.  It does
>>>>>> appear to work on Linux.  I'm still having some issues on Windows so
>>>>>> hopefully that will be resolved before too long and thus eliminate the
>>>>>> last dependency we will have to build from source.
>>>>>> 
>>>>>> Wayne
>>>>>> 
>>>>>> _______________________________________________
>>>>>> Mailing list: https://launchpad.net/~kicad-developers
>>>>>> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
>>>>   <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>>>>>> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
>>>>   <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>
>>>>>> Unsubscribe : https://launchpad.net/~kicad-developers
>>>>>> More help   : https://help.launchpad.net/ListHelp
>>>>> 
>>>>> 
>>>>> 
>>>>> _______________________________________________
>>>>> Mailing list: https://launchpad.net/~kicad-developers
>>>>> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
>>>>   <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>>>>> Unsubscribe : https://launchpad.net/~kicad-developers
>>>>> More help   : https://help.launchpad.net/ListHelp
>>>>> 
>>>> 
>>>> 
>>>> 
>>>>   _______________________________________________
>>>>   Mailing list: https://launchpad.net/~kicad-developers
>>>>   Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
>>>>   <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>>>>   Unsubscribe : https://launchpad.net/~kicad-developers
>>>>   More help   : https://help.launchpad.net/ListHelp
>>>> 
>>>> 
>>> 
>>> 
>>> 
>>> _______________________________________________
>>> Mailing list: https://launchpad.net/~kicad-developers
>>> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
>>> Unsubscribe : https://launchpad.net/~kicad-developers
>>> More help   : https://help.launchpad.net/ListHelp
>> 
> 
> 
> 
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp


Follow ups

References