Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Packaging #153

Merged
merged 7 commits into from
Sep 23, 2015
Merged

Packaging #153

merged 7 commits into from
Sep 23, 2015

Conversation

h0tw1r3
Copy link
Collaborator

@h0tw1r3 h0tw1r3 commented Sep 18, 2015

OSX packaging, changelog generator, and a little patch to the line-ending changer.

@h0tw1r3
Copy link
Collaborator Author

h0tw1r3 commented Sep 18, 2015

screen shot 2015-09-18 at 3 47 53 pm

@mickelson
Copy link
Owner

This looks pretty good to me, but as an FYI I'm not able to test it fully on OS X (since I only have a junky old 10.6.8 install that seems to be choking on a few things).

So in the build-pkg script I had to change clang to gcc, and I had to comment out the pandoc part too.

After that, it seemed to work and the app bundle seemed to run ok. One thing I don't fully understand though is this output from otool, run against the sfml graphics dylib in the bundle's lib directory:

otool -L libsfml-graphics.2.1.dylib
libsfml-graphics.2.1.dylib:
@loader_path/../libs/libsfml-graphics.2.1.dylib (compatibility version 2.0.0, current version 2.1.0)
@executable_path/../Frameworks/libsfml-window.2.dylib (compatibility version 2.0.0, current version 2.1.0)
@executable_path/../Frameworks/libsfml-system.2.dylib (compatibility version 2.0.0, current version 2.1.0)
@loader_path/../libs/libfreetype.6.dylib (compatibility version 18.0.0, current version 18.2.0)
/System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.11)
/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 1038.36.0)
/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit (compatibility version 1.0.0, current version 275.0.0)
/System/Library/Frameworks/Carbon.framework/Versions/A/Carbon (compatibility version 2.0.0, current version 152.0.0)
/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.9.0)

The second and third lines are mapped to @executable_path/../Frameworks... which doesn't exist, yet the program still runs for me !? I don't know why this would still run, it must be falling back on my system's SFML lib. I seem to only have SFML 2.1 installed, I don't recall if it is from the SFML site or homebrew.

Anyways, I'll try to test this out on linux tomorrow and then merge, thanks!

@h0tw1r3
Copy link
Collaborator Author

h0tw1r3 commented Sep 20, 2015

I think it's reasonable to remove the CC, CXX, etc hard-codes to just pass overrides in $@. Makefile defaults are respected that way. Will do that tomorrow.

The second and third lines are mapped to @executable_path/../Frameworks... which doesn't exist

That is odd. It's almost as if you have both a framework and lib somewhere?
What does it look like when run on the pre-modified library (otool -L /usr/local/lib/libsfml-graphics.2.1.dylib)?
Currently the python script does nothing with Frameworks, but it would be a good idea to handle those at the same time.

I don't know why this would still run, it must be falling back on my system's SFML lib.

Yes, it is. Happened to me with another project so I started testing on a clean VM.

For my linux osxcross environment, I built universal packages for SFML and FFMPEG using the real macports on a 10.7 vm, then copied them over. If i was going to do it again, I would edit the macport definitions before compiling to cut down on the necessary libs.

@mickelson
Copy link
Owner

Here's the output from /usr/local/lib/libsfml-graphics.2.1.dylib

otool -L libsfml-graphics.2.1.dylib
libsfml-graphics.2.1.dylib:
/usr/local/lib/libsfml-graphics.2.1.dylib (compatibility version 2.0.0, current version 2.1.0)
@executable_path/../Frameworks/libsfml-window.2.dylib (compatibility version 2.0.0, current version 2.1.0)
@executable_path/../Frameworks/libsfml-system.2.dylib (compatibility version 2.0.0, current version 2.1.0)
/usr/local/opt/freetype/lib/libfreetype.6.dylib (compatibility version 18.0.0, current version 18.2.0)
/System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.11)
/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 1038.36.0)
/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit (compatibility version 1.0.0, current version 275.0.0)
/System/Library/Frameworks/Carbon.framework/Versions/A/Carbon (compatibility version 2.0.0, current version 152.0.0)
/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.9.0)

Jeffrey Clark added 7 commits September 22, 2015 10:20
should support native and osxcross building
src/fe_overlay.cpp:1027:11: warning: using integer absolute value function 'abs' when argument is of floating point type [-Wabsolute-value]
* for cross packaging, use libdmg-hfsplus to make the filesystem
Conditional pandoc support, otherwise just rename .md to .txt
Add error messages if cross-packaging commands missing
mickelson added a commit that referenced this pull request Sep 23, 2015
@mickelson mickelson merged commit 313fb60 into mickelson:master Sep 23, 2015
@mickelson
Copy link
Owner

Ok, it's merged! I'm hoping to use an OS X build from your buildbot as the 'official' OS X package for 1.6.0, my mac just isn't up for the task anymore.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants