Thread overview
DUB, Platform specifications and dependencies
Nov 24, 2015
Zardoz
Nov 30, 2015
Sönke Ludwig
Nov 30, 2015
Zardoz
Jan 22, 2016
Luis
November 24, 2015
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 ?
November 30, 2015
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"
   }
}

November 30, 2015
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"
  }
}

January 22, 2016
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!