[MacPorts] #16055: TeXworks -- TeX previewer for Mac OS X -- uses the Qt4 GUI framework

MacPorts noreply at macports.org
Mon Jul 28 09:48:48 PDT 2008


#16055: TeXworks -- TeX previewer for Mac OS X -- uses the Qt4 GUI framework
--------------------------------------+-------------------------------------
  Reporter:  jens.traube at t-online.de  |       Owner:  macports-tickets at lists.macosforge.org
      Type:  enhancement              |      Status:  new                                  
  Priority:  Normal                   |   Milestone:  Port Submissions                     
 Component:  ports                    |     Version:  1.6.0                                
Resolution:                           |    Keywords:  tex, latex, editor, qt4              
--------------------------------------+-------------------------------------
Comment (by jens.traube at t-online.de):

 Thank you for your interest in reviewing my port file.

 To your question about Ticket #16056: You are right, Ticket #16055 depends
 on Ticket #16056. The current port file of poppler does disable the build
 of the Qt4 bindings. Also, there are a lot of dependencies unnecessary for
 TeXworks. I attached a pdf file, which shows you the port dependencies of
 poppler without any variants and the different variants I propose.

 Now to your questions about my portfile of TeXworks (I attached a revised
 portfile "Portfile_v2")



 == (1) Why is the version empty? ==

 In the subversion repository there still is no release branch. The
 "TeXworks" project is still in it's infancy, Jonathan Kew call it a pre-
 release version. As I know, he first presented it on a conference in
 Bachotek, Poland, (April 30 to May 4, 2008 -- multimedia recordings of the
 talks: [http://www.river-valley.tv/conferences/bachotex2008/]).

 I think, it would be to early to select a specific subversion revision
 number.
 Therefore, I suggest a "dynamic" version number: It consists of the date
 of the last commit and the number of that revision (HEAD). If you leave
 the variable "svn.tag" empty, you get the latest revision out of the
 subversion repository (revision "HEAD"). For instance, on my computer:

 {{{
 $ port installed TeXworks
 The following ports are currently installed:
   TeXworks @20080720_105_0 (active)
 $
 }}}


   TeXworks
 @DateOfLastCommit_NumberOfLastSVNRevision_NumberOfPortfileRevision

 Perhaps my port should be named "TeXworks-devel" ?



 == (2) revision (of portfile) should be a positive integer number ==

 I corrected my mistake. See also (5) "What is the purpose of the post-
 fetch phase?"



 == (3) The homepage should be only one URL ==

 Unil now, I did not know of an option "gohome", because in the man page of
 "port" it is not mentioned. I corrected my mistake and put the second web
 address into the long description.



 == (4) svn arguments ==

 The synopsis of the svn checkout command is:

    svn checkout URL[@REV]... [PATH]

 The manual of svn tells that, if "PATH" is omitted, the basename of the
 URL will be used as the destination. The URL of TeXworks is:

 svn.url  http://texworks.googlecode.com/svn/trunk/

 Therefore, the svn command would create a directory named "trunk". This is
 ok, and "svn.post_args-append" is really not necessary. But the variable
 "worksrcdir" must be set to this name: "trunk". The default value of
 variable "worksrcdir" is ${distname}, which is undefined with a svn fetch,
 I think.

 Also "svn.pre_args-append" is not necessary, but in the debug mode of
 macports the checkout procedure echoes all transmitted file names to the
 standard output.



 == (5) What is the purpose of the post-fetch phase? ==

 The purpose is to make the missing value of variable "version". It is the
 "dynamic" version number of TeXworks, about what I told you under (1) "Why
 is the version empty?".

 The first line is to get the info about the working copy from the
 subversion repository, formatted in xml. The second and third line parses
 this text for subversion revision number and the date of last commit. The
 fourth line makes the value of variable "version". MacPorts appends the
 svn revision.

 During this writing, I discovered an error: I named the variable for the
 subversion revision "revision", but this name has already been given for
 the variable, which takes the revision number of the portfile.


 == (6) Don't use `cd` in the Portfile ==

 But it is necessary to change to the directory ${worksrcpath}, what else
 can I do?

 I made the following test in "post-patch":

 {{{
     puts [pwd]
     cd ${worksrcpath}
     puts [pwd]
 }}}

 The first "puts" command outputs the path to the portfile of port
 "hunspell", one of the needed ports for TeXworks.



 == (7) Is this code for determining MACOSX_DEPLOYMENT_TARGET really
 needed? ==

 Once again, I made a test in "post-patch":

 {{{
     puts "----------------------------------"
     puts [option {macosx_deployment_target}]
     puts "----------------------------------"
 }}}

 It outputs nothing, is there something wrong with my test?



 == (8) Wouldn't it be easier to use a patch and a few reinplaces instead
 of this long post-patch phase? ==
 I am not sure about that. My first attempt was to provide a patch file,
 but then I have doubts about this approach. The file "TeXworks.pro" is
 subject to changes. Until now, there is no certain release of TeXworks,
 and therefore no binding of source release version and corresponding patch
 files.



 == (9) There should be no need to use system to copy the TexWorks.app, you
 can use `file copy` ==

 You are right, I edited it.



 == (10) Please file a separate ticket for the wrong paths in the pkg-
 config files for qt4-mac as this needs to be fixed. Would be good to add a
 ticket number for reference so this workaround can be removed once it is
 fixed. ==

 See Ticket #16120

-- 
Ticket URL: <http://trac.macports.org/ticket/16055#comment:5>
MacPorts <http://www.macports.org/>
Ports system for Mac OS


More information about the macports-tickets mailing list