← Back to team overview

kicad-developers team mailing list archive

Re: Local Variables

 

I think that'll work for users who want to compile their own.  From a
packaging and distribution standpoint:  I'm excited for kiways.
 Distributed Mac applications come in 3 types:

1) a DMG that contains a .app bundle that you drag to /Applications.  This
is basically what installing to /Applications does, except minus the
packaging step (which I already scripted)
2) a .pkg installer.  These can install files all over your system, but
then uninstalling means running the .pkg again.  Users don't like these as
much as #1.
3) from the Mac App Store. (Probably not a short term solution for us right
now--hopefully someday!)

If we can set it up so that everything is contained in the .app, then we
can do #1 for distribution.  What's stopping us now from doing that is that
multiple .apps want to refer to the same libraries, so we have to have a
place outside of the .app that is common.  Once we have kiways, this should
be doable, right?

Other Mac folks, what do you think?  (Other non-Mac folks too...)

Adam Wolf
Wayne and Layne, LLC


On Mon, Mar 17, 2014 at 12:22 AM, Jean-Paul Louis <louijp@xxxxxxxxx> wrote:

> Wayne,
>
> Thank you for your detailed reply.
> I will add -DCMAKE_INSTALL_PREFIX=/Applications/Kicad/ to my script,
> and the library files in /Library/Application Support/Kicad/ from my clone
> of github.
>
> I do not understand why we need two different repositories (bazaar for the
> software, and github for the data), but I can live with that.
>
> Anyway, every component used in my designs is always copied to a custom
> library that store only the components that I use.
> That way, I do not worry about anything related to my design being
> overwritten by an update, and I do not have to browse through hundred of
> files to find what I need.
>
> I will try this on my next build after renaming my current Kicad to
> kicad_old,
> and will post my results.
>
> Jean-Paul
>
>
> On Mar 16, 2014, at 7:14 PM, Wayne Stambaugh <stambaughw@xxxxxxxxxxx>
> wrote:
>
> > On 3/14/2014 9:17 PM, Jean-Paul Louis wrote:
> >> Wayne,
> >>
> >> OS X is a strange beast.
> >> Apps are installed in more than one place.
> >> /usr/local/ is not visible from the finder, but /opt/local/ is.
> >> When I got a package prebuilt, it was installed in
> /Applications/KiCad/, which was fine.
> >
> > It sounds to me like the default install location for OSX installers is
> > /Applications.  I'm not sure why CMake is not using that as the default
> > install prefix.  It uses the correct paths on Windows and Linux.
> >>
> >> When I build from source with minimum interaction (cake, make, make
> install),
> >> /demos and /templates ends-up in /usr/local/share/kicad/.
> >
> > You can always override CMake's default install path by using
> > -DCMAKE_INSTALL_PREFIX=install_path to get KiCad installed where you
> > want it installed.
> >
> >>
> >> kicad is in several places
> >>
> >> Jean-Pauls-MacBook-Pro:kicad jean-paullouis$ sudo find / -name kicad
> >> Password:
> >> /Applications/KiCad/kicad.app/Contents/MacOS/kicad
> >> ...
> >> /usr/local/bin/kicad.app/Contents/MacOS/kicad
> >> /usr/local/lib/kicad
> >> /usr/local/share/doc/kicad
> >> /usr/local/share/kicad
> >>
> >> I am trying to find a way to have all the *.app under the
> /Applications/KiCad/,
> >> and all the data under the home directory, so I can update/upgrade
> without touching the data.
> >> ~/Documents/ would be acceptable, I would prefer ~/Data/.
> >> Github is OK for storage, but local storage is better for
> efficiency/load.
> >
> > I would not put the component or footprint libraries in your ~/ folder.
> > This will remove the temptation of modifying them only to have them
> > overwritten the next time you update them.  It's best to create new
> > libraries and leave the default libraries unchanged.
> >
> >>
> >> What is the best route to do just that?
> >
> > You should be able use git to create your own branch form
> > https://github.com/KiCad/kicad-library.  The CMake installer file is
> > still there so you can run cmake -DCMAKE_INSTALL_PREFIX=path_to_intall
> > and then make install.  I'm guessing you will have to have admin
> > privileges to install them in the system paths so the sudo command
> > should work.  If you choose this option, you will have to periodically
> > pull the changes from github to keep your libraries up to date.
> >
> > Wayne
> >
> >>
> >> Regards,
> >> Jean-Paul (AC9GH)
> >>
> >>
> >>
> >> On Mar 14, 2014, at 7:08 PM, Wayne Stambaugh <stambaughw@xxxxxxxxxxx>
> wrote:
> >>
> >>> On 3/14/2014 5:32 PM, Marco Serantoni wrote:
> >>>>
> >>>> On 14/mar/2014, at 20:00, Wayne Stambaugh <stambaughw@xxxxxxxxxxx>
> wrote:
> >>>>>>
> >>>>>> The idea of keeping Kicad libs in Github is great, but if the
> >>>>>> first-time-ever user has to set it up in some system config files
> or run
> >>>>>> bash scripts (think of Windows users!), it will ruin his experience
> >>>>>> (sorry for sounding Steve Jobs-ish...). Eagle, DesignSpark and
> Altium
> >>>>>> have libraries working out-of-the box. Why we shouldn't?
> >>>>>>
> >>>>>> My proposal is add a configuration window (see attachment) that
> appears
> >>>>>> the first time freshly installed Kicad is launched. What do you
> think of
> >>>>>> this approach?
> >>>>>
> >>>>> Hey Tom,
> >>>>>
> >>>>> Yes I agree that it should just work and it should.  The problem is
> not
> >>>>> in the code AFAICT.  The problem appears to be in the location where
> the
> >>>>> default fp_lib_table file is installed on OSX.  When either CvPcb or
> >>>>> Pcbnew are run for the first time without a define fp_lib_table file
> in
> >>>>> the user's platform dependent home folder, an attempt is made to copy
> >>>>> the default fp_lib_table file to the user's home folder.  On Linux
> the
> >>>>> default fp_lib_table file is stored in /usr/share/kicad/template and
> >>>>> copied to ~/.  If the default file cannot be found, then there is no
> >>>>> choice but to create an empty fp_lib_table file which is what
> appears to
> >>>>> be happening on OSX.  The path(s) searched for the default
> fp_lib_table
> >>>>> are defined in EDA_APP::FindLibraryPath().  If the path that the OSX
> >>>>> installer is placing the default fp_lib_table is not in the list of
> >>>>> paths, then that is the problem or there is potentially a file
> >>>>> permission problem preventing the file from being copied.  This used
> to
> >>>>> work fine on both Windows and Linux so if no one changed it, it
> should
> >>>>> still work.
> >>>>
> >>>>
> >>>>
> >>>> Wayne the problem is not the code and this is CLEAR.
> >>>> The problem is that there isn't an installer to install programs
> under OSX, that can be placed by the user anywhere under /Applications
> directory.
> >>>> The other issue is that the /Applications directory is not supposed
> to guest "support files", so the combination of the two things doesn't
> allow me to hardcode it on FindLibraryPath.
> >>>> I've also tried to think an arrangement on that, but interacting with
> Dick on ticket  #1267911, i've understood with error that EDA_APP is gone,
> letting me wait Kiway.
> >>>> </code>
> >>>
> >>> Where do the KiCad template files get installed on OSX when you install
> >>> KiCad using the OSX bundle?  That is where the the path should point to
> >>> when attempting to copy the default fp_lib_table file to the users home
> >>> folder.  I would prefer not use EDA_APP::FindLibraryPath() but rather
> >>> wxStandardPaths::GetDataDir() with the appropriate subfolders added so
> >>> this works out to be:
> >>>
> >>> Windows: path_to_kicad_binary/../share/templates
> >>> Linux: prefix/share/kicad/templates
> >>> OSX: kicad.app/Contents/SharedSupport/templates
> >>>
> >>> This is valid for windows and linux.  Is this not valid for OSX or are
> >>> you saying that you cannot copy a file from the application install
> >>> folder to the user's home folder?  I really am confused because I
> >>> thought OSX was essentially BSD which should be posix compliant.
> >>>
> >>>>
> >>>> <user_interaction>
> >>>> The limit of the previous approach is that the developer/packager
> choose for the user if use the old libraries or the GitHub approach, not
> letting the user choose what is better for him.
> >>>> Probably the "startup configuration window/wizard" could be a mayor
> enhancement for the user and solve also the other issue in a single move.
> >>>> This was also the spirit that I had when the 31/12/2013 on the ML
> i've asked a button to "fill in" the table starting from the old legacy
> library path.
> >>>>
> >>>>
> >>>> --
> >>>> Marco
> >>>>
> >>>
> >>>
> >>>
> >>> _______________________________________________
> >>> 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
>
>
> _______________________________________________
> 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