From 38002cf23ee6b42f32e22429600ed901a5093908 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E2=80=9Cccb63=E2=80=9D?= <charles.ballard@stfc.ac.uk>
Date: Fri, 16 Aug 2024 12:35:57 +0100
Subject: [PATCH 1/6] [#3944] phaser_voyager code has been rearranged

---
 patches/cctbx-auto.patch | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/patches/cctbx-auto.patch b/patches/cctbx-auto.patch
index eabea784..e3d64c5b 100644
--- a/patches/cctbx-auto.patch
+++ b/patches/cctbx-auto.patch
@@ -109,6 +109,15 @@
      link: bool
        If True, symbolic links are used instead of copying.
  
+@@ -269,7 +259,7 @@
+           if module == 'boost' and src.endswith('boost'):
+             continue
+           # copy subdirectories for some modules
+-          elif module in ['phenix', 'phaser_voyager']:
++          elif module in ['phenix']:
+             if module == 'phenix':
+               src_root = dist_path
+               subdirs = ['phenix', 'wxGUI2']
 @@ -296,6 +301,20 @@
                  print('  destination: ' + dst)
                  copy_cmd(src, dst, link)
-- 
GitLab


From d68d93d06dcb75dc506f40701e60d28339a47482 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E2=80=9Cccb63=E2=80=9D?= <charles.ballard@stfc.ac.uk>
Date: Fri, 16 Aug 2024 12:41:11 +0100
Subject: [PATCH 2/6] rm all current ar archive .lib-files

---
 misc/del-dev.sh | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/misc/del-dev.sh b/misc/del-dev.sh
index c37021f7..f5e88e02 100755
--- a/misc/del-dev.sh
+++ b/misc/del-dev.sh
@@ -274,6 +274,9 @@ rmdir $inst/_jhbuild
 # large, autogenerated, unused file
 $RM $inst/lib/python3.9/site-packages/cctbx_project/scitbx/math/fliege_mayer_900_ylm.py
 
+# .lib files from msvs build
+$RM -f $(find $inst -name '*.lib' | file -f - | sed -nE 's/^([^ ]*): *current ar archive/\1/p')
+
 #tidy some library softlinks to take out clashes
 find $inst/lib -not \( -path $inst/lib/python3.9/site-packages -prune \) -type l -name '*.so' -exec $RM {} \;
 
-- 
GitLab


From 982cbadbb437aa496aa5f9e3657881f88512d6b0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E2=80=9Cccb63=E2=80=9D?= <charles.ballard@stfc.ac.uk>
Date: Fri, 16 Aug 2024 12:42:12 +0100
Subject: [PATCH 3/6] phaser_voyager, more phenix -> phaser

---
 patches/phaser-voyager-command-line.patch | 98 +++++++++++++++++++++++
 1 file changed, 98 insertions(+)

diff --git a/patches/phaser-voyager-command-line.patch b/patches/phaser-voyager-command-line.patch
index ae75eb4e..49b08b88 100644
--- a/patches/phaser-voyager-command-line.patch
+++ b/patches/phaser-voyager-command-line.patch
@@ -83,3 +83,101 @@
  sys.path.append(src)
  
  from iotbx.cli_parser import run_program
+--- phaser_voyager/README.md	2024-06-18 13:39:56.465221100 +0100
++++ phaser_voyager/README.md	2024-06-18 13:44:01.763286800 +0100
+@@ -11,44 +11,44 @@
+ wget https://raw.githubusercontent.com/cctbx/cctbx_project/master/libtbx/auto_build/bootstrap.py
+ ```
+ 
+-2) Create a directory for the phenix_voyager
++2) Create a directory for the phaser_voyager
+ 
+ ```
+-mkdir phenix_voyager
+-mv bootstrap.py phenix_voyager
+-cd phenix_voyager
++mkdir phaser_voyager
++mv bootstrap.py phaser_voyager
++cd phaser_voyager
+ ```
+ 
+ 
+-3) Install phenix_voyager with bootstrap.py
++3) Install phaser_voyager with bootstrap.py
+ 
+ ```
+-python bootstrap.py --builder=phenix_voyager --use-conda --cciuser=myuser --nproc=6 --python=37
++python bootstrap.py --builder=phaser_voyager --use-conda --cciuser=myuser --nproc=6 --python=37
+ ```
+ 
+-3.5) The first time you build phenix_voyager from scratch you should also:
++3.5) The first time you build phaser_voyager from scratch you should also:
+    - ```cd ../phaser_voyager```
+    - ```git checkout master``` #the default branch for voyager is distribution which comntain the last distributed version (not the one with the recents commits)
+-   - As you have changed some branches you need to tell phenix to recreate the links for the new programs eg.: phenix.voyager.data_driven_ensembler .
+-     If you do not know how to do that you can just redo: ``` python bootstrap.py --builder=phenix_voyager --use-conda --cciuser=myuser --nproc=6 --python=38 ```
++   - As you have changed some branches you need to tell phaser to recreate the links for the new programs eg.: phaser_voyager.data_driven_ensembler .
++     If you do not know how to do that you can just redo: ``` python bootstrap.py --builder=phaser_voyager --use-conda --cciuser=myuser --nproc=6 --python=38 ```
+      from now on (if you do not remove directories or change branches) bootstrap will update the branches and you have checkout
+ 
+ 4) Run Voyager as following:
+ 
+ ```
+-phenix.phaser.voyager --show-defaults=3
++phaser_voyager.voyager --show-defaults=3
+ ```
+ 
+ 5) When you have chosen a strategy you can:
+ 
+ ```
+-phenix.voyager.strategyname --show-defaults=3
++phaser_voyager.strategyname --show-defaults=3
+ ```
+ 
+ 6) When you have created a .phil configuration file you can:
+ 
+ ```
+-phenix.voyager.strategyname input.phil
++phaser_voyager.strategyname input.phil
+ ```
+ 
+ 7) Voyager assumes that the current directory is the working directory so run Voyager in the place where you want it can write
+@@ -58,11 +58,11 @@
+ Strategies that should be deployed are:
+ 
+ ```
+-phenix.voyager.isostructure
+-phenix.voyager.sculptor_ensembler
+-phenix.voyager.homologs
+-phenix.voyager.casp_rel_ellg
+-phenix.voyager.xtricorder
++phaser_voyager.isostructure
++phaser_voyager.sculptor_ensembler
++phaser_voyager.homologs
++phaser_voyager.casp_rel_ellg
++phaser_voyager.xtricorder
+ ```
+ 
+ 
+--- phaser_voyager/src/New_Voyager/programs/em_placement_program.py	2024-06-18 13:39:56.453352100 +0100
++++ phaser_voyager/src/New_Voyager/programs/em_placement_program.py	2024-06-18 13:44:42.276566400 +0100
+@@ -11,7 +11,7 @@
+ 
+   # Datatypes expected by program
+   datatypes = ['sequence','phil', 'model', 'real_map',]
+-  program_name = 'phenix.voyager.em_placement'
++  program_name = 'phaser_voyager.em_placement'
+ 
+   description = ''' EM Placement:  Dock a model in a cryo EM map with a likelihood target'''
+ 
+--- phaser_voyager/src/New_Voyager/programs/emplace_local.py	2024-06-18 13:39:56.450341600 +0100
++++ phaser_voyager/src/New_Voyager/programs/emplace_local.py	2024-06-18 13:44:21.762661500 +0100
+@@ -79,7 +79,7 @@
+   # Class variables are used to define basic program properties
+   description = """
+   Program to dock a model within a sphere cut out from input half-maps
+-  Usage: phenix.voyager.emplace_local map1=halfmap1.map map2=halfmap2.map
++  Usage: phaser_voyager.emplace_local map1=halfmap1.map map2=halfmap2.map
+               model_file=model.pdb sphere_center=150,140,160 d_min=3.5
+   Note: d_min is optional
+ 
-- 
GitLab


From 53b7e4a351c3cff21c2e05a240ac48bfa816e063 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E2=80=9Cccb63=E2=80=9D?= <charles.ballard@stfc.ac.uk>
Date: Fri, 16 Aug 2024 12:43:04 +0100
Subject: [PATCH 4/6] jscofe_v1.7.021

---
 ccp4.xml | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/ccp4.xml b/ccp4.xml
index 1a6cb546..426810a8 100644
--- a/ccp4.xml
+++ b/ccp4.xml
@@ -3065,10 +3065,17 @@ install intltool libfontconfig1-dev libxrender-dev
 
   <cmake id="jscofe">
     <branch repo="gitlab"
-	          module="CCP4/jsCoFE.git"
+            module="CCP4/jsCoFE.git"
             revision="release"
             checkoutdir="jscofe"
-	  />
+            tag="jscofe_v1.7.021.1"
+            version="1.7.021"
+          />
+    <!--branch repo="gitlab"
+	    module="CCP4/jsCoFE.git"
+            revision="release"
+            checkoutdir="jscofe"
+	  / -->
     <dependencies>
       <dep package="nodejs"/>
     </dependencies>
-- 
GitLab


From 990b63db38d21b751bf4af89a028f542f6f70a6d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E2=80=9Cccb63=E2=80=9D?= <charles.ballard@stfc.ac.uk>
Date: Fri, 16 Aug 2024 12:43:52 +0100
Subject: [PATCH 5/6] cctbx, use ccp4-python for tests

---
 ccp4.xml                              |  2 ++
 patches/cctbx-libtbx-test-utils.patch | 12 ++++++++++++
 2 files changed, 14 insertions(+)
 create mode 100644 patches/cctbx-libtbx-test-utils.patch

diff --git a/ccp4.xml b/ccp4.xml
index 426810a8..f08713ec 100644
--- a/ccp4.xml
+++ b/ccp4.xml
@@ -1151,6 +1151,7 @@
         <patch file="cctbx-dials-SConscript-no-autocomplete.patch" strip="0" /> <!-- @rpath issue on osx patch -->
       </if>
       <patch file="cctbx-auto.patch" strip="0" /> <!-- test-->
+      <patch file="cctbx-libtbx-test-utils.patch" strip="0" /> <!-- test-->
     </branch>
     <dependencies>
       <dep package="boost"/>
@@ -1265,6 +1266,7 @@
         <patch file="cctbx-dials-SConscript-no-autocomplete.patch" strip="0" /> <!-- @rpath issue on osx patch -->
       </if>
       <patch file="cctbx-auto.patch" strip="0" /> <!-- test-->
+      <patch file="cctbx-libtbx-test-utils.patch" strip="0" /> <!-- test-->
     </branch>
     <dependencies>
       <dep package="boost"/>
diff --git a/patches/cctbx-libtbx-test-utils.patch b/patches/cctbx-libtbx-test-utils.patch
new file mode 100644
index 00000000..df5a6862
--- /dev/null
+++ b/patches/cctbx-libtbx-test-utils.patch
@@ -0,0 +1,12 @@
+--- cctbx_project/libtbx/test_utils/__init__.py	2024-06-19 13:52:04.290736700 +0100
++++ cctbx_project/libtbx/test_utils/__init__.py	2024-06-19 13:56:16.169962100 +0100
+@@ -226,6 +226,9 @@
+       cmd=cmd.replace("libtbx.python","libtbx.python %s" %(
+          co.python_keyword_text))
+ 
++    if (os.getenv('CCP4',None) is not None):
++      cmd=cmd.replace("libtbx.python","ccp4-python")
++
+     if test_class and test_name:
+       # If the passed object contains test class and name information
+       # then attach that information to the string object.
-- 
GitLab


From d64167b887b1e63e32e17c697f584dc042c3e4f1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E2=80=9Cccb63=E2=80=9D?= <charles.ballard@stfc.ac.uk>
Date: Fri, 16 Aug 2024 12:44:50 +0100
Subject: [PATCH 6/6] phaser_voyager, horrible hack to get New_Voyager on
 modules path

---
 patches/phaser-voyager-command-line.patch | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/patches/phaser-voyager-command-line.patch b/patches/phaser-voyager-command-line.patch
index 49b08b88..7aba2665 100644
--- a/patches/phaser-voyager-command-line.patch
+++ b/patches/phaser-voyager-command-line.patch
@@ -181,3 +181,24 @@
                model_file=model.pdb sphere_center=150,140,160 d_min=3.5
    Note: d_min is optional
  
+--- phaser_voyager/__init__.py	2024-04-04 11:54:51.000000000 +0100
++++ phaser_voyager/__init__.py	2024-06-19 16:04:21.240524500 +0100
+@@ -15,7 +15,10 @@
+ from __future__ import print_function
+ from __future__ import division
+ from future.standard_library import install_aliases
+-
++import os,sys
++module_path = os.path.dirname(os.path.abspath(__file__))
++src = os.path.join(module_path, "src/")
++sys.path.append(src)
+ install_aliases()
+ 
+ __license__ = "(c) 2000-2020 Cambridge University Technical Services Ltd"
+@@ -29,4 +32,4 @@
+ __email__ = "mds83@cam.ac.uk"
+ __status__ = "Prototype"
+ 
+-__all__ = ["src"]
+\ No newline at end of file
++__all__ = ["src"]
-- 
GitLab