diff --git a/CHANGELOG.md b/CHANGELOG.md index 03f4980..c1ebb6d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,12 +1,31 @@ Changelog ========= +v1.2.1 - 2017-02-12 +------------------- + +### Bug fixes ### + +- Fixed compile error when compiling with vibe.d versions prior to 0.8.0 - [9d25e5dd][commit9d25e5dd] +- Fixed orphan format specifier error - [220b0128][commit220b0128] +- Fixed test executable name generation causing sub package test builds to fail - [e6262373][commite6262373] +- Fixed bogus warning message when compiling with `--arch x86_mscoff` (by Andrey Penechko aka MrSmith33) - [pull #1059][issue1059] +- Fixed plaform specifiers to work for "x86_mscoff" - [86e85276][commit86e85276] + +[commit9d25e5dd]: https://github.com/dlang/dub/commit/9d25e5dd0337e9c054ff32c4b921f32603d29293 +[commit220b0128]: https://github.com/dlang/dub/commit/220b01280041abbead57db6eec28e9279b9d7cf6 +[commite6262373]: https://github.com/dlang/dub/commit/e6262373558591fa8754704fcc2e8ddafabf6671 +[commit86e85276]: https://github.com/dlang/dub/commit/86e85276a7ff85c5cde4e1926c40e666a2b6bf78 +[issue1059]: https://github.com/dlang/dub/issues/1059 + + v1.2.0 - 2017-01-22 ------------------- ### Features and improvements ### - Added an `--override-config` command line option to force selecting specific configurations for dependencies - [pull #1004][issue1004] + - Added an `x86_mscoff` architecture corresponding to DMD's `-m32mscoff` flag (by John Colvin) - [pull #1007][issue1007] - Implemented selective dependency upgrades ("dub upgrade ") - [issue #1024][issue1024] - Multiple configurations with the same name are now detected and will cause a warning to be displayed - [issue #984][issue984] - Updated the Sublime Text generator and the Bash completion script to include the default "release-debug" build type (by p0nce) - [pull #1028][issue1028] @@ -14,6 +33,7 @@ [issue984]: https://github.com/dlang/dub/issues/984 [issue1004]: https://github.com/dlang/dub/issues/1004 +[issue1007]: https://github.com/dlang/dub/issues/1007 [issue1023]: https://github.com/dlang/dub/issues/1023 [issue1024]: https://github.com/dlang/dub/issues/1024 [issue1028]: https://github.com/dlang/dub/issues/1028 diff --git a/build.sh b/build.sh index 81823e2..d5d8f55 100755 --- a/build.sh +++ b/build.sh @@ -17,41 +17,47 @@ fi VERSION=$($DMD --version 2>/dev/null | sed -n 's|DMD.* v||p') +# workaround for link order issues with libcurl (phobos needs to come before curl) if [[ $VERSION < 2.069.0 ]]; then - # link against libcurl - LIBS=`pkg-config --libs libcurl 2>/dev/null || echo "-lcurl"` -fi + # link against libcurl + LIBS=`pkg-config --libs libcurl 2>/dev/null || echo "-lcurl"` -# fix for modern GCC versions with --as-needed by default -if [[ `$DMD --help | head -n1 | grep 'DMD\(32\|64\)'` ]]; then - if [ `uname` = "Linux" ]; then - LIBS="-l:libphobos2.a $LIBS" - else - LIBS="-lphobos2 $LIBS" + # fix for modern GCC versions with --as-needed by default + if [[ `$DMD --help | head -n1 | grep 'DMD\(32\|64\)'` ]]; then + if [ `uname` = "Linux" ]; then + LIBS="-l:libphobos2.a $LIBS" + else + LIBS="-lphobos2 $LIBS" + fi + elif [[ `$DMD --help | head -n1 | grep '^LDC '` ]]; then + if [ `uname` = "SunOS" ]; then + LIBS="-lnsl -lsocket -lphobos2-ldc $LIBS" + else + LIBS="-lphobos2-ldc $LIBS" + fi fi -elif [[ `$DMD --help | head -n1 | grep '^LDC '` ]]; then - if [ `uname` = "SunOS" ]; then - LIBS="-lnsl -lsocket -lphobos2-ldc $LIBS" - else - LIBS="-lphobos2-ldc $LIBS" - fi + + # adjust linker flags for dmd command line + LIBS=`echo "$LIBS" | sed 's/^-L/-L-L/; s/ -L/ -L-L/g; s/^-l/-L-l/; s/ -l/ -L-l/g'` fi -# adjust linker flags for dmd command line -LIBS=`echo "$LIBS" | sed 's/^-L/-L-L/; s/ -L/ -L-L/g; s/^-l/-L-l/; s/ -l/ -L-l/g'` - -echo Generating version file... -if [ "$GITVER" = "" ]; then - GITVER=$(git describe) || GITVER=unknown +if [ "$GITVER" = "" ]; then + GITVER=$(git describe) || echo "Could not determine a version with git." fi -echo "module dub.version_;" > source/dub/version_.d -echo "enum dubVersion = \"$GITVER\";" >> source/dub/version_.d +if [ "$GITVER" != "" ]; then + echo Generating version file... + echo "module dub.version_;" > source/dub/version_.d + echo "enum dubVersion = \"$GITVER\";" >> source/dub/version_.d +else + echo Using existing version file. +fi # For OSX compatibility >= 10.7 MACOSX_DEPLOYMENT_TARGET=10.7 echo Running $DMD... $DMD -ofbin/dub -w -version=DubUseCurl -Isource $* $LIBS @build-files.txt +bin/dub --version echo DUB has been built as bin/dub. echo echo You may want to run diff --git a/dub.sdl b/dub.sdl index 607ae2c..eb41eaa 100644 --- a/dub.sdl +++ b/dub.sdl @@ -22,13 +22,13 @@ } configuration "library-nonet" { - dependency "vibe-d:inet" version="~>0.7.30" optional=true + dependency "vibe-d:http" version="~>0.7.30" optional=true targetType "library" excludedSourceFiles "source/app.d" } configuration "dynamic-library-nonet" { - dependency "vibe-d:inet" version="~>0.7.30" optional=true + dependency "vibe-d:http" version="~>0.7.30" optional=true targetType "dynamicLibrary" excludedSourceFiles "source/app.d" } diff --git a/source/dub/compilers/compiler.d b/source/dub/compilers/compiler.d index 80eafc8..2670bcf 100644 --- a/source/dub/compilers/compiler.d +++ b/source/dub/compilers/compiler.d @@ -138,7 +138,10 @@ // Hack: see #1059 // When compiling with --arch=x86_mscoff build_platform.architecture is equal to ["x86"] and canFind below is false. // This hack prevents unnesessary warning 'Failed to apply the selected architecture x86_mscoff. Got ["x86"]'. - if (arch_override.length && !build_platform.architecture.canFind(arch_override == "x86_mscoff" ? "x86" : arch_override)) { + // And also makes "x86_mscoff" available as a platform specifier in the package recipe + if (arch_override == "x86_mscoff") + build_platform.architecture ~= arch_override; + if (arch_override.length && !build_platform.architecture.canFind(arch_override)) { logWarn(`Failed to apply the selected architecture %s. Got %s.`, arch_override, build_platform.architecture); } diff --git a/source/dub/dub.d b/source/dub/dub.d index e2a6829..d23131e 100644 --- a/source/dub/dub.d +++ b/source/dub/dub.d @@ -492,7 +492,7 @@ auto generator = createProjectGenerator("build", m_project); - auto test_config = format("%s-test-%s", m_project.rootPackage.name.replace(".", "-"), config); + auto test_config = format("%s-test-%s", m_project.rootPackage.name.replace(".", "-").replace(":", "-"), config); BuildSettings lbuildsettings = settings.buildSettings; m_project.addBuildSettings(lbuildsettings, settings.platform, config, null, true); diff --git a/source/dub/internal/vibecompat/inet/path.d b/source/dub/internal/vibecompat/inet/path.d index a1a348f..d2fcff8 100644 --- a/source/dub/internal/vibecompat/inet/path.d +++ b/source/dub/internal/vibecompat/inet/path.d @@ -7,7 +7,7 @@ */ module dub.internal.vibecompat.inet.path; -version (Have_vibe_d_inet) public import vibe.inet.path; +version (Have_vibe_d_core) public import vibe.inet.path; else: import std.algorithm; diff --git a/source/dub/internal/vibecompat/inet/url.d b/source/dub/internal/vibecompat/inet/url.d index 7349ef5..389046e 100644 --- a/source/dub/internal/vibecompat/inet/url.d +++ b/source/dub/internal/vibecompat/inet/url.d @@ -9,7 +9,7 @@ public import dub.internal.vibecompat.inet.path; -version (Have_vibe_d_inet) public import vibe.inet.url; +version (Have_vibe_d_core) public import vibe.inet.url; else: import std.algorithm; diff --git a/source/dub/version_.d b/source/dub/version_.d index 94ca6f0..6a79bde 100644 --- a/source/dub/version_.d +++ b/source/dub/version_.d @@ -1,2 +1,2 @@ module dub.version_; -enum dubVersion = "v1.2.0"; +enum dubVersion = "v1.2.1-beta.1";