diff options
| -rw-r--r-- | org/config_dub.org | 634 | 
1 files changed, 7 insertions, 627 deletions
| diff --git a/org/config_dub.org b/org/config_dub.org index e402831..4d4b207 100644 --- a/org/config_dub.org +++ b/org/config_dub.org @@ -25,15 +25,10 @@  #+END_SRC  ** dub -*** dub.settings.json :dub:config:json: -#+HEADER: :NO-tangle ../dub.settings.json -#+BEGIN_SRC json -{ -  "defaultArchitecture": "x86_64", -  "defaultCompiler":     "ldc" -} -#+END_SRC +- https://github.com/dlang/dub/ +- https://code.dlang.org/getting_started +- https://code.dlang.org/docs/commandline  *** dub.json :dub:config:json:  **** dub.json @@ -175,627 +170,12 @@  }  #+END_SRC -***** git (interim) - -#+HEADER: :noweb yes -#+BEGIN_SRC json -{ -  "authors": [ -                               "Ralph Amissah" -  ], -  "copyright":                 "Copyright © 2015 - 2023 Ralph Amissah", -  "name":                      "spine", -  "version":                   "<<spine_version_set>>", -  "description":               "a sisu like document parser", -  "homepage":                  "https://sisudoc.org", -  "license":                   "AGPL-3.0+", -  "targetPath":                "./bin", -  "sourcePaths":               [ "./src/doc_reform" ], -  "stringImportPaths":         [ "./views" ], -  "buildRequirements":         [ "allowWarnings" ], -  "targetType":                "executable", -  "platforms":                 [ "posix" ], -  "buildTypes": { -    "dmd": { -      "dflags":                [ "-J=views", "-I=src/doc_reform" ], -      "buildOptions":          [ "verbose", "inline" ], -      "buildRequirements":     [ "allowWarnings" ] -    }, -    "ldc": { -      "dflags":                [ "-O2", "-J=views", "-I=src/doc_reform" ], -      "buildOptions":          [ "verbose", "optimize", "inline" ], -      "buildRequirements":     [ "allowWarnings" ] -    } -  }, -  "dependencies": { -    "spine:d2sqlite3":         "*", -    "spine:imageformats":      "*", -    "spine:dyaml":             "*" -  }, -  "subPackages": [ -    { -      "name":        "d2sqlite3", -      "description": "A thin wrapper around SQLite 3", -      "homepage":  "https://github.com/dlang-community/d2sqlite3", -      "authors":    [ "Nicolas Sicard", "Other contributors: see Github repo" ], -      "copyright":   "Copyright 2011-18 Nicolas Sicard", -      "license":     "BSL-1.0", -      "sourcePaths": [ "./src/ext_depends/d2sqlite3/source" ], -      "importPaths": [ "./src/ext_depends/d2sqlite3/source" ], -      "configurations": [ -        { -          "name": "with-lib", -          "targetType": "library", -          "systemDependencies": "SQLite version >= 3.8.7", -          "libs": [ "sqlite3" ], -          "excludedSourceFiles": [ "source/tests.d" ] -        } -      ] -    }, -    { -      "name":        "imageformats", -      "description": "Decoders for PNG, TGA, BMP, JPEG and encoders for PNG, TGA, BMP.", -      "authors": [ "Tero Hänninen" ], -      "license": "BSL-1.0", -      "sourcePaths": [ "./src/ext_depends/imageformats" ], -      "importPaths": [ "./src/ext_depends/imageformats" ] -    }, -    { -      "name": "dyaml", -      "description": "YAML parser and emitter", -      "authors": [ -        "Ferdinand Majerech", -        "Cameron \"Herringway\" Ross" -      ], -      "license": "BSL-1.0", -      "homepage": "https://github.com/dlang-community/D-YAML", -      "copyright": "Copyright © 2011-2018, Ferdinand Majerech", -      "sourcePaths": [ "./src/ext_depends/D-YAML/source" ], -      "importPaths": [ -        "./src/ext_depends/D-YAML/source", -        "./src/ext_depends/tinyendian/source" -      ], -      "dependencies": { -        "tinyendian" :  "~>0.2.0" -      }, -      "preGenerateCommands": [ -        "rm -rf ./src/ext_depends/D-YAML/examples", -        "rm -rf ./src/ext_depends/D-YAML/testsuite" -      ] -    }, -    { -      "name": "tinyendian", -      "description": "Lightweight endianness handling library", -      "authors": [ "Ferdinand Majerech" ], -      "license": "Boost 1.0", -      "copyright": "Copyright © 2014, Ferdinand Majerech", -      "homepage": "https://github.com/kiith-sa/tinyendian", -      "sourcePaths": [ "./src/ext_depends/tinyendian/source" ], -      "importPaths": [ "./src/ext_depends/tinyendian/source" ] -    } -  ], -  "configurations": [ -    { -      "name":                  "default", -      "targetName":            "spine" -    }, -    { -      "name":                  "ldc", -      "targetName":            "spine-ldc" -    }, -    { -      "name":                  "dmd", -      "targetName":            "spine-dmd" -    } -  ] -} -#+END_SRC - -***** git fetched remote external dependencies (used previously) +*** dub.settings.json :dub:config:json: -#+HEADER: :noweb yes +#+HEADER: :NO-tangle ../dub.settings.json  #+BEGIN_SRC json  { -  "authors": [ -                               "Ralph Amissah" -  ], -  "copyright":                 "Copyright © 2015 - 2023 Ralph Amissah", -  "name":                      "spine", -  "version":                   "<<spine_version_set>>", -  "description":               "a sisu like document parser", -  "homepage":                  "https://sisudoc.org", -  "license":                   "AGPL-3.0+", -  "targetPath":                "./bin", -  "sourcePaths":               [ "./src/doc_reform" ], -  "stringImportPaths":         [ "./views" ], -  "buildRequirements":         [ "allowWarnings" ], -  "targetType":                "executable", -  "platforms":                 [ "posix" ], -  "buildTypes": { -    "dmd": { -      "dflags":                [ "-J=views", "-I=src/doc_reform" ], -      "buildOptions":          [ "verbose", "inline" ], -      "buildRequirements":     [ "allowWarnings" ] -    }, -    "ldc": { -      "dflags":                [ "-O2", "-J=views", "-I=src/doc_reform" ], -      "buildOptions":          [ "verbose", "optimize", "inline" ], -      "buildRequirements":     [ "allowWarnings" ] -    } -  }, -  "dependencies": { -    "d2sqlite3":               "~><<version_d2sqlite3>>", -    "imageformats":            "~><<version_imageformats>>", -    "dyaml":                   "~><<version_dyaml>>", -    "tinyendian":              "~><<version_tinyendian>>" -  }, -  "configurations": [ -    { -      "name":                  "default", -      "targetName":            "spine" -    }, -    { -      "name":                  "ldc", -      "targetName":            "spine-ldc" -    }, -    { -      "name":                  "dmd", -      "targetName":            "spine-dmd" -    } -  ] -} -#+END_SRC - -**** +check dub.json+ - -#+HEADER: :NO-tangle ../dub.json -#+HEADER: :noweb yes -#+BEGIN_SRC sh -{ -  "authors": [ -                               "Ralph Amissah" -  ], -  "copyright":                 "Copyright © 2015 - 2023 Ralph Amissah", -  "name":                      "spine", -  "description":               "a sisu like document parser", -  "homepage":                  "https://sisudoc.org", -  "license":                   "AGPL-3.0+", -  "targetPath":                "./bin", -  "sourcePaths":               [ "./src/doc_reform" ], -  "stringImportPaths":         [ "./views" ], -  "buildRequirements":         [ "allowWarnings" ], -  "targetType":                "executable", -  "platforms":                 [ "posix" ], -  "dependencies": { -    "d2sqlite3":               "~><<version_d2sqlite3>>", -    "imageformats":            "~><<version_imageformats>>", -    "dyaml":                   "~><<version_dyaml>>", -    "tinyendian":              "~><<version_tinyendian>>" -  }, -  "subConfigurations": { -    "d2sqlite3":               "all-included" -  }, -  "configurations": [ -    { -      "name":                  "default", -      "targetName":            "spine" -    }, -    { -      "name":                  "ldc", -      "targetName":            "spine-ldc" -    }, -    { -      "name":                  "dmd", -      "targetName":            "spine-dmd" -    } -  ], -  "buildTypes": { -    "dmd": { -      "dflags":                [ "-J=views", "-I=src/doc_reform" ], -      "buildOptions":          [ "verbose", "inline" ], -      "buildRequirements":     [ "allowWarnings" ] -    }, -    "ldc": { -      "dflags":                [ "-O2", "-J=views", "-I=src/doc_reform" ], -      "buildOptions":          [ "verbose", "optimize", "inline" ], -      "buildRequirements":     [ "allowWarnings" ] -    } -  } -} -#+END_SRC - -*** dub.sdl REFERENCE UNUSED:dub:config:sdl: -Every DUB package should contain a [[https://code.dlang.org/package-format?lang=json][dub.json]] (or [[https://code.dlang.org/package-format?lang=sdl][dub.sdl]]) - -not configured here, using dub.json for the moment - -**** header (including dependencies) :header: - -#+HEADER: :NO-tangle ../dub.sdl -#+HEADER: :tangle-mode (identity #o755) -#+HEADER: :shebang #!/usr/bin/env dub -#+HEADER: :noweb yes -#+BEGIN_SRC sh -name                "spine" -description         "sisu document parser" -homepage            "https://sisudoc.org" -authors             "Ralph Amissah" -copyright           "Copyright (C) 2016 - 2023 Ralph Amissah" -license             "AGPL-3.0+" -targetPath          "./bin" -#sourcePath          "./src/doc_reform" -stringImportPaths   "./views" -buildRequirements   "allowWarnings" -targetType          "executable" -platforms           "posix" -dependency          "d2sqlite3"      version="~><<version_d2sqlite3>>"     # https://code.dlang.org/packages/d2sqlite3     https://github.com/dlang-community/d2sqlite3 -  subconfiguration  "d2sqlite3"      "all-included" -dependency          "imageformats"   version="~><<version_imageformats>>"  # https://code.dlang.org/packages/imageformats  https://github.com/lgvz/imageformats -dependency          "dyaml"          version="~><<version_dyaml>>"         # https://code.dlang.org/packages/dyaml         https://github.com/dlang-community/D-YAML -dependency          "tinyendian"     version="~><<version_tinyendian>>"    # https://code.dlang.org/packages/tinyendian    https://github.com/dlang-community/tinyendian // dyaml dependency -#+END_SRC - -**** default - -time (dub --compiler=dmd --build=release) -time (dub --compiler=ldc2 --build=release) -time (dub --compiler=gdc --build=release) - -#+HEADER: :NO-tangle ../dub.sdl -#+BEGIN_SRC sh -configuration "default" { -  targetName           "spine" -  postGenerateCommands "notify-send -t 0 'D executable ready' 'spine'" -} -#+END_SRC - -**** dmd :dmd: - -time (dub --compiler=dmd -color --config=dmd --build=dmd) -time (dub --compiler=dmd -color --config=dmd --build=dmd-release) - -#+HEADER: :NO-tangle ../dub.sdl -#+BEGIN_SRC sh -configuration "dmd" { -  targetName           "spine-dmd" -  postGenerateCommands "notify-send -t 0 'D executable ready' 'spine-dmd'" -} -buildType     "dmd" { -  dflags               "-J=views" "-I=src/doc_reform" -  buildOptions         "verbose" "inline" -  buildRequirements    "allowWarnings" -} -buildType     "dmd-release" { -  dflags               "-J=views" "-I=src/doc_reform" -  buildOptions         "verbose" "releaseMode" "optimize" "inline" -} -configuration "dmd-version" { -  dflags               "-J=views" "-I=src/doc_reform" -  buildOptions         "verbose" "optimize" -  targetName           "spine-dmd-ver" -  postGenerateCommands "notify-send -t 0 'D executable ready' 'spine-dmd-ver'" -} -#+END_SRC - -  buildOptions         "verbose" "optimize"                        // ok works quick compile -  buildOptions         "verbose" "optimize" "inline"               // ok works takes ages to compile -  buildOptions         "verbose" "releaseMode" "optimize" "inline" // broken, runtime errors - -**** ldc :ldc: - -time (dub --compiler=ldc2 -color --config=ldc --build=ldc) -time (dub --compiler=ldc2 -color --config=ldc --build=ldc-release) - -#+HEADER: :NO-tangle ../dub.sdl -#+BEGIN_SRC sh -configuration "ldc" { -  targetName           "spine-ldc" -  postGenerateCommands "notify-send -t 0 'D executable ready' 'spine-ldc'" -} -buildType     "ldc" { -  dflags            "-O2" "-J=views" "-I=src/doc_reform" -  buildOptions      "verbose" "optimize" "inline" -  buildRequirements "allowWarnings" -} -buildType     "ldc-local" { -  dflags            "-O2" "-J=views" "-I=src/doc_reform" "-mcpu=native" -  buildOptions      "verbose" "optimize" "inline" -  buildRequirements "allowWarnings" -} -buildType     "ldc-release" { -  dflags               "-O2" "-J=views" "-I=src/doc_reform" -  buildOptions         "verbose" "optimize" "inline" "releaseMode" -} -configuration "ldc-version" { -  dflags               "-O2" "-J=views" "-I=src/doc_reform" -  buildOptions         "verbose" "optimize" "inline" "releaseMode" -  targetName           "spine-ldc-ver" -  postGenerateCommands "notify-send -t 0 'D executable ready' 'spine-ldc-ver'" -} -#+END_SRC - -**** gdc :gdc: - -time (dub --compiler=gdc --config=gdc --build=gdc) -time (dub --compiler=gdc --config=gdc --build=gdc-release) - -#+HEADER: :NO-tangle ../dub.sdl -#+BEGIN_SRC sh -configuration "gdc" { -  targetName           "spine-gdc" -  postGenerateCommands "notify-send -t 0 'D executable ready' 'spine-gdc'" -} -buildType     "gdc" { -  dflags               "-O" "-J=views" "-I=src/doc_reform" -  lflags               "-lz" -  buildOptions         "inline" -  buildRequirements    "allowWarnings" -} -buildType     "gdc-release" { -  dflags               "-O2" "-J=views" "-I=src/doc_reform" -  lflags               "-lz" -  buildOptions         "verbose" "optimize" "inline" "releaseMode" -} -configuration "gdc-version" { -  dflags               "-O2" "-J=views" "-I=src/doc_reform" -  lflags               "-lz" -  buildOptions         "verbose" "optimize" "inline" "releaseMode" -  targetName           "spine-gdc-ver" -  postGenerateCommands "notify-send -t 0 'D executable ready' 'spine-gdc-ver'" -} -#+END_SRC - -***** generic :generic: -****** build (sdp) :release: - -#+BEGIN_SRC sh -configuration "build" { -  name                 "build" -  targetType           "executable" -  platforms            "posix" -  targetName           "bin/spine" -  dflags               "-J=views" "-I=src/doc_reform" -  buildOptions         "verbose" "releaseMode" "optimize" "inline" -  postGenerateCommands "notify-send -t 0 'D release executable ready' 'spine'" -} -#+END_SRC - -** dub :dub: - -https://github.com/dlang/dub/ -https://code.dlang.org/getting_started -https://code.dlang.org/docs/commandline - -*** setup -**** dub json or sdlang - -Every DUB package should contain a [[https://code.dlang.org/package-format?lang=json][dub.json]] or [[https://code.dlang.org/package-format?lang=sdl][dub.sdl]] -https://code.dlang.org/package-format?lang=sdl -https://code.dlang.org/packages/sdlang-d -https://github.com/Abscissa/SDLang-D/blob/master/HOWTO.md - -https://code.dlang.org/docs/commandline - -**** dub dependencies - -dub list -dub upgrade -dub fetch taggedalgebraic -dub fetch libinputvisitor -dub fetch unit-threaded ? - -sdp ~master: /home/ralph/grotto/repo/git.repo/utils/spine-x/ -/home/ralph/.dub/packages/* - -*** build -**** debug flags - -#+BEGIN_SRC sh -biblio -biblio_sorted -bibliosorted -block -bookindex -bookindexmatch -bookindexraw -check -checkdoc -code -comment -dumpdoc                    write out document contents, with object type and ocn -endnotes -endnotes_build -footnotes -footnotesdone -group -header -header_and_content -header1 -headerjson -headermakejson -headermetadatajson -heading -headings -headingsfound -insert -io -munge -node -objectrelated1 -objectrelated2 -objects -ocnoff -para -parabullet -parabulletindent -paraindent -paraindenthang -parent -poem -quote -raw -source -srclines -structattrib -summary -table -toc -#+END_SRC - -** dub REFERENCE -*** SET version - -#+NAME: dub_version_set -#+HEADER: :noweb yes -#+BEGIN_SRC nix -<<dub_version_next>> -#+END_SRC - -#+NAME: nix_sha_dub -#+HEADER: :noweb yes -#+BEGIN_SRC nix -<<nix_sha_dub_next>> -#+END_SRC - -*** SELECT version -**** dub 1.24.0 - -#+NAME: dub_version_next -#+BEGIN_SRC nix -1.24.0 -#+END_SRC - -#+NAME: nix_sha_dub_next -#+BEGIN_SRC nix -0wirm6msz8kw2a7v2ax9ab6i48cmfv6qjwpfrl9vrr4k4xdg3vn6 -#+END_SRC - -**** dub 1.23.0 - -#+NAME: dub_version_current -#+BEGIN_SRC nix -1.23.0 -#+END_SRC - -#+NAME: nix_sha_dub_current -#+BEGIN_SRC nix -06a4whsl1m600k096nwif83n7za3vr7pj1xwapncy5fcad1gmady -#+END_SRC - -*** dub (using ldc rather than dmd) overlay REFERENCE :overlay: - -#+HEADER: :NO-tangle ~/nixpkgs/pkgs/development/tools/build-managers/dub/default.nix -#+HEADER: :noweb yes -#+BEGIN_SRC nix -{ lib, stdenv, fetchFromGitHub, curl, libevent, rsync, ldc, dcompiler ? ldc }: - -assert dcompiler != null; - -stdenv.mkDerivation rec { -  pname = "dub"; -  version = "<<dub_version_set>>"; - -  enableParallelBuilding = true; - -  src = fetchFromGitHub { -    owner = "dlang"; -    repo = "dub"; -    rev = "v${version}"; -    sha256 = "<<nix_sha_dub>>"; -  }; - -  postUnpack = '' -      patchShebangs . -  ''; - -  # Can be removed with https://github.com/dlang/dub/pull/1368 -  dubvar = "\\$DUB"; -  postPatch = '' -      substituteInPlace test/fetchzip.sh \ -          --replace "dub remove" "\"${dubvar}\" remove" -  ''; - -  nativeBuildInputs = [ dcompiler libevent rsync ]; -  buildInputs = [ curl ]; - -  buildPhase = '' -    for dc_ in dmd ldmd2 gdmd; do -      echo "... check for D compiler $dc_ ..." -      dc=$(type -P $dc_ || echo "") -      if [ ! "$dc" == "" ]; then -        break -      fi -    done -    if [ "$dc" == "" ]; then -      exit "Error: could not find D compiler" -    fi -    export DC_NAME=$dc_ -    echo "$dc_ found and used as D compiler to build $pname" -    $dc ./build.d -    ./build -  ''; - -  doCheck = !stdenv.isDarwin; - -  checkPhase = '' -    export DUB=$NIX_BUILD_TOP/source/bin/dub -    export PATH=$PATH:$NIX_BUILD_TOP/source/bin/ -    export DC=${dcompiler.out}/bin/$DC_NAME -    echo "DC out --> $DC" -    export HOME=$TMP - -    <<build_dub_tests>> - -    ./test/run-unittest.sh -  ''; - -  installPhase = '' -    mkdir -p $out/bin -    cp bin/dub $out/bin -  ''; - -  meta = with lib; { -    description = "Package and build manager for D applications and libraries"; -    homepage = "https://code.dlang.org/"; -    license = licenses.mit; -    maintainers = with maintainers; [ ThomasMader ]; -    platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" ]; -  }; +  "defaultArchitecture": "x86_64", +  "defaultCompiler":     "ldc"  }  #+END_SRC - -***** removed failing tests - -#+NAME: build_dub_tests -#+BEGIN_SRC nix -rm test/0-init-multi.sh -rm test/0-init-multi-json.sh -rm test/5-convert-stdout.sh -rm test/dc-env.sh -rm test/ddox.sh -rm test/feat663-search.sh -rm test/fetchzip.sh -rm test/interactive-remove.sh -rm test/issue672-upgrade-optional.sh -rm test/issue674-concurrent-dub.sh -rm test/issue820-extra-fields-after-convert.sh -rm test/issue877-auto-fetch-package-on-run.sh -rm test/issue990-download-optional-selected.sh -rm test/issue1003-check-empty-ld-flags.sh -rm test/issue1037-better-dependency-messages.sh -rm test/issue1040-run-with-ver.sh -rm test/issue1091-bogus-rebuild.sh -rm test/issue1180-local-cache-broken.sh -rm test/issue1194-warn-wrong-subconfig.sh -rm test/issue1277.sh -rm test/issue1372-ignore-files-in-hidden-dirs.sh -rm test/issue1416-maven-repo-pkg-supplier.sh -rm test/issue1447-build-settings-vars.sh -rm test/issue1574-addcommand.sh -rm test/issue1524-maven-upgrade-dependency-tree.sh -rm test/issue1773-lint.sh -rm test/removed-dub-obj.sh -rm test/version-spec.sh -rm -r test/git-dependency -rm -r test/issue502-root-import -#+END_SRC | 
