www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - DUB, Platform specifications and dependencies

reply Zardoz <luis.panadero gmail.com> writes:
Actually I'm trying to setup dub to not grab a dependency on 
Windows ( 
https://github.com/Zardoz89/DEDCPU-16/blob/master/dub.sdl ) :

name "dedcpu"
authors "Luis Panadero Guardeño"
targetType "none"
license "BSD 3-clause"
description "DCPU-16 tools"

subPackage {
   name "lem1802"
   description "Visual LEM1802 font editor"
   targetType "executable"
   targetName "lem1802"
   excludedSourceFiles "src/bconv.d"
   excludedSourceFiles "src/ddis.d"
   dependency "gtk-d:gtkd" version="~>3.2.0" platform="posix"
   libs "gtkd" platform="windows"
}

...

How ever, running dub on Windows (tested on two different 
machines), ignores platform specification for gtk-d dependency . 
What I'm doing wrong ?
Nov 24 2015
parent reply =?UTF-8?Q?S=c3=b6nke_Ludwig?= <sludwig outerproduct.org> writes:
Am 24.11.2015 um 19:51 schrieb Zardoz:
 Actually I'm trying to setup dub to not grab a dependency on Windows (
 https://github.com/Zardoz89/DEDCPU-16/blob/master/dub.sdl ) :

 name "dedcpu"
 authors "Luis Panadero Guardeño"
 targetType "none"
 license "BSD 3-clause"
 description "DCPU-16 tools"

 subPackage {
    name "lem1802"
    description "Visual LEM1802 font editor"
    targetType "executable"
    targetName "lem1802"
    excludedSourceFiles "src/bconv.d"
    excludedSourceFiles "src/ddis.d"
    dependency "gtk-d:gtkd" version="~>3.2.0" platform="posix"
    libs "gtkd" platform="windows"
 }

 ...

 How ever, running dub on Windows (tested on two different machines),
 ignores platform specification for gtk-d dependency . What I'm doing
 wrong ?
Platform specifications are currently not supported for dependencies due to the way the dependency resolver works. However, it is possible to use platform specific configurations for this purpose: name "dedcpu" authors "Luis Panadero Guardeño" targetType "none" license "BSD 3-clause" description "DCPU-16 tools" subPackage { name "lem1802" description "Visual LEM1802 font editor" targetType "executable" targetName "lem1802" excludedSourceFiles "src/bconv.d" excludedSourceFiles "src/ddis.d" libs "gtkd" platform="windows" configuration "nogtk" { platforms "windows" } configuration "gtk" { platforms "posix" dependency "gtk-d:gtkd" version="~>3.2.0" } }
Nov 30 2015
parent reply Zardoz <luis.panadero gmail.com> writes:
On Monday, 30 November 2015 at 16:54:43 UTC, Sönke Ludwig wrote:
 Am 24.11.2015 um 19:51 schrieb Zardoz:
 Actually I'm trying to setup dub to not grab a dependency on 
 Windows (
 https://github.com/Zardoz89/DEDCPU-16/blob/master/dub.sdl ) :

 name "dedcpu"
 authors "Luis Panadero Guardeño"
 targetType "none"
 license "BSD 3-clause"
 description "DCPU-16 tools"

 subPackage {
    name "lem1802"
    description "Visual LEM1802 font editor"
    targetType "executable"
    targetName "lem1802"
    excludedSourceFiles "src/bconv.d"
    excludedSourceFiles "src/ddis.d"
    dependency "gtk-d:gtkd" version="~>3.2.0" platform="posix"
    libs "gtkd" platform="windows"
 }

 ...

 How ever, running dub on Windows (tested on two different 
 machines),
 ignores platform specification for gtk-d dependency . What I'm 
 doing
 wrong ?
Platform specifications are currently not supported for dependencies due to the way the dependency resolver works. However, it is possible to use platform specific configurations for this purpose: name "dedcpu" authors "Luis Panadero Guardeño" targetType "none" license "BSD 3-clause" description "DCPU-16 tools" subPackage { name "lem1802" description "Visual LEM1802 font editor" targetType "executable" targetName "lem1802" excludedSourceFiles "src/bconv.d" excludedSourceFiles "src/ddis.d" libs "gtkd" platform="windows" configuration "nogtk" { platforms "windows" } configuration "gtk" { platforms "posix" dependency "gtk-d:gtkd" version="~>3.2.0" } }
Thanks!! I ended doing some minor change to get it working : subPackage { name "lem1802" description "Visual LEM1802 font editor" excludedSourceFiles "src/bconv.d" excludedSourceFiles "src/ddis.d" configuration "nogtk" { targetType "executable" targetName "lem1802" platform "windows" libs "gtkd" } configuration "gtk" { targetType "executable" targetName "lem1802" platform "posix" dependency "gtk-d:gtkd" version="~>3.2.0" } }
Nov 30 2015
parent Luis <luis.panadero gmail.com> writes:
On Monday, 30 November 2015 at 20:27:51 UTC, Zardoz wrote:
 On Monday, 30 November 2015 at 16:54:43 UTC, Sönke Ludwig wrote:
 Am 24.11.2015 um 19:51 schrieb Zardoz:

 Platform specifications are currently not supported for 
 dependencies due to the way the dependency resolver works. 
 However, it is possible to use platform specific 
 configurations for this purpose:
Thanks!! I ended doing some minor change to get it working : subPackage { name "lem1802" description "Visual LEM1802 font editor" excludedSourceFiles "src/bconv.d" excludedSourceFiles "src/ddis.d" configuration "nogtk" { targetType "executable" targetName "lem1802" platform "windows" libs "gtkd" } configuration "gtk" { targetType "executable" targetName "lem1802" platform "posix" dependency "gtk-d:gtkd" version="~>3.2.0" } }
I just updated dmd / dub from the APT repository . This is doing something very weird now. Every time that I do a "dub build dedcpu:lem1802" on Ubuntu 15.10 , dub try to execute the "nogtk" configuration that is Windows only!
Jan 22 2016