Giter VIP home page Giter VIP logo

Comments (10)

MikeWey avatar MikeWey commented on July 30, 2024 1

I was using Gstreamer version 1.16. But it should be fixed now:

gtkd-developers/gir-to-d@1004768

from gtkd.

MikeWey avatar MikeWey commented on July 30, 2024

Historically the generated source files have been in source control, when i started working on GtkD the generated source files had some hand edited changes.
To Easily update GtkD to newer versions of Gtk these changes were moved in to the wrapper/generator.

The following files are auto generated:

  • build/gtkD.d
  • src/*
  • srcsv/*
  • srcgda/*
  • srcgstreamer/*

To generate these files follow the following steps:

Change to the wrap directory:
cd wrap
Download the documentation and create the symlinks:
./downloadFiles.sh
Build the wrapper:
make
Generate the source (The wrapper expects to be run from the wrap directory):
./gtkwrap

One thing to take into account is that the wrapper needs to be build with D2 while the generated sources also support D1 and Tango.

from gtkd.

timotheecour avatar timotheecour commented on July 30, 2024

ping on this issue: it's really bad to have generated code checked in git; furthermore, src/ really doesn't convey it's auto genenratd; how about at least move everything generated under a directory called autogenerated ?
I guess my last pull #172 also wrongly modified stuff in src?

[see also https://github.com/gtkd-developers/GtkD/commit/0e8b34e0be0d8a7d9e5b24857f7366fdd2ee7adc#commitcomment-20314927 : it's not maintainable as it is]

from gtkd.

MikeWey avatar MikeWey commented on July 30, 2024

I've moved the generated code into a separate directory named generated.

There are three things left to do to be able to remove the generated code from the repo:

  • Correctly detect the location of the gir files on supported platforms.
  • Add versioning support to the APILookup files so it doesn't only work with the latest GTK version.
  • Figure out how this setup would work in combination with dub.

from gtkd.

valpackett avatar valpackett commented on July 30, 2024

Regenerating when building currently works, except bindings for gstreamer (generated with 1.14) doesn't build:

generated/gstreamer/gst/mpegts/ISO639LanguageDescriptor.d(107): Error: cannot implicitly convert expression (*this.gstMpegtsISO639LanguageDescriptor).audioType of type GstMpegtsIso639AudioType[64] to GstMpegtsIso639AudioType*[64]
generated/gstreamer/gst/mpegts/ISO639LanguageDescriptor.d(113): Error: cannot implicitly convert expression value of type GstMpegtsIso639AudioType*[64] to GstMpegtsIso639AudioType[]

from gtkd.

MikeWey avatar MikeWey commented on July 30, 2024

Which version of gir-to-d are you using? This error should be fixed with v0.19.1.

from gtkd.

valpackett avatar valpackett commented on July 30, 2024

I'm using git master.. though maybe that build was using whatever's bundled with gtkd-3.8.5

from gtkd.

MikeWey avatar MikeWey commented on July 30, 2024

The GtkD makefile doesn't build the bundled gir-to-d if it can find it on the system.
If this is the case you can check the version with: girtod --version

from gtkd.

valpackett avatar valpackett commented on July 30, 2024

Yeah, it's definitely master, GIR to D v0.19.1-4-g2961742+.

from gtkd.

valpackett avatar valpackett commented on July 30, 2024

Thanks!

from gtkd.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.