emacs-helm / helm-system-packages

A Helm interface to the package manager of your operating system
GNU General Public License v3.0
106 stars 11 forks source link

Discrepancy between helm-system-packages' "portage" and system-packages' "emerge" #9

Closed ghost closed 6 years ago

ghost commented 6 years ago

I've got system-packages working relatively fine for Gentoo's Portage despite the fact that some of the commands defined for Emerge be default are (as I suspect) incorrect, and one could probably surmise that they were pulled from the Arch Wiki's Rosetta Stone and thus had something lost in translation. I'm not too confident about my understanding of Gentoo's emerge myself, which is why I haven't said anything. Notwithstanding, it's really no bother since that's easy to fix and doesn't really affect system-packages at a fundamental level.

Trying to execute helm-system-packages, though, in this state doesn't work. I get hit with the message "No such file or directory, helm-system-packages-emerge". Well, being the humple layman that I am, I'm not too fluent in elisp, nor do I really care to be, but that doesn't mean I can't navigate to the package directory and see that while there isn't a package named "helm-system-packages-emerge", there is a "helm-system-packages-portage". My first instinct was to just take the list of emerge commands defined in system-packages-supported-package-managers and ascribe them to portage instead, but that didn't really changes much.

I've never done this before, so sorry if this message is useless.

Ambrevar commented 6 years ago

Thanks for the report!

Indeed, helm-system-packages-portage was not properly loaded. I've just fixed this in e4274f484934f3b81ba91bd1f7d0ab2b8cb20ead, let me know if that works for you.

Also note that this package is not based upon https://github.com/jabranham/system-packages: if I understand your confusion correctly, your attempt at fixing system-packages-supported-package-managers could not have possibly worked on this package.

ghost commented 6 years ago

Well, now I feel like such a goofball. Yes, that probably solves the issue. Unfortunately, helm-packages is telling me that "dependecies are missing (euse, poratgeq)". As I understand it, these two packages are pulled in by gentoolkit, aren't they? I'm able to execute them both, but helm-packages doesn't seem to notice them. Perhapse I have to set them up eix somehow?

Ambrevar commented 6 years ago

No need to feel like a goofball, the name is truly misleading (I realized system-package.el existed after created this one :p).

Regarding the deps issue: Sadly I cannot test right now, so it's totally possible that something is wrong with helm-system-packages.

Does the following code work?

(defun helm-system-packages-portage ()
  "Preconfigured `helm' for Portage."
  (unless (helm-system-packages-missing-dependencies-p "eix" "qlist" "euse" "portageq" "genlop")
    (helm :sources '(helm-system-packages-portage-source
                     helm-system-packages-portage-use-source)
          :buffer "*helm portage*"
          :truncate-lines t
          :input (when helm-system-packages-use-symbol-at-point-p
                   (substring-no-properties (or (thing-at-point 'symbol) ""))))))

If so, then it's just a stupid typo :/

EDIT: To test, evaluate the function (e.g. in the scratch buffer) then re-run helm-system-packages.

ghost commented 6 years ago

Yes, that does in fact solve the issue.

Ambrevar commented 6 years ago

Fixed in 633f44d.

If you have any further issue with portage, don't hesitate to come back to me.