glib2: extract source download task