termux / termux-packages

A package build system for Termux.
https://termux.dev
Other
13.28k stars 3.06k forks source link

Package request: libtorrent #5205

Closed FreddieOliveira closed 4 years ago

FreddieOliveira commented 4 years ago

Package description

Yet another torrent library to be used by bittorrent clients (such as rtorrent). Not to be confused with libtorrent-rasterbar #3327

Link to home page and sources

  1. Home page: https://github.com/rakshasa/libtorrent
  2. Source code: https://github.com/rakshasa/libtorrent

Additional information

I was able to compile it and install from inside termux by simply:

$ git clone https://github.com/rakshasa/libtorrent
$ cd libtorrent
$ ./autogen.sh
$ ./configure --prefix=/data/data/com.termux/files/usr/
$ make -j8
$ make install

Compiling it directly from the source requires the automake, autoconf and libtool in order to run the autogen.sh. In case of compiling one of the releases tarball, the configure script will already be present.

These are the libs it depends upon:

libz.so.1
libcrypto.so.1.1
libc++_shared.so
libm.so
libc.so
libdl.so

Everything I tested so far is working as expected. This is the list of files added to the system when installed:

files
└── usr
    ├── include
    │   └── torrent
    │       ├── bitfield.h
    │       ├── chunk_manager.h
    │       ├── common.h
    │       ├── connection_manager.h
    │       ├── data
    │       │   ├── block.h
    │       │   ├── block_list.h
    │       │   ├── block_transfer.h
    │       │   ├── chunk_utils.h
    │       │   ├── download_data.h
    │       │   ├── file.h
    │       │   ├── file_list.h
    │       │   ├── file_list_iterator.h
    │       │   ├── file_manager.h
    │       │   ├── file_utils.h
    │       │   ├── piece.h
    │       │   └── transfer_list.h
    │       ├── dht_manager.h
    │       ├── download
    │       │   ├── choke_group.h
    │       │   ├── choke_queue.h
    │       │   ├── download_manager.h
    │       │   ├── group_entry.h
    │       │   └── resource_manager.h
    │       ├── download.h
    │       ├── download_info.h
    │       ├── error.h
    │       ├── event.h
    │       ├── exceptions.h
    │       ├── hash_string.h
    │       ├── http.h
    │       ├── net
    │       │   ├── address_info.h
    │       │   ├── fd.h
    │       │   ├── socket_address.h
    │       │   ├── socket_address_key.h
    │       │   ├── socket_event.h
    │       │   └── types.h
    │       ├── object.h
    │       ├── object_raw_bencode.h
    │       ├── object_static_map.h
    │       ├── object_stream.h
    │       ├── path.h
    │       ├── peer
    │       │   ├── choke_status.h
    │       │   ├── client_info.h
    │       │   ├── client_list.h
    │       │   ├── connection_list.h
    │       │   ├── peer.h
    │       │   ├── peer_info.h
    │       │   └── peer_list.h
    │       ├── poll.h
    │       ├── poll_epoll.h
    │       ├── poll_kqueue.h
    │       ├── poll_select.h
    │       ├── rate.h
    │       ├── throttle.h
    │       ├── torrent.h
    │       ├── tracker.h
    │       ├── tracker_controller.h
    │       ├── tracker_list.h
    │       └── utils
    │           ├── directory_events.h
    │           ├── extents.h
    │           ├── log.h
    │           ├── log_buffer.h
    │           ├── option_strings.h
    │           ├── ranges.h
    │           ├── resume.h
    │           ├── signal_bitfield.h
    │           ├── thread_base.h
    │           ├── thread_interrupt.h
    │           └── uri_parser.h
    └── lib
        ├── libtorrent.la
        ├── libtorrent.so -> libtorrent.so.21.0.0
        ├── libtorrent.so.21 -> libtorrent.so.21.0.0
        ├── libtorrent.so.21.0.0
        └── pkgconfig
            └── libtorrent.pc

10 directories, 73 files

Here's the Ubuntu package page: https://packages.ubuntu.com/eoan/libtorrent20

kcubeterm commented 4 years ago

Package added, this should be close.