NikitaIvanovV / ictree

Like tree but interactive
https://nikitaivanovv.github.io/ictree/
GNU General Public License v3.0
147 stars 7 forks source link

[Question] Package dependencies with releases? #6

Closed Sqvid closed 2 years ago

Sqvid commented 2 years ago

Hello and thank you for making this useful tool. I am currently trying to package it for Void Linux. Void requires that only official releases be packaged and not just the current git HEAD.

However, when downloading the releases the c-vector and termbox2 directories are empty (as if cloned without git clone --recursive). Is it possible to package these so that ictree can be built from the release tarballs?

Thank you

NikitaIvanovV commented 2 years ago

Hello! GitHub doesn't include submodule contents in autogenerated source archives. I think I can delete those and upload my own tarball.

Sqvid commented 2 years ago

That would be awesome if you think it is appropriate. Because as it is now the package cannot actually be built from the release tarball :(

NikitaIvanovV commented 2 years ago

@Sqvid I added the self-contained tarball to v0.2.2, could please test it?

Sqvid commented 2 years ago

Getting this error when running make

cc -c -o build/args.o -Itermbox2 -Ic-vector -std=c99 -pedantic -Wall -Wextra -Wno-unused-parameter -Iinclude -Os -Igen -MD src/args.c
src/args.c: In function 'process_args':
src/args.c:31:55: error: expected ')' before 'OPTIONS_MSG'
   31 | #define HELP_MSG "Usage: ictree [OPTION...] [FILE]\n" OPTIONS_MSG
      |                                                       ^~~~~~~~~~~
src/args.c:65:26: note: in expansion of macro 'HELP_MSG'
   65 |             printf("%s", HELP_MSG);
      |                          ^~~~~~~~
make: *** [Makefile:64: build/args.o] Error 1
NikitaIvanovV commented 2 years ago

Weird, for me it worked just fine. What is your cc? I guess you can type ls -l $(which cc) to find out.

Sqvid commented 2 years ago
$> $(which cc) -v

Using built-in specs.
COLLECT_GCC=/bin/cc
COLLECT_LTO_WRAPPER=/usr/lib64/gcc/x86_64-unknown-linux-gnu/10.2.1/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: /builddir/gcc-10.2.1_pre1/configure --build=x86_64-unknown-linux-gnu --enable-gnu-unique-object --enable-vtable-verify --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --libexecdir=/usr/lib64 --libdir=/usr/lib64 --enable-threads=posix --enable-__cxa_atexit --disable-multilib --with-system-zlib --enable-shared --enable-lto --enable-plugins --enable-linker-build-id --disable-werror --disable-nls --enable-default-pie --enable-default-ssp --enable-checking=release --disable-libstdcxx-pch --with-isl --with-linker-hash-style=gnu --disable-sjlj-exceptions --disable-target-libiberty --enable-languages=c,c++,objc,obj-c++,fortran,lto,go,ada
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 10.2.1 20201203 (GCC) 
NikitaIvanovV commented 2 years ago

Just uploaded new versions of the archives, could you test them?

Sqvid commented 2 years ago

The new release seems to build. Although wl-copy is not supported. But I assume this is just because the fix was applied after this release (it works on master). Thank you!

NikitaIvanovV commented 2 years ago

@Sqvid Thank you for helping with packaging for other distros! I really appreciate it!

Although wl-copy is not supported.

You're right, it's because the latest release was before I merged the pull request that added the functionality. I'm planning to release v0.3 a bit later.

NikitaIvanovV commented 2 years ago

@Sqvid By the way, if you think it's necessary, you can edit README.md to specify installation instructions for your package and open a PR.

Sqvid commented 2 years ago

Maybe adding a repology tracker would be more general?

NikitaIvanovV commented 2 years ago

I meant adding install instruction, so a user can just copy/paste some lines and get a package installed. AFAIK, that repology thingy only provides a badge to show versions for every package?

Sqvid commented 2 years ago

Ah right! Well I've submitted it to the official repos. So pending acceptance it should just be available through the package manager. I don't think there's a need to specify if it's in the official repo.

Kind regards, Siddhartha Menon

On Mon, 7 Feb 2022, 12:59 pm Nikita Ivanov, @.***> wrote:

I meant adding install instruction, so a user can just copy/paste some lines and get a package installed. AFAIK, that repology thingy only provides a badge to show versions for every package?

— Reply to this email directly, view it on GitHub https://github.com/NikitaIvanovV/ictree/issues/6#issuecomment-1031388066, or unsubscribe https://github.com/notifications/unsubscribe-auth/AKDFTIKENLMYMHSO5VSDLEDUZ6XYNANCNFSM5NUEXI5Q . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you were mentioned.Message ID: @.***>

Sqvid commented 2 years ago

Hey just wanted to let you know that ictree has been accepted into the official void repository :)

NikitaIvanovV commented 2 years ago

Awesome! Happy to hear that! 😀 BTW, I've released 1.0 several days ago, does it mean the package is already outdated?