Re: using nimble for package management

2020-07-11 Thread jseb
Thank you for you answer.

I just want using `nimble` as a classic package manager. But may be i don't 
have understand its goal (i begin to wonder, seeing your post and i'm serious).

A classic package manager can:

  * update its database of packets (ok : `nimble refresh` )
  * do a full upgrade of all installed packets (seems not possible with 
`nimble`)
  * remove outdated packets (seems not possible with `nimble`)



Can i do the operations above with `nimble` ?

When you say:


You should not need to update or clean packages in your pkg directory, you 
do that in your *.nimble file.
Then nimble install in your project go gets the right versions.


Run

That means that each version of of package needed is installed on the fly when 
needed by nimble config dependancy (with the `requires` order ?)

So that mean i could vacuum in _~ /.nimble/pkgs_ without afraiding of breaking 
deps. That's good. And reading that, i understand that asking a global option 
for cleaning « outdated » packages is nonsense, because differents projects 
could need differents versions.

I think i understand better now, thank you. 


Re: using nimble for package management

2020-07-11 Thread Stefan_Salewski
> not quite sure what you are asking?

It would be nice to get informed when a new version is available, and it would 
be nice to be able to update all packages, or a subset when updates are 
available.

Generally I do: nimble refresh nimble unistall gintro nimble install gintro

I do not want to collect all the old releases on my harddisk.

Nimble has still an other issue, examples and docs are not provided, so user 
generally additional has to use some git commands to install full git package.

Note that there is a new package manager available created by a core dev in 
IRC, I think it is called nimpf.


Re: using nimble for package management

2020-07-11 Thread Stefan_Salewski
> not quite sure what you are asking?

It would be nice to get informed when a new version is available, and it would 
be nice to be able to update all packages, or a subset when updates are 
available.

Generally I do: nimble refresh nimble unistall gintro nimble install gintro

I do not want to collect all the old releases on my harddisk.

Nimble has still an other issue, examples and docs are not provided, so user 
generally additional has to use some git commands to install full git package.

Note that there is a new package manager available created by a core dev in 
IRC, I think it is called nimpf.


Re: using nimble for package management

2020-07-11 Thread Yardanico
Nimble is not like a traditional Linux package manager, it is a **programming 
language** package manager. Programs or libraries might use different versions 
of the other libraries, so your 3rd question doesn't make sense. 2nd question - 
well, _maybe_ , but it is not recommended to depend against latest versions of 
other software, and so I think it's not really a high-priority for Nimble.

"That means that each version of of package needed is installed on the fly when 
needed by nimble config dependancy (with the requires order ?)" \- yes, "nimble 
build" or other nimble commands will automatically fetch all dependencies for 
the current library/package if they're not available.


Re: using nimble for package management

2020-07-11 Thread treeform
I am not quite sure what you are asking?

  * If you have a package that you are developing and making local updates use 
nimble develop then you can make edits, use git pull etc... and package stays 
in sync.
  * If you want to update a package that you don't own, increment its version 
in your *.nimble file and run nimble install in your directory? Does your 
project have its own *.nimble file?
  * If you want to know when new versions come out of your packages so that you 
can update... I am not sure ... is this the question you are asking?



1) Nim will install all versions you require so if some one requires 
sdl2_nim-2.0.12.0 it will be installed, if some one requires sdl2-2.0.2, if 
some one requires sdl2_nim-#head it will be installed.

2) You should not need to update or clean packages in your pkg directory, you 
do that in your *.nimble file. Then nimble install in your project go gets the 
right versions.


using nimble for package management

2020-07-11 Thread jseb
Hello,

I have installed some packets with nimble. I wonder if it's possible to do a 
global update after a nimble refresh.

For the moment i use this homemade command:


find ~/.nimble/pkgs/ -type d -maxdepth 1  | for i in $(cut -f1 -d'-'); do 
nimble install $(basename "$i"); done


Run

It has several problems, though:

1) when a package exists, i get an error. Seeing the message, an anwer seems 
required, but actually doesn't wait and throw an error. I don't complain 
because otherwise my script would be stalled, but that's strange anyway:


 Installing x11@1.1
Prompt: x11@1.1 already exists. Overwrite? [y/N]
io.nim(141)  raiseEOF
Error: unhandled exception: EOF reached [EOFError]


Run

2) when an update is available, the old package is not removed:


~$ ls ~/.nimble/pkgs/nico-0.* -lhd
 07-07-20 19:42 /home/jseb/.nimble/pkgs/nico-0.2.7/
 11-07-20 15:20 /home/jseb/.nimble/pkgs/nico-0.3.1/



Run

I could add a cleaning package in my script. But what if a package has a 
dependancy on an older package, which should not be removed, then ?


~$ ls ~/.nimble/pkgs/sdl2* -lhd
 11-07-20 15:48 /home/jseb/.nimble/pkgs/sdl2-2.0.2/
 11-07-20 15:50 /home/jseb/.nimble/pkgs/sdl2_nim-2.0.12.0/
 05-07-20 14:53 /home/jseb/.nimble/pkgs/sdl2_nim-#head/


Run

(i didn't dare removing one of them…)

Thank you.