kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #14901
Re: OSX Build changes.
-
From:
Wayne Stambaugh <stambaughw@xxxxxxxxxxx>
-
Date:
Thu, 02 Oct 2014 15:08:46 -0400
-
Cc:
kicad-developers@xxxxxxxxxxxxxxxxxxx
-
In-reply-to:
<CAJXA3hRp=taH32WLT1t+BAWHDp67gY3wTVh_Zur0bHdOJCE0ZQ@mail.gmail.com>
-
User-agent:
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.1.2
The component and 3D model libraries are a good idea. If the user
doesn't like the github plugin, then you could also include the
footprint libraries. One thing I didn't see in Bernhard's patch was the
Documentation. That is definitely a must at some point in order to have
a stable release. I figure one step at time and we'll get there. I
think this is a good first step.
On 10/2/2014 2:52 PM, Adam Wolf wrote:
> No problem--I certainly can't look at it until Saturday or Sunday, but
> I'm seriously very excited about this!
>
> When I pointed a few users at the bundle, they said "Where are the
> libraries?"
>
> I will probably look at what the damage would be to pull in the Github
> libraries into the bundle and point the tools at it, unless someone has
> already started.
>
> Adam Wolf
>
> Ad
>
> On Oct 2, 2014 1:45 PM, "Wayne Stambaugh" <stambaughw@xxxxxxxxxxx
> <mailto:stambaughw@xxxxxxxxxxx>> wrote:
>
> Sorry guys. I got sidetracked last night with some 3D stuff and I
> didn't get it committed. I've already tested to make sure it didn't
> break windows or linux builds so it's ready to commit. I will do my
> best to get it committed this evening when I get home from work.
>
> Wayne
>
> On 10/2/2014 2:38 PM, Bernhard Stegmaier wrote:
> > Hi Adam,
> >
> > it’s already on Wayne’s desk to commit…
> >
> >
> > Regards,
> > Bernhard
> >
> > On 02.10.2014, at 20:37, Adam Wolf <adamwwolf@xxxxxxxxx
> <mailto:adamwwolf@xxxxxxxxx>
> > <mailto:adamwwolf@xxxxxxxxx <mailto:adamwwolf@xxxxxxxxx>>> wrote:
> >
> >> Hi Bernhard,
> >>
> >> Sorry to threadjack, but do you have any ETA on the patch that
> created
> >> that bundle? I'm extremely excited to release nightlies...
> >>
> >> Adam Wolf
> >> Cofounder and Engineer
> >> Wayne and Layne LLC
> >>
> >> On Oct 2, 2014 1:29 PM, "Bernhard Stegmaier"
> <stegmaier@xxxxxxxxxxxxx <mailto:stegmaier@xxxxxxxxxxxxx>
> >> <mailto:stegmaier@xxxxxxxxxxxxx
> <mailto:stegmaier@xxxxxxxxxxxxx>>> wrote:
> >>
> >> Hi Garth,
> >>
> >> see below.
> >>
> >>
> >> Regards,
> >> Bernhard
> >>
> >> On 02.10.2014, at 18:23, Garth Corral <gcorral@xxxxxxxxx
> <mailto:gcorral@xxxxxxxxx>
> >> <mailto:gcorral@xxxxxxxxx <mailto:gcorral@xxxxxxxxx>>> wrote:
> >>
> >>> Hi Bernhard,
> >>>
> >>> I looked around through the application bundle you posted
> and had
> >>> some questions about the proposed layout. It seems there is
> some
> >>> arbitrary placement of files in the bundle. I know it
> ultimately
> >>> doesn’t matter to most users as long as it runs and behaves
> >>> properly but it doesn’t really follow the usual guidelines for
> >>> layout.
> >> Well… it is like CMake BundleUtilities do it out of the box. I
> >> didn’t implement that.
> >>
> >>> Is there any chance that the dylibs could not be dumped in the
> >>> MacOS directory? They really don’t belong there, as is the case
> >>> for most everything in there. I think these should be in a
> >>> Frameworks directory at the very least. Also, and this is
> just a
> >>> point of curiosity, but why is libX11 included in these
> >>> libraries? What requires that to run?
> >> I will check that. There is one parameter for CMake’s
> >> fixup_bundle() that might do the trick, but it is not really
> >> documented.
> >> I will have to check the code what it does exactly and if/how it
> >> could be changed.
> >> BundleUtilities just include what is not standard. Obviously the
> >> cairo which got picked up was built by MacPorts and has some
> >> transitive dependencies to the libX11 also built by MacPorts
> - all
> >> the libs that are in the bundle come from my /opt/local
> folder, so
> >> this is fine. Things may be different with other setups.
> >>
> >>> Same for the command line binaries, they are things that are not
> >>> required for the application to run so belong out in a support
> >>> directory of some kind.
> >> I also thought about not putting them into the bundle at all, but
> >> I did because it doesn’t hurt and some people might still use
> them
> >> directly.
> >> The command line binaries of .kiface applications must be in the
> >> same folder as the .kiface - or you again have to link stuff.
> >>
> >>> I’m not familiar with the kiface files, but they appear to be
> >>> loadable bundles, which also don’t belong there. Probably
> belong
> >>> in a PlugIns directory
> >> Yes, maybe… but the same as above. As it is currently implemented
> >> they must be in the same folder as the main kicad application,
> >> otherwise they won’t be loaded.
> >>
> >>> It looks like the remainder of the applications are in there as
> >>> well, albeit not integrated into application bundles themselves.
> >>> Not really sure how those should be integrated, but putting
> their
> >>> pieces in the MacOS directory doesn’t seem ideal. Any chance
> >>> these applications could just be consumed whole in an
> >>> Applications directory inside the main app? Apple does this for
> >>> some of their own applications. It doesn’t provide much in the
> >>> way of additional functionality but it does allow things to be
> >>> organized in a cleaner way, and as a side effect the
> applications
> >>> could still be run standalone in a pinch.
> >> Well, yes, maybe it is not ideal to have the idf* tools in there.
> >> But, at least they are there and can be used. Some other project
> >> like for example Calibre also just put them into the bundle
> as I did.
> >> Normally, that stuff probably should go directly to the
> >> filesystem, but then you have to write an installer, or some
> >> script that does copying.
> >>
> >>> Obviously the intent going forward is to have only the one main
> >>> application, but it doesn’t seem like the current structure of
> >>> the project is quite there yet.
> >> The main intent was to *not* bundle all dependencies in *every*
> >> individual bundle for pcbnew, eeschema, etc. as it was before and
> >> to remove the dependencies between the bundles that were imposed
> >> by symlinks to the kifaces.
> >> Further, also one main intent was to use default tools to create
> >> the bundle like CMake’s BundleUtilities.
> >>
> >>> Anyway, I know that not all applications follow the model,
> but it
> >>> seems like it would be good to try to lay things out in as
> >>> standard a way as possible, accounting for application needs, of
> >>> course.
> >> You’re welcome to continue my work and make the internals more
> >> Apple-like - this would probably impose some more changes not
> only
> >> to build process, but also the code.
> >> For me, it’s more important that an application behaves and feels
> >> more OSX like from a users point of view than to have every
> >> internal thing the right way Apple said it had to be.
> >>
> >>> Here’s Apple’s guidelines. Again, I know not everything fits.
> >>>
> >>>
> https://developer.apple.com/library/ios/documentation/CoreFoundation/Conceptual/CFBundles
> >>>
> >>> Garth
> >>>> 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 am still doing some final touches to the patch before it
> gets submitted.
> >>>> So, feel free to test and comment…
> >>>>
> >>>>
> >>>> Regards,
> >>>> Bernhard
> >>>
> >>> _______________________________________________
> >>> 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>
> >> <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
>
Follow ups
References