diff --git a/science/linux-ai-ml-env/Makefile b/science/linux-ai-ml-env/Makefile index e4dc732a75ab..8b50992f0770 100644 --- a/science/linux-ai-ml-env/Makefile +++ b/science/linux-ai-ml-env/Makefile @@ -1,122 +1,125 @@ PORTNAME= ai-ml-env -PORTVERSION= 1.0.1 +PORTVERSION= 1.0.2 CATEGORIES= science linux MASTER_SITES= https://arrowd.name/ PKGNAMEPREFIX= linux- DISTFILES= miniconda3.tar.gz DIST_SUBDIR= ${PORTNAME}-${PORTVERSION} MAINTAINER= arrowd@FreeBSD.org COMMENT= Linux Python environment for running Stable Diffusion models and PyTorch CUDA examples ONLY_FOR_ARCHS= amd64 LICENSE= MULTI LICENSE_NAME= Multiple licenses LICENSE_TEXT= The package contains multiple packages with different licenses LICENSE_PERMS= dist-mirror pkg-mirror auto-accept -BUILD_DEPENDS= linux-rl9-devtools>=0:devel/linux-rl9-devtools +BUILD_DEPENDS= gmd5sum:sysutils/coreutils \ + linux-rl9-devtools>=0:devel/linux-rl9-devtools RUN_DEPENDS= linux-rl9-python${PYTHON_SUFFIX}>=0:lang/linux-rl9-python3 \ ${NVIDIA_DEPS} USES= linux:rl9 USE_LINUX_PREFIX= yes USE_GITHUB= nodefault GH_ACCOUNT= pytorch:examples GH_PROJECT= examples:examples GH_TAGNAME= 5dfeb46902baf444010f2f54bcf4dfbea109ae4d:examples WRKSRC= ${WRKSRC_examples} MAKEDIST_WRKSRC=${WRKDIR}/makedist +BINARY_ALIAS= md5sum=gmd5sum + SUB_FILES= ai-ml-env-bash \ ai-ml-env-python SUB_LIST= LOCALBASE=${LOCALBASE} \ LINUXBASE=${LINUXBASE} PLIST_SUB= PYTHON_SUFFIX=${PYTHON_SUFFIX} \ PYTHON_VER=${PYTHON_VER} 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} OPTIONS_DEFINE= NVIDIA_DEVEL NVIDIA_DEVEL_DESC= Depend on x11/nvidia-driver-devel instead of the stable version .include .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: +makedist: create-binary-alias @${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 \ + ${SETENV} HOME=${MAKEDIST_WRKSRC} PATH=${PATH} 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 + ${LINUXBASE}/bin/cc --sysroot=/compat/linux -m64 -std=c99 -Wall -ldl -fPIC -shared -o ${WRKDIR}/dummy-uvm.so ${FILESDIR}/uvm_ioctl_override.c do-install: @${FIND} ${WRKSRC} -name '*.orig' -delete # Install Linux Python packages ${MKDIR} ${STAGEDIR}${PREFIX}/usr/bin ${FIND} ${WRKDIR}/miniconda3/envs/pytorch/bin -type f -exec ${CP} {} ${STAGEDIR}${PREFIX}/usr/bin \; ${MKDIR} ${STAGEDIR}${PREFIX}/usr/lib/python${PYTHON_VER} ${CP} -r ${WRKDIR}/miniconda3/envs/pytorch/lib/python${PYTHON_VER}/site-packages ${STAGEDIR}${PREFIX}/usr/lib/python${PYTHON_VER} for item in `cat ${FILESDIR}/redundant-items.txt`; do \ ${RM} -r ${STAGEDIR}${PREFIX}/usr/$$item; \ done ${FIND} ${STAGEDIR}${PREFIX}/usr/bin -type f -exec ${REINPLACE_CMD} -i '' 's|^#!.*/miniconda3/envs/pytorch/bin/python|#!/bin/python3|' {} + # Install Shkhln's lib ${MKDIR} ${STAGEDIR}${DATADIR} ${INSTALL_LIB} ${WRKDIR}/dummy-uvm.so ${STAGEDIR}${DATADIR} # Install Pytorch examples ${MKDIR} ${STAGEDIR}${DATA_DIR}/pytorch-examples cd ${WRKSRC} && \ ${COPYTREE_SHARE} . ${STAGEDIR}${DATA_DIR}/pytorch-examples ${RM} -r ${STAGEDIR}${DATA_DIR}/pytorch-examples/.github ${INSTALL_SCRIPT} ${WRKSRC}/run_python_examples.sh ${STAGEDIR}${DATA_DIR}/pytorch-examples # Install Stable Diffusion sample ${INSTALL_DATA} ${FILESDIR}/stable-diffusion-sample.py ${STAGEDIR}${DATA_DIR} # Install demonstration scripts ${MKDIR} ${STAGEDIR}${LOCALBASE}/bin ${INSTALL_SCRIPT} ${WRKDIR}/ai-ml-env-bash ${STAGEDIR}${LOCALBASE}/bin/ai-ml-env-bash ${INSTALL_SCRIPT} ${WRKDIR}/ai-ml-env-python ${STAGEDIR}${LOCALBASE}/bin/ai-ml-env-python post-install: @${FIND} ${STAGEDIR}${PREFIX}/usr/lib/python${PYTHON_VER} -type f | sed -e 's|${STAGEDIR}${PREFIX}/||' >> ${TMPPLIST} @${FIND} ${STAGEDIR}${DATA_DIR}/pytorch-examples -type f | sed -e 's|${STAGEDIR}||' >> ${TMPPLIST} @${FIND} ${STAGEDIR}${DATA_DIR} -type d | sed -e 's|${STAGEDIR}|@dir |' >> ${TMPPLIST} .include diff --git a/science/linux-ai-ml-env/distinfo b/science/linux-ai-ml-env/distinfo index ff6dd1918a87..5e5bd59f3c77 100644 --- a/science/linux-ai-ml-env/distinfo +++ b/science/linux-ai-ml-env/distinfo @@ -1,5 +1,5 @@ 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 +SHA256 (ai-ml-env-1.0.2/miniconda3.tar.gz) = aa95a1125b9082e40fa4ffd32c4f0c85f3fee4a3bc3802aa72b28b5ade22ccc9 +SIZE (ai-ml-env-1.0.2/miniconda3.tar.gz) = 4453086806 +SHA256 (ai-ml-env-1.0.2/pytorch-examples-5dfeb46902baf444010f2f54bcf4dfbea109ae4d_GH0.tar.gz) = a024b134dfd1edba649289e551a0cd85bd22424dd76df4303b280e20757a602c +SIZE (ai-ml-env-1.0.2/pytorch-examples-5dfeb46902baf444010f2f54bcf4dfbea109ae4d_GH0.tar.gz) = 7298483 diff --git a/science/linux-ai-ml-env/files/requirements.txt b/science/linux-ai-ml-env/files/requirements.txt index 89aaddb5a303..9f5f8795cbfe 100644 --- a/science/linux-ai-ml-env/files/requirements.txt +++ b/science/linux-ai-ml-env/files/requirements.txt @@ -1,56 +1,56 @@ -accelerate==1.4.0 -certifi==2025.1.31 -charset-normalizer==3.4.1 -cloudpickle==3.1.1 -contourpy==1.3.0 -cycler==0.12.1 -diffusers==0.32.2 -filelock==3.17.0 -fonttools==4.56.0 -fsspec==2025.3.0 -gym==0.26.2 -gym-notices==0.0.8 -huggingface-hub==0.29.3 -idna==3.10 -importlib_metadata==8.6.1 -importlib_resources==6.5.2 -Jinja2==3.1.6 -kiwisolver==1.4.7 -MarkupSafe==3.0.2 -matplotlib==3.9.4 -mpmath==1.3.0 -networkx==3.2.1 -numpy==2.0.2 -nvidia-cublas-cu12==12.4.5.8 -nvidia-cuda-cupti-cu12==12.4.127 -nvidia-cuda-nvrtc-cu12==12.4.127 -nvidia-cuda-runtime-cu12==12.4.127 -nvidia-cudnn-cu12==9.1.0.70 -nvidia-cufft-cu12==11.2.1.3 -nvidia-curand-cu12==10.3.5.147 -nvidia-cusolver-cu12==11.6.1.9 -nvidia-cusparse-cu12==12.3.1.170 -nvidia-cusparselt-cu12==0.6.2 -nvidia-nccl-cu12==2.21.5 -nvidia-nvjitlink-cu12==12.4.127 -nvidia-nvtx-cu12==12.4.127 -packaging==24.2 -pillow==11.1.0 -psutil==7.0.0 -pyparsing==3.2.1 -python-dateutil==2.9.0.post0 -PyYAML==6.0.2 -regex==2024.11.6 -requests==2.32.3 -safetensors==0.5.3 -six==1.17.0 -sympy==1.13.1 -tokenizers==0.21.0 -torch==2.6.0 -torchvision==0.21.0 -tqdm==4.67.1 -transformers==4.49.0 -triton==3.2.0 -typing_extensions==4.12.2 -urllib3==2.3.0 -zipp==3.21.0 +accelerate +certifi +charset-normalizer +cloudpickle +contourpy +cycler +diffusers +filelock +fonttools +fsspec +gym +gym-notices +huggingface-hub +idna +importlib_metadata +importlib_resources +Jinja2 +kiwisolver +MarkupSafe +matplotlib +mpmath +networkx +numpy +nvidia-cublas-cu12 +nvidia-cuda-cupti-cu12 +nvidia-cuda-nvrtc-cu12 +nvidia-cuda-runtime-cu12 +nvidia-cudnn-cu12 +nvidia-cufft-cu12 +nvidia-curand-cu12 +nvidia-cusolver-cu12 +nvidia-cusparse-cu12 +nvidia-cusparselt-cu12 +nvidia-nccl-cu12 +nvidia-nvjitlink-cu12 +nvidia-nvtx-cu12 +packaging +pillow +psutil +pyparsing +python-dateutil +PyYAML +regex +requests +safetensors +six +sympy +tokenizers +torch +torchvision +tqdm +transformers +triton +typing_extensions +urllib3 +zipp