Initial Commit

This commit is contained in:
Christian Tosta
2026-08-11 14:46:19 -03:00
commit 33ed3db2ba
13 changed files with 605 additions and 0 deletions
+47
View File
@@ -0,0 +1,47 @@
# SPDX-FileCopyrightText: 2026 Christian Tosta
# SPDX-License-Identifier: GPL-2.0-or-later
#
# @file CMakeLists.txt
# @brief Main CMake configuration for multi-distribution pyenv packaging.
cmake_minimum_required(VERSION 3.24)
project(pyenv-packaging NONE)
file(READ "${CMAKE_CURRENT_SOURCE_DIR}/metadata.json" METADATA_JSON)
string(JSON PYENV_VERSION GET ${METADATA_JSON} "version")
string(JSON PYENV_URL GET ${METADATA_JSON} "source_url")
string(REPLACE "\${self.version}" "${PYENV_VERSION}" PYENV_URL "${PYENV_URL}")
include(ExternalProject)
ExternalProject_Add(pyenv_upstream
URL ${PYENV_URL}
DOWNLOAD_EXTRACT_TIMESTAMP TRUE
CONFIGURE_COMMAND ""
BUILD_COMMAND ""
INSTALL_COMMAND ""
PATCH_COMMAND sh -c "find <SOURCE_DIR> \\( -name .git\\* \\) -exec rm -rf {} +"
)
set(PYENV_SRC_UPSTREAM "${CMAKE_CURRENT_BINARY_DIR}/pyenv_upstream-prefix/src/pyenv_upstream")
set(PYENV_SRC "${CMAKE_CURRENT_SOURCE_DIR}/pyenv")
add_custom_target(merge_upstream ALL
COMMAND ${CMAKE_COMMAND} -E copy_directory "${PYENV_SRC_UPSTREAM}" "${PYENV_SRC}"
DEPENDS pyenv_upstream
)
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/CPackRules.cmake)
install(DIRECTORY ${PYENV_SRC}/bin ${PYENV_SRC}/libexec ${PYENV_SRC}/plugins ${PYENV_SRC}/pyenv.d
DESTINATION ${PACKAGE_PREFIX}/share/pyenv)
install(DIRECTORY ${PYENV_SRC}/man DESTINATION ${PACKAGE_PREFIX}/share)
install(CODE "file(MAKE_DIRECTORY \"\$ENV{DESTDIR}${PACKAGE_PREFIX}/share/pyenv/versions\")")
install(CODE "file(MAKE_DIRECTORY \"\$ENV{DESTDIR}${PACKAGE_PREFIX}/share/pyenv/shims\")")
install(CODE "file(MAKE_DIRECTORY \"\$ENV{DESTDIR}${PACKAGE_PREFIX}/share/pyenv/hooks\")")
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/pyenv.sh"
DESTINATION /etc/profile.d
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)