Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 43 additions & 5 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ on:
workflow_dispatch:

jobs:
build_ubuntu_noble:
noble:

runs-on: ubuntu-24.04
env:
Expand Down Expand Up @@ -73,7 +73,7 @@ jobs:
cp -R src/python build/${PACKAGE_NAME}/usr/lib/python3/dist-packages/monero
rm -rf build/${PACKAGE_NAME}/usr/lib/python3/dist-packages/pybind11*
rm -rf build/${PACKAGE_NAME}/usr/lib/python3/dist-packages/bin
cp -R debian build/${PACKAGE_NAME}/DEBIAN
cp -R debian/noble build/${PACKAGE_NAME}/DEBIAN
cp external/monero-cpp/build/libmonero-cpp.so build/${PACKAGE_NAME}/usr/lib/
dpkg-deb --build build/${PACKAGE_NAME}

Expand All @@ -83,7 +83,7 @@ jobs:
name: ${{ env.PACKAGE_NAME }}-deb
path: build/${{ env.PACKAGE_NAME }}.deb

build_ubuntu_jammy:
jammy:

runs-on: ubuntu-22.04
env:
Expand Down Expand Up @@ -145,7 +145,7 @@ jobs:
cp -R src/python build/${PACKAGE_NAME}/usr/lib/python3/dist-packages/monero
rm -rf build/${PACKAGE_NAME}/usr/lib/python3/dist-packages/pybind11*
rm -rf build/${PACKAGE_NAME}/usr/lib/python3/dist-packages/bin
cp -R debian build/${PACKAGE_NAME}/DEBIAN
cp -R debian/jammy build/${PACKAGE_NAME}/DEBIAN
cp external/monero-cpp/build/libmonero-cpp.so build/${PACKAGE_NAME}/usr/lib/
dpkg-deb --build build/${PACKAGE_NAME}

Expand All @@ -154,4 +154,42 @@ jobs:
with:
name: ${{ env.PACKAGE_NAME }}-deb
path: build/${{ env.PACKAGE_NAME }}.deb


docker-noble:
runs-on: ubuntu-22.04
env:
PACKAGE_NAME: python3-monero_${{ github.ref_name }}-1noble1_amd64
steps:
- uses: actions/checkout@v1
with:
submodules: recursive
- name: free up diskspace
run: ${{env.FREE_DISKSPACE}}
- name: prepare build environment
run: docker build --tag monero-python:build-linux --build-arg THREADS=3 --file Dockerfile.noble .
- name: build
run: docker run --rm -v /home/runner/work/monero-python/monero-python:/monero-python -w /monero-python monero-python:build-linux sh ./docker/build.sh
- uses: actions/upload-artifact@v4
with:
name: ${{ env.PACKAGE_NAME }}-docker-deb
path: build/${{ env.PACKAGE_NAME }}.deb

docker-jammy:
runs-on: ubuntu-22.04
env:
PACKAGE_NAME: python3-monero_${{ github.ref_name }}-1jammy1_amd64
steps:
- uses: actions/checkout@v1
with:
submodules: recursive
- name: free up diskspace
run: ${{env.FREE_DISKSPACE}}
- name: prepare build environment
run: docker build --tag monero-python:build-linux --build-arg THREADS=3 --file Dockerfile.jammy .
- name: build
run: docker run --rm -v /home/runner/work/monero-python/monero-python:/monero-python -w /monero-python monero-python:build-linux sh ./docker/build.sh
- uses: actions/upload-artifact@v4
with:
name: ${{ env.PACKAGE_NAME }}-docker-deb
path: build/${{ env.PACKAGE_NAME }}.deb

36 changes: 36 additions & 0 deletions Dockerfile.jammy
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
FROM ubuntu:22.04

ENV DEBIAN_FRONTEND=noninteractive

RUN apt-get update && apt-get install -y \
build-essential cmake pkg-config libssl-dev libzmq3-dev libunbound-dev libsodium-dev \
libunwind8-dev liblzma-dev libreadline6-dev libexpat1-dev libpgm-dev \
qttools5-dev-tools libhidapi-dev libusb-1.0-0-dev \
libprotobuf-dev protobuf-compiler libudev-dev \
libboost-chrono-dev libboost-date-time-dev libboost-filesystem-dev \
libboost-locale-dev libboost-program-options-dev libboost-regex-dev \
libboost-serialization-dev libboost-system-dev libboost-thread-dev \
python3 python3-pip python3-all python3-pybind11 python3-pytest \
ccache doxygen graphviz git curl autoconf libtool gperf nettle-dev libevent-dev \
debhelper bison flex wget \
&& rm -rf /var/lib/apt/lists/*

RUN pip3 install pybind11-stubgen pytest

RUN wget https://github.com/libexpat/libexpat/releases/download/R_2_4_8/expat-2.4.8.tar.bz2 \
&& tar -xf expat-2.4.8.tar.bz2 \
&& cd expat-2.4.8 \
&& ./configure --enable-static --disable-shared \
&& make -j$(nproc) && make install \
&& cd .. && rm -rf expat-2.4.8*

RUN wget https://www.nlnetlabs.nl/downloads/unbound/unbound-1.22.0.tar.gz \
&& tar xzf unbound-1.22.0.tar.gz \
&& cd unbound-1.22.0 \
&& ./configure --with-libexpat=/usr --with-ssl=/usr --enable-static-exe \
&& make -j$(nproc) && make install \
&& cd .. && rm -rf unbound-1.22.0*

RUN git config --global --add safe.directory '*'

WORKDIR /monero-python
2 changes: 1 addition & 1 deletion Dockerfile.linux → Dockerfile.noble
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ RUN apt-get update && apt-get install -y \
debhelper bison flex wget \
&& rm -rf /var/lib/apt/lists/*

RUN pip3 install pybind11-stubgen pytest --break-system-packages
RUN pip3 install pybind11-stubgen pytest --break-system-packages

RUN wget https://github.com/libexpat/libexpat/releases/download/R_2_4_8/expat-2.4.8.tar.bz2 \
&& tar -xf expat-2.4.8.tar.bz2 \
Expand Down
6 changes: 0 additions & 6 deletions debian/changelog

This file was deleted.

3 changes: 3 additions & 0 deletions debian/jammy/changelog
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
python3-monero (0.0.1-1) main; urgency=medium

-- everoddandeven <everoddandeven@protonmail.com>
File renamed without changes.
14 changes: 14 additions & 0 deletions debian/jammy/control
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
Source: python3-monero
Section: python
Priority: optional
Maintainer: everoddandeven <everoddandeven@protonmail.com>
Build-Depends: build-essential, cmake, pkg-config, debhelper, python3-all, libssl-dev, libzmq3-dev, libunbound-dev, libsodium-dev, libunwind8-dev, liblzma-dev, libreadline6-dev, libexpat1-dev, libpgm-dev, qttools5-dev-tools, libhidapi-dev, libusb-1.0-0-dev, libprotobuf-dev, protobuf-compiler, libudev-dev, libboost-chrono-dev, libboost-date-time-dev, libboost-filesystem-dev, libboost-locale-dev, libboost-program-options-dev, libboost-regex-dev libboost-serialization-dev, libboost-system-dev, libboost-thread-dev, python3, ccache, doxygen, graphviz, nettle-dev, libevent-dev, python3-pip, python3-pybind11, python3-pytest, pybind11-dev
Depends: libunbound8, libprotobuf23, libboost-chrono1.74.0, libboost-filesystem1.74.0, libboost-program-options1.74.0, libboost-regex1.74.0, libboost-serialization1.74.0, libboost-thread1.74.0, libhidapi-libusb0
Standards-Version: 4.5.0
Homepage: https://github.com/everoddandeven/monero-python
Rules-Requires-Root: no
Package: python3-monero
Architecture: amd64
Description: Python bindings for monero-cpp
This package provides Python 3 bindings for the monero-cpp library using pybind11.
Version: 0.0.1
File renamed without changes.
File renamed without changes.
File renamed without changes.
4 changes: 4 additions & 0 deletions debian/noble/changelog
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
python3-monero (0.0.1-1) main; urgency=medium

-- everoddandeven <everoddandeven@protonmail.com>

1 change: 1 addition & 0 deletions debian/noble/compat
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
11
2 changes: 1 addition & 1 deletion debian/control → debian/noble/control
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,4 @@ Package: python3-monero
Architecture: amd64
Description: Python bindings for monero-cpp
This package provides Python 3 bindings for the monero-cpp library using pybind11.
Version: 1.0.0
Version: 0.0.1
6 changes: 6 additions & 0 deletions debian/noble/copyright
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: monero-python
Source: https://github.com/everoddandeven/monero-python
Files: *
Copyright: 2025 everoddandeven
License: MIT
1 change: 1 addition & 0 deletions debian/noble/format
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
3.0 (quilt)
4 changes: 4 additions & 0 deletions debian/noble/rules
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#!/usr/bin/make -f

%:
dh $@ --buildsystem=cmake
13 changes: 8 additions & 5 deletions docker/build.sh
Original file line number Diff line number Diff line change
@@ -1,15 +1,18 @@
#!/bin/bash
set -e

PACKAGE_NAME=${PACKAGE_NAME:-python3-monero_main-1noble1_amd64}
DISTRO_CODENAME=$(grep VERSION_CODENAME /etc/os-release | cut -d'=' -f2)
BRANCH_NAME=$(git rev-parse --abbrev-ref HEAD 2>/dev/null || echo "main")

if [ -z "$DISTRO_CODENAME" ]; then
DISTRO_CODENAME=$(lsb_release -c -s 2>/dev/null || echo "unknown")
fi

PACKAGE_NAME=${PACKAGE_NAME:-python3-monero_${BRANCH_NAME}-1${DISTRO_CODENAME}1_amd64}

git submodule update --init --recursive
echo "AAAA"
ls
mkdir -p build
cd ./external/monero-cpp
echo "BBBB"
ls
./bin/build_libmonero_cpp.sh
cp build/libmonero* ../../build
cd ../../
Expand Down
Loading