Initial Commit
This commit is contained in:
@@ -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)
|
||||
Reference in New Issue
Block a user