pacstall / pacstall-programs

Pacstall's official program repository
https://pacstall.dev/packages
MIT License
172 stars 132 forks source link

Broken: libtomlplusplus-header #5553

Closed Xdavius closed 6 months ago

Xdavius commented 7 months ago

Package name

libtomlplusplus-header

Version

3.4.0

Pacstall version

4.3.2

Relevant log output

libtomlplusplus-dev already exists. Give same file :

/usr/include/toml++/toml.hpp

libtomlplusplus-header :

/usr/local/include/toml++/toml.hpp

better providing the full toml package

Patch for package

name="libtomlplusplus"
pkgname="tomlplusplus"
pkgver="3.4.0"
pkgrel="1"
pkgdesc="Header-only TOML config file parser and serializer for C++17"
url="https://github.com/marzer/tomlplusplus/archive/refs/tags/v$pkgver.tar.gz"
license=("MIT")
depends=("libc6")
makedepends=("cmake" "meson" "gcc")
provides=("${name}-dev" "${name}3" "${name}")
replace=("${name}3" "${name}-dev" "${name}-header")
hash="8517f65938a4faae9ccf8ebb36631a38c1cadfb5efa85d9a72e15b9e97d25155"

maintainer="xdavius"

build() {
  meson build
  ninja -C build
}

package() {
  sudo meson install -C build --destdir "${pkgdir}"
  sudo install -vDm 644 ./LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}/"
}
Xdavius commented 7 months ago

Sorry, don't know where to put this.

Elsie19 commented 7 months ago

When installing hyprland, I needed a specific file that wasn't in the libtomlplusplus-dev apt package. How are you installing this package?

Xdavius commented 7 months ago

When installing hyprland, I needed a specific file that wasn't in the libtomlplusplus-dev apt package. How are you installing this package?

Hi,

I'm installing it from debian Sid (apt install) You can check on the pkgs.org website that the toml.hpp is included in the package.

It could be a packaging problem from an other distribution I haven't checked all distros...

And if this file is missing, I think that's not a good idea to provide a splited package.

I'm still reflecting :

Providing full lib packages and installing libs in /usr/local/lib is a good idea.

We can have apt's libs in /usr/lib and pacstall ones with a standard rolling name in the other location.

It's may not be a problem. And we can use it fully in case of need

And pacscript will be more simple with no versions numbers, no conflict and no replace for the system, to avoid Frankensystems.

Please, let me know if you find something.

Regards.

Elsie19 commented 7 months ago

Run dpkg --listfiles libtomlplusplus-dev.

Xdavius commented 7 months ago

Run dpkg --listfiles libtomlplusplus-dev.

davius@debian-gladius:~$ sudo dpkg --listfiles libtomlplusplus-dev
[sudo] Mot de passe de davius : 
/.
/usr
/usr/include
/usr/include/toml++
/usr/include/toml++/impl
/usr/include/toml++/impl/array.hpp
/usr/include/toml++/impl/array.inl
/usr/include/toml++/impl/at_path.hpp
/usr/include/toml++/impl/at_path.inl
/usr/include/toml++/impl/date_time.hpp
/usr/include/toml++/impl/formatter.hpp
/usr/include/toml++/impl/formatter.inl
/usr/include/toml++/impl/forward_declarations.hpp
/usr/include/toml++/impl/header_end.hpp
/usr/include/toml++/impl/header_start.hpp
/usr/include/toml++/impl/json_formatter.hpp
/usr/include/toml++/impl/json_formatter.inl
/usr/include/toml++/impl/key.hpp
/usr/include/toml++/impl/make_node.hpp
/usr/include/toml++/impl/node.hpp
/usr/include/toml++/impl/node.inl
/usr/include/toml++/impl/node_view.hpp
/usr/include/toml++/impl/parse_error.hpp
/usr/include/toml++/impl/parse_result.hpp
/usr/include/toml++/impl/parser.hpp
/usr/include/toml++/impl/parser.inl
/usr/include/toml++/impl/path.hpp
/usr/include/toml++/impl/path.inl
/usr/include/toml++/impl/preprocessor.hpp
/usr/include/toml++/impl/print_to_stream.hpp
/usr/include/toml++/impl/print_to_stream.inl
/usr/include/toml++/impl/simd.hpp
/usr/include/toml++/impl/source_region.hpp
/usr/include/toml++/impl/std_except.hpp
/usr/include/toml++/impl/std_initializer_list.hpp
/usr/include/toml++/impl/std_map.hpp
/usr/include/toml++/impl/std_new.hpp
/usr/include/toml++/impl/std_optional.hpp
/usr/include/toml++/impl/std_string.hpp
/usr/include/toml++/impl/std_string.inl
/usr/include/toml++/impl/std_utility.hpp
/usr/include/toml++/impl/std_variant.hpp
/usr/include/toml++/impl/std_vector.hpp
/usr/include/toml++/impl/table.hpp
/usr/include/toml++/impl/table.inl
/usr/include/toml++/impl/toml_formatter.hpp
/usr/include/toml++/impl/toml_formatter.inl
/usr/include/toml++/impl/unicode.hpp
/usr/include/toml++/impl/unicode.inl
/usr/include/toml++/impl/unicode_autogenerated.hpp
/usr/include/toml++/impl/value.hpp
/usr/include/toml++/impl/version.hpp
/usr/include/toml++/impl/yaml_formatter.hpp
/usr/include/toml++/impl/yaml_formatter.inl
/usr/include/toml++/toml.h
/usr/include/toml++/toml.hpp
/usr/lib
/usr/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu/cmake
/usr/lib/x86_64-linux-gnu/cmake/tomlplusplus
/usr/lib/x86_64-linux-gnu/cmake/tomlplusplus/tomlplusplusConfig.cmake
/usr/lib/x86_64-linux-gnu/cmake/tomlplusplus/tomlplusplusConfigVersion.cmake
/usr/lib/x86_64-linux-gnu/pkgconfig
/usr/lib/x86_64-linux-gnu/pkgconfig/tomlplusplus.pc
/usr/share
/usr/share/doc
/usr/share/doc/libtomlplusplus-dev
/usr/share/doc/libtomlplusplus-dev/README.html
/usr/share/doc/libtomlplusplus-dev/changelog.Debian.gz
/usr/share/doc/libtomlplusplus-dev/changelog.gz
/usr/share/doc/libtomlplusplus-dev/copyright
/usr/share/doc/libtomlplusplus-dev/docs
/usr/share/doc/libtomlplusplus-dev/docs/images
/usr/share/doc/libtomlplusplus-dev/docs/images/badge-C++17.svg
/usr/share/doc/libtomlplusplus-dev/docs/images/badge-TOML.svg
/usr/share/doc/libtomlplusplus-dev/docs/images/badge-awesome.svg
/usr/share/doc/libtomlplusplus-dev/docs/images/badge-gitter.svg
/usr/share/doc/libtomlplusplus-dev/docs/images/badge-license-MIT.svg
/usr/share/doc/libtomlplusplus-dev/docs/images/banner.png
/usr/share/doc/libtomlplusplus-dev/docs/images/banner.svg
/usr/share/doc/libtomlplusplus-dev/docs/images/logo.svg
/usr/share/doc/libtomlplusplus-dev/examples
/usr/share/doc/libtomlplusplus-dev/examples/benchmark_data.toml
/usr/share/doc/libtomlplusplus-dev/examples/error_printer.cpp
/usr/share/doc/libtomlplusplus-dev/examples/example.toml
/usr/share/doc/libtomlplusplus-dev/examples/examples.hpp
/usr/share/doc/libtomlplusplus-dev/examples/merge_base.toml
/usr/share/doc/libtomlplusplus-dev/examples/merge_overrides.toml
/usr/share/doc/libtomlplusplus-dev/examples/parse_benchmark.cpp
/usr/share/doc/libtomlplusplus-dev/examples/simple_parser.cpp
/usr/share/doc/libtomlplusplus-dev/examples/toml_generator.cpp
/usr/share/doc/libtomlplusplus-dev/examples/toml_merger.cpp
/usr/share/doc/libtomlplusplus-dev/examples/toml_to_json_transcoder.cpp
/usr/share/doc-base
/usr/share/doc-base/libtomlplusplus-dev.tomlplusplus
/usr/lib/x86_64-linux-gnu/libtomlplusplus.so
Elsie19 commented 7 months ago

So that package on debian sid has the file in the correct place, but not in the ubuntu one...

Xdavius commented 7 months ago

Yes... Ubuntu 23.10 /Debian bookworm version : 3.3.0 and no toml.hpp Debian Sid : 3.4.0

Ubuntu LTS 24 is coming maybe with the update. And the package is totally absent from Ubuntu 22.04 LTS

That's why I suggested to provide the full package updated.

Elsie19 commented 7 months ago

I could add libtomlplusplus-header as a pacdep based on what DISTRO is set as, so that if it's debian:sid, it won't have the pacdep, but everything else will. Does that sound fine?

Xdavius commented 7 months ago

I could add libtomlplusplus-header as a pacdep based on what DISTRO is set as, so that if it's debian:sid, it won't have the pacdep, but everything else will. Does that sound fine?

Hi.

Yes, it's a better deal to don't have the rebuild all the package.