aboutsummaryrefslogtreecommitdiffstats
path: root/science/linux-ai-ml-env
diff options
context:
space:
mode:
Diffstat (limited to 'science/linux-ai-ml-env')
-rw-r--r--science/linux-ai-ml-env/Makefile71
-rw-r--r--science/linux-ai-ml-env/distinfo10
-rw-r--r--science/linux-ai-ml-env/files/redundant-items.txt8
-rw-r--r--science/linux-ai-ml-env/pkg-message2
4 files changed, 61 insertions, 30 deletions
diff --git a/science/linux-ai-ml-env/Makefile b/science/linux-ai-ml-env/Makefile
index 4053a20d88c0..e4dc732a75ab 100644
--- a/science/linux-ai-ml-env/Makefile
+++ b/science/linux-ai-ml-env/Makefile
@@ -1,12 +1,12 @@
PORTNAME= ai-ml-env
-PORTVERSION= 1.0.0
+PORTVERSION= 1.0.1
CATEGORIES= science linux
MASTER_SITES= https://arrowd.name/
PKGNAMEPREFIX= linux-
DISTFILES= miniconda3.tar.gz
-DIST_SUBDIR= ${PORTNAME}
+DIST_SUBDIR= ${PORTNAME}-${PORTVERSION}
-MAINTAINER= voxnod@gmail.com
+MAINTAINER= arrowd@FreeBSD.org
COMMENT= Linux Python environment for running Stable Diffusion models and PyTorch CUDA examples
ONLY_FOR_ARCHS= amd64
@@ -16,11 +16,9 @@ LICENSE_NAME= Multiple licenses
LICENSE_TEXT= The package contains multiple packages with different licenses
LICENSE_PERMS= dist-mirror pkg-mirror auto-accept
-FETCH_DEPENDS= linux_base-rl9>=9.2:emulators/linux_base-rl9
BUILD_DEPENDS= linux-rl9-devtools>=0:devel/linux-rl9-devtools
-RUN_DEPENDS= linux-nvidia-libs>=0:x11/linux-nvidia-libs \
- linux-rl9-python${PYTHON_SUFFIX}>=0:lang/linux-rl9-python3 \
- nvidia-driver>=0:x11/nvidia-driver
+RUN_DEPENDS= linux-rl9-python${PYTHON_SUFFIX}>=0:lang/linux-rl9-python3 \
+ ${NVIDIA_DEPS}
USES= linux:rl9
USE_LINUX_PREFIX= yes
@@ -30,36 +28,61 @@ GH_PROJECT= examples:examples
GH_TAGNAME= 5dfeb46902baf444010f2f54bcf4dfbea109ae4d:examples
WRKSRC= ${WRKSRC_examples}
+MAKEDIST_WRKSRC=${WRKDIR}/makedist
SUB_FILES= ai-ml-env-bash \
ai-ml-env-python
SUB_LIST= LOCALBASE=${LOCALBASE} \
LINUXBASE=${LINUXBASE}
-PLIST_SUB+= PYTHON_SUFFIX=${PYTHON_SUFFIX} \
+PLIST_SUB= PYTHON_SUFFIX=${PYTHON_SUFFIX} \
PYTHON_VER=${PYTHON_VER}
-CONDA_VERSION= py39_25.1.1-2
+CONDA_VERSION= py${PYTHON_SUFFIX}_25.9.1-1
CONDA_SCRIPT= Miniconda3-${CONDA_VERSION}-Linux-x86_64.sh
PYTHON_SUFFIX= 39
PYTHON_VER= 3.9
DATA_DIR= ${LOCALBASE}/share/${PORTNAME}
-create-distfile:
- ${MKDIR} ${DISTDIR}/${DIST_SUBDIR}
- cd ${DISTDIR}/${DIST_SUBDIR} && \
- fetch -a -v https://repo.anaconda.com/miniconda/${CONDA_SCRIPT}
- @if [ ! -d "${DISTDIR}/${DIST_SUBDIR}/miniconda3/envs/pytorch" ]; then \
- ${ECHO_MSG} "Miniconda environment 'pytorch' not found. Setting up..."; \
- ${SETENV} HOME=${DISTDIR}/${DIST_SUBDIR} ${SH} ${DISTDIR}/${DIST_SUBDIR}/${CONDA_SCRIPT} -b -s; \
- ${DISTDIR}/${DIST_SUBDIR}/miniconda3/bin/conda create --name pytorch python=${PYTHON_VER} -y; \
- ${LINUXBASE}/bin/bash -c "source ${DISTDIR}/${DIST_SUBDIR}/miniconda3/etc/profile.d/conda.sh && \
- conda activate pytorch && \
- pip install -r ${FILESDIR}/requirements.txt"; \
- fi
- cd ${DISTDIR}/${DIST_SUBDIR} && \
- tar -czf miniconda3.tar.gz miniconda3
- ${MAKE} makesum
+OPTIONS_DEFINE= NVIDIA_DEVEL
+
+NVIDIA_DEVEL_DESC= Depend on x11/nvidia-driver-devel instead of the stable version
+
+.include <bsd.port.options.mk>
+
+.if ${PORT_OPTIONS:MNVIDIA_DEVEL}
+NVIDIA_DEPS= linux-nvidia-libs-devel>=0:x11/linux-nvidia-libs-devel \
+ nvidia-driver-devel>=0:x11/nvidia-driver-devel
+.else
+NVIDIA_DEPS= linux-nvidia-libs>=0:x11/linux-nvidia-libs \
+ nvidia-driver>=0:x11/nvidia-driver
+.endif
+
+makedist:
+ @${MKDIR} ${MAKEDIST_WRKSRC}
+ @${ECHO_MSG} "Setting up Miniconda 'pytorch' environment"
+ cd ${MAKEDIST_WRKSRC} && \
+ ${FETCH_CMD} -a -v https://repo.anaconda.com/miniconda/${CONDA_SCRIPT}
+
+ ${SETENV} HOME=${MAKEDIST_WRKSRC} CONDA_OVERRIDE_GLIBC=2.28 \
+ ${SH} ${MAKEDIST_WRKSRC}/${CONDA_SCRIPT} -b -s
+
+ ${SETENV} HOME=${MAKEDIST_WRKSRC} ${SH} -c \
+ "${MAKEDIST_WRKSRC}/miniconda3/bin/conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/main && \
+ ${MAKEDIST_WRKSRC}/miniconda3/bin/conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/r && \
+ ${MAKEDIST_WRKSRC}/miniconda3/bin/conda create --name pytorch python=${PYTHON_VER} -y"
+
+ ${LINUXBASE}/bin/bash -c \
+ "source ${MAKEDIST_WRKSRC}/miniconda3/etc/profile.d/conda.sh && \
+ conda activate pytorch && \
+ pip install -r ${FILESDIR}/requirements.txt"
+
+ cd ${MAKEDIST_WRKSRC} && \
+ tar -czf /tmp/miniconda3.tar.gz miniconda3
+ @cd /tmp \
+ && sha256 miniconda3.tar.gz \
+ && ${ECHO_CMD} -n "SIZE (${DIST_SUBDIR}/miniconda3.tar.gz) = " \
+ && ${STAT} -f %z miniconda3.tar.gz
do-build:
/compat/linux/bin/cc --sysroot=/compat/linux -m64 -std=c99 -Wall -ldl -fPIC -shared -o ${WRKDIR}/dummy-uvm.so ${FILESDIR}/uvm_ioctl_override.c
diff --git a/science/linux-ai-ml-env/distinfo b/science/linux-ai-ml-env/distinfo
index eba6ad95a915..ff6dd1918a87 100644
--- a/science/linux-ai-ml-env/distinfo
+++ b/science/linux-ai-ml-env/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1742925172
-SHA256 (ai-ml-env/miniconda3.tar.gz) = 1d9eb42dd753f462f4ccd82ab7716561b90274eeaa45254fd50b879bb09537b7
-SIZE (ai-ml-env/miniconda3.tar.gz) = 3511877484
-SHA256 (ai-ml-env/pytorch-examples-5dfeb46902baf444010f2f54bcf4dfbea109ae4d_GH0.tar.gz) = a024b134dfd1edba649289e551a0cd85bd22424dd76df4303b280e20757a602c
-SIZE (ai-ml-env/pytorch-examples-5dfeb46902baf444010f2f54bcf4dfbea109ae4d_GH0.tar.gz) = 7298483
+TIMESTAMP = 1742925173
+SHA256 (ai-ml-env-1.0.1/miniconda3.tar.gz) = caabf9a12acd61912a10a32e690283137e15dff2617fdd701ff9f695dc7a4d5c
+SIZE (ai-ml-env-1.0.1/miniconda3.tar.gz) = 3584426356
+SHA256 (ai-ml-env-1.0.1/pytorch-examples-5dfeb46902baf444010f2f54bcf4dfbea109ae4d_GH0.tar.gz) = a024b134dfd1edba649289e551a0cd85bd22424dd76df4303b280e20757a602c
+SIZE (ai-ml-env-1.0.1/pytorch-examples-5dfeb46902baf444010f2f54bcf4dfbea109ae4d_GH0.tar.gz) = 7298483
diff --git a/science/linux-ai-ml-env/files/redundant-items.txt b/science/linux-ai-ml-env/files/redundant-items.txt
index 54795ebaf9d0..3563b304e27b 100644
--- a/science/linux-ai-ml-env/files/redundant-items.txt
+++ b/science/linux-ai-ml-env/files/redundant-items.txt
@@ -1,4 +1,11 @@
bin/2to3-3.9
+bin/bunzip2
+bin/bzcat
+bin/bzdiff
+bin/bzgrep
+bin/bzip2
+bin/bzip2recover
+bin/bzmore
bin/c_rehash
bin/clear
bin/idle3.9
@@ -23,6 +30,7 @@ bin/tset
bin/wheel
bin/wish8.6
bin/x86_64-conda-linux-gnu-ld
+bin/xmlwf
bin/xz
bin/xzdec
bin/xzdiff
diff --git a/science/linux-ai-ml-env/pkg-message b/science/linux-ai-ml-env/pkg-message
index 4c744748c5c5..e8f01bd37e44 100644
--- a/science/linux-ai-ml-env/pkg-message
+++ b/science/linux-ai-ml-env/pkg-message
@@ -9,7 +9,7 @@ To play with Stable Diffusion copy it to a user-writable directory, edit at will
and launch it via ai-ml-env-python:
cp /usr/local/share/ai-ml-env/stable-diffusion-sample.py ~/
- ai-ml-env-python stable-diffusion-sample.py
+ ai-ml-env-python ~/stable-diffusion-sample.py
This will download data packages into ~/.cache/huggingface/hub/ during the
first-time run.