[GSoC 2021] Google Summer of Code 2021

No Problems [^_^] I will try to find those myself .

Regards

@dhairya_bahl I suggest you make a list of list of deprecated vs which class will be replacing them after you have a list of those deprecated classes you can start with replacing ones that are less complex to replace.
PS: Whenever you get a delayed response follow the project idealist and see what can you do next! So you don’t get stuck at a point.

2 Likes

@ice0 @rodolforg, I used to build synfig by autotools method where deprecations warnings are clearly visible.
But today when I tried building cmake build with CFLAGS -DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED I don’t see any deprecation warnings(other than some variable not used.)
To be precise -
make CFLAGS+="-DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED"
but not getting any deprecation warning.

I am using debian 10

I can’t help you. Amazingly I understand Autotools way better than I understand CMake (almost nothing). :slight_smile:

@ankit Thank You for the Advice ! Working on the list now :slight_smile: I will refer to idea list from now on if I get stuck or In case of delayed response.

Regards :slight_smile:

For CMake you need to pass parameters at the configuration stage:

cmake ../synfig -DCMAKE_CXX_FLAGS="-DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED -DGDKMM_DISABLE_DEPRECATED -DGTKMM_DISABLE_DEPRECATED"
make -j8

Please notice GDKMM/GTKMM. After that build will fail on deprecated classes.

2 Likes

Hello friends and hello mentors @ice0 @ankit!, newbie here! I have used synfig for quiet sometime for my college projects and would love to contribute to it during GSoC. But seems like all of the project ideas are taken, are they?

@RukshanJS Greetings :slightly_smiling_face: I am also a Synfig contributor just like you. Don’t think like an idea is taken or not. Just make a proposal explaining your approach to a particular project.

Do refer to this discussion to know more about GSoC and you will get most of your doubts cleared.

For Contribution in synfig, I would suggest you to refer to the official synfig-docs, and try solving some good first issues. Don’t forget to fork the repo [^_^]

Regards

@ankit @ice0 @rodolforg I really want to start working on the project deprecated gtk classes . Can I already start working on the same ? If I am not selected in gsoc, then I will stop working on the same and the selected contributor will work on the project.

Till that time, kindly allow me to start working on the project idea.

Thanks and regards

I think this is a good idea. You need to make small changes to better understand what needs to be done. It will also help you when you start writing a proposal.

I also want to note that the students application period has already begun and the deadline is April 14.

Students can register and submit their applications to mentor organizations.

1 Like

@ice0 I have already submitted my draft proposals to synfig. They have been reviewed by @ankit ! Feel free to check them out and suggest me changes in them so that I can make them even better and improve them accordingly.

So, I am starting to work on the project itself. I will begin with the class gtk::StockId first and will move further accordingly. Feel free to share some tips that can be useful to me while working on the project.

Happy Learning [^_^]

1 Like

For those who are interested in the idea of replacing ETL classes.

This is a line of code from state_smoothmove.cpp:371.

smart_ptr<OneMoment> wait;if(selected_ducks.size()>20)wait.spawn();

This code uses smart_ptr and it’s spawn() method.
And here are the questions you should answer when you will be work on this project:

  1. What does this code do? (better to check state_smoothmove.cpp to see the whole function code)
  2. Which class from std can be used instead of smart_ptr here?
  3. Which method I will use instead of spawn()? (Please check _smart_ptr.h for details)

Feel free to write your answers here, this will helps other students too.

2 Likes

Reminder:
Student application deadline in few hours

April 13 18:00 UTC

please make sure the final proposal is submitted.

1 Like

@ankit Submitted the final proposals sir :heavy_check_mark: . Nervous yet excited at the same time :slightly_smiling_face::raised_hands:

Thanks and Regards

Unfortunately, I’ve been so swamped with schoolwork that I haven’t been able to do anything outside of it. Since I’ve decided to drop out of GSoC, I feel that @dhairya_bahl or anyone else might appreciate some of the things I’ve found snooping around deprecated Gtk classes:

Gio::ActionGroup and Gio::Action are interfaces, to replace them write a proper class or use Gio::SimpleAction.
Gtk::HScale and Gtk::VScale can be replaced with Gtk::Scale.
Likewise for Gtk::Scrollbar.
UiManager methods are altered in Builder – ex: add_ui_from_string → add_from_string.
Using a standard directory structure is better than Gtk::IconFactory.

I’ve also added the stderr of compiling synfig with disable deprecated for anyone not on Linux.error.zip (10.8 KB)

2 Likes

@rchen10 Thanks for your contribution! I enjoyed reviewing your PR :grinning_face_with_smiling_eyes: you submitted few weeks ago. Hope we’ll have you around again in the near future. I wish you good luck in your current studies.

3 Likes

I was exploring the code of deprecated classes from past few days and trying to understand the use of gtk::action and few other classes as well ! I am really excited to make PRs for the same.

Can I create an issue for the replacing deprecated class project idea as well ? and will start making PRs under that issue.

Or only the selected GSoC participants can work on that project ?

Either way will work fine for me ! No issues :slightly_smiling_face:

Sure. This is a good experience.

1 Like

A reminder to request for the slots in GSoC. Today is the last day. @ice0 @KonstantinDmitriev

Thank you for reminder! Already did.

1 Like