sheepy

build system (sheepy) and package manager (spm) for C
git clone https://spartatek.se/git/sheepy.git
Log | Files | Refs | README | LICENSE

spm.h (1769B)


      1 
      2 #define REGISTRY        "https://sheepyregistry.com"
      3 //#define REGISTRY        "https://127.0.0.1:8888"
      4 
      5 #define UPLOAD_PKG_ZIP  "cd .. ; tar -cf $NAME$.tar --exclude-vcs --exclude-vcs-ignores --exclude=shpPackages $NAME$; pigz -9 $NAME$.tar ; curl -k -F \"n=$NAME$\" -F \"v=$VERSION$\" -F \"k=$KEY$\" -F \"inf=@$NAME$/package.yml\" -F \"pkg=@$NAME$.tar.gz\" " REGISTRY "/op ; rm $NAME$.tar.gz"
      6 
      7 #define DOWNLOAD_PKG         "curl -s -k -o $$.tar.gz \"" REGISTRY "/op?n=$$\""
      8 #define DOWNLOAD_PKG_VERSION "curl -s -k -o $NAME$.tar.gz \"" REGISTRY "/op?n=$NAME$&v=$VERSION$\""
      9 
     10 #define EXTRACT_PKG     "unpigz $$.tar.gz ; tar -xf $$.tar ; rm $$.tar"
     11 
     12 #define BUILD_PKG       "cd N ; sheepy -l B ; sheepy -c B"
     13 #define BUILD_EXEONLY   "cd N ; sheepy -c B"
     14 
     15 #define DELETE_PKG      "cd N ; sheepy -d B"
     16 
     17 #define INSTALL_COMMAND "cd ../bin ; ln -s ../$PACKAGE_DIR$/$name$/$bin$"
     18 
     19 #define API_REQUEST "curl -s -k -F json=@$JSONFILE$ " REGISTRY "/api"
     20 
     21 
     22 // generatedPackageList is used to detect if the metapackages were listed on the command line
     23 // when generatedPackageList=0, if a metapackage is to be installed then it was on the command line and the dependencies should be updated
     24 
     25 typedef struct {
     26   int new;
     27   int add;
     28   int global;
     29   int publish;
     30   int install;
     31   int uninstall;
     32   int test;
     33   int memcheck;
     34   int showmcheck;
     35   int asan;
     36   int showasan;
     37   int doc;
     38   int show;
     39   int update;
     40   int find;
     41   int top;
     42   int hot;
     43   int latest;
     44   int whoami;
     45   int profile;
     46   int unpublish;
     47   int info;
     48   int adduser;
     49   int apikey;
     50   int generatedPackageList;
     51 } paramst;
     52 
     53 paramst params = init0Var;
     54 
     55 typedef struct {
     56   bool         isGlobal;
     57   smallDictt   *cfgD;
     58   smallStringt *o;
     59   bool         pigz;
     60 } installArgst;
     61 
     62 // bug in cg_c
     63 #define spmAssign(r, func) r = func