conda-forge / nsis-feedstock

A conda-smithy repository for nsis.
BSD 3-Clause "New" or "Revised" License
0 stars 10 forks source link

Build from source #1

Open jakirkham opened 8 years ago

jakirkham commented 8 years ago

This currently a repackaged binary (from SourceForge 😝). Unfortunately trying to get it to build from source became a bit to cumbersome. Also, I'm not sure that defaults or anyone for that matter is doing anything different. So we decided to punt on building it from source and hopefully resolve the issue here in the feedstock. To get it to build we need to use scons and possibly an ancient version of the VS runtime (looks like 2005 or 2003). Hopefully that last constraint is not fixed and the VS 2008 runtime would work. Alternatively there seems to be an option to build with MinGW, which may be more doable. Some instructions can be found for these old builds. Really going to need help from others to get this done.

cc @mingwandroid @msarahan @patricksnape @gillins

jakirkham commented 8 years ago

Please see PR ( https://github.com/conda-forge/nsis-feedstock/pull/2 ) for some work already put towards this goal. This was tried in staged-recipes, but didn't work over there. Maybe some expert eyes can help narrow down what the problem was and fix it. 🍀 Thanks in advance for your feedback.

vidartf commented 8 years ago

The NSIS nightly seems to be built using this script:

#/bin/bash

#
# nightly build script
#   currently running on drone.io
#

set -ex

# get zlib library
sudo apt-get -y install scons mingw32 mingw32-binutils zlib1g-dev libcppunit-dev
wget -O /tmp/zlib.zip "https://downloads.sourceforge.net/project/libpng/zlib/1.2.8/zlib128-dll.zip?r=&ts=1403402496&use_mirror=hivelocity"
mkdir /tmp/zlib
unzip /tmp/zlib.zip -d /tmp/zlib

# build
scons ZLIB_W32=/tmp/zlib SKIPUTILS="NSIS Menu" test dist-zip 2>&1 | tee build.log
patricksnape commented 8 years ago

It needs to be built with MSVC (until we sort the mingw buildchain out anyway) :(

msarahan commented 8 years ago

@patricksnape why? Standalone tools can be built with other compilers, IMO. They need to handle their runtime dependencies appropriately, though.

If you need mingw, use MSYS2, it is available as several conda packages:

conda search m2

patricksnape commented 8 years ago

Ah I see, just didn't think we had the toolchain ready for mingw 😄

msarahan commented 8 years ago

Sure, that's up for interpretation. I don't think there are technical limitations here, just questions about policy and the "right" way to do things.